
.product-hero{background:linear-gradient(145deg,#f5f2e8,#eaf0e7);padding:58px 0 66px}
.crumb{color:#517367;font-size:13px;font-weight:750;margin-bottom:24px;display:block}
.crumb:hover{text-decoration:underline}.product-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:48px}
.product-cover{position:sticky;top:114px;background:#fefcf5;border:1px solid #d7e4d8;border-radius:13px;padding:18px;box-shadow:0 22px 58px #183c3420}
.product-cover img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:7px}
.cover-caption{font-size:12px;color:#6c796e;text-align:center;margin:12px 0 0}.product-copy h1{font:400 clamp(41px,4.3vw,62px)/1.07 Georgia,Palatino,serif;color:var(--pine);margin:8px 0 17px;letter-spacing:-.035em}
.product-tagline{font:italic 24px/1.35 Georgia,serif;color:#a46b69;margin:0 0 18px}.product-intro{font-size:16px;color:#4e665c;line-height:1.78;margin-bottom:22px}
.product-price{display:flex;gap:16px;align-items:baseline;margin:20px 0 23px}.product-price b{font:600 42px Georgia,serif;color:var(--pine)}.product-price span{font-size:12px;color:#6b7b70;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.buy-area{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.buy-area .btn{min-width:190px}.purchase-tip{font-size:12px;color:#5b7066;line-height:1.65;padding:12px 15px;border-left:3px solid #bd817a;background:#fffaf0}
.product-details{padding:62px 0}.detail-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}.product-section h2{font:400 37px/1.18 Georgia,serif;color:var(--pine);margin:0 0 16px}.product-section p{color:#566b60;font-size:14px}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}.check-list li{padding:13px 15px 13px 43px;position:relative;background:#fffdf8;border:1px solid #e4eae1;border-radius:7px;font-size:14px;line-height:1.6;color:#3d594e}.check-list li:before{content:'✓';position:absolute;left:15px;top:12px;color:#4f8175;font-weight:900;font-size:18px}
.product-aside{background:#f2f4ed;border:1px solid #e1e7dd;border-radius:10px;padding:27px;align-self:start}.product-aside h3{font:400 28px Georgia,serif;color:var(--pine);margin:0 0 12px}.product-aside p{font-size:14px;line-height:1.75;color:#607368}.product-aside .small-print{font-size:12px;border-top:1px solid #cddacf;padding-top:15px;margin-top:18px}
.route-section{background:#e9f0e9;padding:64px 0}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.route-step{background:#fffdf9;border:1px solid #dce6dc;border-radius:8px;padding:19px}.route-step .dayno{letter-spacing:.2em;font-size:11px;font-weight:900;color:#b27774}.route-step h3{font:400 23px Georgia,serif;color:var(--pine);margin:10px 0 7px}.route-step p{font-size:13px;color:#607368;margin:0}
.addons-preview{padding:68px 0;background:#fbf6ec}.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.addon-card{border-radius:9px;border:1px solid #dfE5da;background:white;padding:22px}.addon-card strong{color:var(--pine);font-size:16px;display:block;margin-bottom:5px}.addon-card .amount{font:400 29px Georgia,serif;color:#1d544b}.addon-card p{color:#65766d;font-size:13px;margin:8px 0 0}.addon-note{font-size:12px;color:#67766f;margin-top:20px;max-width:850px}.fixed-price{border-top:1px solid #dce4d8;margin-top:12px;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700}
@media(max-width:960px){.product-grid{gap:27px}.product-copy h1{font-size:clamp(35px,5vw,47px)}.route-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.product-hero{padding:29px 0 45px}.product-grid,.detail-columns{grid-template-columns:1fr}.product-cover{position:static;max-width:480px;margin:auto}.product-copy h1{font-size:43px}.product-tagline{font-size:22px}.product-details{padding:45px 0}.route-section{padding:47px 0}.route-grid,.addons-grid{grid-template-columns:1fr}.addons-preview{padding:47px 0}.buy-area{flex-direction:column}.buy-area .btn{width:100%}}

/* v4: integrated cart primary action / Payhip listing text fallback */
.product-textlink{display:inline-block;color:#346e61;font-size:13px;text-underline-offset:4px;text-decoration:underline;font-weight:680;margin:0 0 18px;}
.buy-area .payhip-cart-btn{min-width:235px;}
.addons-preview .payhip-cart-btn{min-width:215px;}
@media(max-width:720px){.product-textlink{display:block;text-align:center;} .buy-area .payhip-cart-btn{min-width:0;} }

/* v5: intentional path to Payhip listings rather than a premature embedded checkout */
.buy-area .btn{min-width:215px}.purchase-tip{border-left-color:#6c9d86;background:#f3f7ef}
@media(max-width:720px){.buy-area .btn{min-width:0}}

/* v6 add-on selector: designed for clear checkbox selections and one Payhip checkout */
html {scroll-behavior: smooth}
.product-hero .product-grid{align-items:center}
.checkout-now{cursor:pointer;border:0;font:inherit;font-weight:750}
.selector-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.85fr);gap:24px;align-items:start}
.addon-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:stretch}
.addon-group-heading{grid-column:1/-1;margin:21px 0 3px;color:#6a8174;font-size:11px;letter-spacing:.20em;font-weight:850}
.addon-group-heading:first-child{margin-top:0}
.selectable-addon{position:relative;display:flex;gap:10px;align-items:start;min-height:122px;padding:15px;background:#fffefb;border:1px solid #cddfd2;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;box-shadow:0 4px 20px #153d3808}
.selectable-addon:not(.is-unavailable):hover{border-color:#548777;background:#f7fbf6}
.selectable-addon:has(input:checked){border-color:#367666;background:#f0f7f1;box-shadow:0 0 0 2px #66988926}
.addon-checkbox-wrap{flex:0 0 21px;height:21px;position:relative;margin-top:1px}
.addon-checkbox-wrap input{appearance:none;position:absolute;inset:0;margin:0;cursor:pointer;opacity:0;width:22px;height:22px;z-index:2}
.checkbox-custom{display:block;width:21px;height:21px;border:2px solid #80a195;border-radius:5px;background:white;position:relative}
.selectable-addon:has(input:checked) .checkbox-custom{background:#1e6153;border-color:#1e6153}
.selectable-addon:has(input:checked) .checkbox-custom:after{content:'✓';color:white;font-weight:800;position:absolute;top:-4px;left:3px;font-size:18px}
.selectable-addon:has(input:focus-visible){outline:3px solid #c78a7c;outline-offset:2px}
.selectable-addon.is-unavailable{background:#f5f5ef;border-color:#e0e5dc;cursor:not-allowed}
.selectable-addon.is-unavailable .checkbox-custom{background:#eee;border-color:#bbc8bc}
.selectable-addon.is-unavailable .selectable-addon-text,.selectable-addon.is-unavailable .selectable-addon-price{opacity:.77}
.selectable-addon-text{flex:1;min-width:0}
.selectable-addon-text strong{display:block;font-size:14px;color:#173e35;line-height:1.36}
.selectable-addon-text small{display:block;line-height:1.52;font-size:12px;color:#617368;margin:6px 0 7px}
.addon-status{display:inline-block;font-style:normal;font-size:10px;color:#8d7150;background:#f3eada;padding:3px 7px;border-radius:12px;font-weight:780}
.is-available .addon-status{background:#e4efe4;color:#356c55}
.selectable-addon-price{font:700 17px/1.2 Georgia,serif;color:#1d574d;white-space:nowrap}
.order-summary{position:sticky;top:95px;background:#f1f5ed;border:1px solid #d0ded0;border-radius:13px;padding:24px;box-shadow:0 16px 40px #153d3814}
.order-summary h3{font:400 27px/1.13 Georgia,serif;color:#173d35;margin:9px 0 23px}
.order-item,.summary-selected-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:13px;color:#405f53}
.summary-selected-item{font-size:12px;margin-bottom:10px;line-height:1.4}
.summary-selected-item strong{white-space:nowrap;color:#244c40}
.order-item b{font-size:15px;color:#204e43}
.summary-addon-items{padding-top:14px;margin-top:14px;border-top:1px solid #d5dfd0}
.summary-muted{font-size:12px;color:#738478;margin-bottom:18px}
.order-total{padding-top:18px;margin-top:10px;border-top:1px solid #cbd9cb;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;color:#244d41}
.order-total strong{font:700 31px Georgia,serif;color:#18473d}
.summary-help,.summary-trust{font-size:11px;color:#6a7d71;line-height:1.58}
.order-summary .bottom-checkout{width:100%;margin-top:19px;text-align:center;min-height:48px}
.summary-trust{text-align:center;margin:10px 0 0}
.checkout-status{font-size:12px;color:#995437;font-weight:700;min-height:16px}
.addon-note{max-width:none;margin-top:24px}
@media(max-width:960px){.selector-layout{grid-template-columns:minmax(0,1fr) 280px}.addon-selector{grid-template-columns:1fr}}
@media(max-width:760px){.selector-layout{grid-template-columns:1fr}.addon-selector{grid-template-columns:1fr}.selectable-addon{min-height:98px}.order-summary{position:static}.product-hero .product-grid{align-items:start}}
