body{background:#f6f7f2}.builder-wrap{max-width:1160px;margin:auto;padding:44px 22px 80px}.builder-intro{text-align:center;margin-bottom:35px}.builder-intro h1{font:700 clamp(46px,6vw,76px)/1.02 Georgia,serif;color:#183b2e;margin:15px 0}.builder-intro em{color:#b58b3e}.builder-intro p{color:#64756b;max-width:640px;margin:0 auto;line-height:1.65}.builder-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:22px;align-items:start}.builder-card{background:#fff;border:1px solid #e0e6dd;border-radius:22px;padding:32px;box-shadow:0 15px 55px #173e2410}.step-title{display:flex;align-items:center;gap:14px;margin:10px 0 20px}.step-title:not(:first-child){margin-top:34px;padding-top:28px;border-top:1px solid #e7ebe6}.step-number{background:#183b2e;color:#f4d58d;border-radius:12px;padding:12px;font-weight:800}.step-title h2{font:700 24px Georgia,serif;color:#183b2e;margin:0 0 3px}.step-title p{margin:0;color:#76877a;font-size:13px}.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dest-option{cursor:pointer}.dest-option input{position:absolute;opacity:0}.dest-option span{border:2px solid #e1e8df;border-radius:13px;padding:18px 9px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:27px;text-align:center;min-height:130px}.dest-option strong{font-size:14px;color:#244533}.dest-option small{font-size:11px;color:#758479}.dest-option input:checked+span{border-color:#ad8339;background:#fff9e9;box-shadow:0 0 0 2px #e9d9b1}.dest-option input:focus-visible+span{outline:3px solid #b58b3e}.builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.builder-fields label{font-weight:750;font-size:13px;color:#254636}.builder-fields input,.builder-fields select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #d1ddd2;border-radius:10px;background:#fff;font:inherit;color:#254636;box-sizing:border-box}.builder-checks{display:flex;gap:10px;flex-wrap:wrap}.builder-checks label{background:#f1f5f0;border:1px solid #e1e9df;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:650}.build-btn{margin-top:30px;width:100%;background:#1b4938;color:white;border:0;border-radius:12px;padding:18px;font-weight:800;font-size:17px;cursor:pointer;display:flex;justify-content:space-between}.build-btn:hover{background:#286448}.builder-footnote{font-size:12px;color:#758479;text-align:center}.builder-side{border-radius:20px;overflow:hidden;background:#173c2e;color:#fff}.side-art{min-height:355px;padding:32px;position:relative;background:radial-gradient(circle at 85% 80%,#437e60,#15382b 65%)}.side-art>span{font-size:11px;letter-spacing:3px;color:#e2c481}.side-art h2{font:700 38px/1.15 Georgia,serif;margin:42px 0}.side-ball{font-size:90px;position:absolute;right:20px;bottom:14px}.side-points{padding:22px 28px}.side-points p{font-size:13px;color:#e5eee6;margin:14px 0}.collections{margin-top:55px}.collections h2{font:700 32px Georgia,serif;color:#193d2d}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collection-grid button{background:#fff;border:1px solid #dfe7dc;border-radius:14px;text-align:left;padding:24px;display:flex;flex-direction:column;gap:12px;font-size:25px;cursor:pointer}.collection-grid strong{font:700 21px Georgia,serif;color:#193d2d}.collection-grid span{font-size:12px;color:#6e806f}@media(max-width:820px){.builder-layout{grid-template-columns:1fr}.builder-side{display:none}.builder-card{padding:22px}.collection-grid{grid-template-columns:1fr}}@media(max-width:440px){.dest-grid{gap:5px}.dest-option span{padding:14px 3px;min-height:120px}.dest-option strong{font-size:12px}.dest-option small{font-size:10px}.builder-fields{grid-template-columns:1fr}.builder-wrap{padding:25px 13px}}
/* V39: expanded destination and course selection */
.dest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dest-option span{min-height:112px;padding:13px 7px}.dest-option small{line-height:1.35}.course-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.course-choice{display:flex;align-items:flex-start;gap:9px;border:1px solid #dce6dd;padding:12px;border-radius:10px;font-size:13px;color:#193d2d;cursor:pointer}.course-choice input{margin-top:3px;accent-color:#1b4938}.course-choice small{display:block;font-size:11px;color:#64756b;margin-top:4px}.course-help{grid-column:1/-1;font-size:12px;color:#596e5d;margin:0 0 5px}.builder-notice{background:#fff8e7;border:1px solid #d7b778;color:#513d17;padding:12px;border-radius:10px;margin-top:12px;font-size:13px;line-height:1.5}@media(max-width:600px){.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-picker{grid-template-columns:1fr}.dest-option span{min-height:105px}}

/* V39.2: make pricing limitation legible on all viewports */
.budget-disclosure{margin:16px 0;padding:14px 16px;background:#fff8e8;border:1px solid #c5a66a;border-radius:10px;color:#243c31;font-size:14px;line-height:1.55}.budget-disclosure strong{color:#173d30}

/* V39.3: readable selections, keyboard navigation and mobile layout */
.course-choice:focus-within,.dest-option:focus-within span{outline:3px solid #b58b3e;outline-offset:2px}
.course-choice:has(input:checked){border-color:#a98032;background:#fff8e7}
.builder-checks input{accent-color:#1b4938}
@media(max-width:380px){.dest-grid{grid-template-columns:1fr 1fr}.dest-option span{min-height:98px}.builder-card{padding:16px}.builder-intro h1{font-size:42px}}

/* V40: budget preview */
.builder-price-preview{margin:20px 0;padding:20px;border-radius:14px;background:#f5f2e8;color:#183e30;border:1px solid #d5c9ad;font:15px/1.5 system-ui,sans-serif}.builder-price-preview h3{font-size:20px;margin:0 0 8px;color:#173f30}.builder-price-preview p{color:#385447;margin:8px 0}.price-lines{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:14px 0}.price-lines b{text-align:right}.price-total{border-top:1px solid #d5c9ad;padding:9px 0;display:flex;justify-content:space-between;gap:10px}.price-total strong{font-size:20px;color:#173f30}.builder-price-preview .price-warning{color:#943c20;font-weight:700}@media(max-width:600px){.builder-price-preview{padding:14px}.price-total strong{font-size:18px}}
