@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--green:#082e27;--deep:#06221e;--cream:#faf5e8;--gold:#c99b55;--muted:#6e786c;--border:#e0d8c5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#18342b;font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}.topbar{background:#b98b4e;color:#071c17;text-align:center;padding:7px 12px;font-size:.72rem;font-weight:700;letter-spacing:.18em}.header{display:flex;align-items:center;justify-content:space-between;padding:21px max(4%,calc((100vw - 1200px)/2));gap:20px;background:#fffdfa;border-bottom:1px solid var(--border)}.wordmark{text-decoration:none;color:var(--green);font:700 31px/1.1 'Playfair Display',Georgia,serif;white-space:nowrap}.wordmark span{font-weight:500}.wordmark small{display:block;font:12px/1.7 'DM Sans',sans-serif;letter-spacing:.08em;color:#947444}.header nav{display:flex;align-items:center;gap:22px}.header nav a{text-decoration:none;font-size:13px;font-weight:700}.header nav button{padding:10px 14px;border:1px solid #b8ac91;background:#fffdf9;border-radius:30px;font-size:13px;font-weight:700}.header nav button span{background:var(--green);color:#fff;border-radius:50%;display:inline-grid;place-items:center;width:21px;height:21px;margin-left:4px}.hero{display:grid;grid-template-columns:1.5fr 1fr;min-height:460px;background:linear-gradient(115deg,var(--deep),#0b493a);color:var(--cream);overflow:hidden}.hero-copy{max-width:800px;padding:76px 5vw 80px max(6%,calc((100vw - 1140px)/2))}.eyebrow{letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--gold);margin:0 0 16px}.hero h1{font:500 clamp(44px,5.3vw,82px)/1.08 'Playfair Display',Georgia,serif;margin:0 0 20px}.hero h1 em{color:#e7c990}.hero p:not(.eyebrow){max-width:530px;color:#e7e7d7}.cta{display:inline-block;background:#d5aa64;color:#18342b;text-decoration:none;font-weight:700;border-radius:3px;padding:13px 26px;margin-top:17px}.hero-detail{border-left:1px solid #ffffff25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-family:'Playfair Display',serif;background:radial-gradient(circle,#1b5b44,#0b3029 70%)}.hero-detail strong{font-size:clamp(56px,6vw,100px);font-weight:500;text-align:center;line-height:1.05;color:#f0ddba}.hero-detail span{letter-spacing:.2em;color:#d5aa64}.hero-detail .sparkle{font-size:60px}.section{max-width:1200px;margin:auto;padding:80px 22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section h2,.about h2,.sheet h2{font:500 clamp(30px,3vw,46px)/1.2 'Playfair Display',Georgia,serif;margin:0}.section-heading>p{font-size:13px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product{background:#fffdf8;border:1px solid var(--border);border-radius:5px;overflow:hidden;box-shadow:0 4px 18px #20352c0b}.photo{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(135deg,#ece5d8,#dbd2c2);overflow:hidden;position:relative}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo .placeholder{text-align:center;font:30px 'Playfair Display',serif;color:#856d4b;padding:30px}.photo .preview-label{position:absolute;top:15px;left:15px;background:#fffdf9ee;border:1px solid #e1d5b6;border-radius:2px;padding:5px 9px;font-size:10px;letter-spacing:.14em;font-weight:700}.product-body{padding:20px 20px 24px}.product-body .color{color:#8b774e;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.product h3{font:600 24px/1.22 'Playfair Display',Georgia,serif;margin:9px 0}.product .price{font-size:14px;color:#596c5d;margin:10px 0}.product button,.action{width:100%;border:1px solid var(--green);background:var(--green);color:#fff;padding:12px;margin-top:12px;font-weight:700;border-radius:3px}.about{background:#ece6d5;text-align:center;padding:75px 20px}.about p{max-width:640px;margin:15px auto}.about .small{font-size:12px;color:#69695f}footer{display:flex;justify-content:space-between;gap:18px;background:var(--deep);color:#f9f1dc;padding:28px max(5%,calc((100vw - 1200px)/2));font-size:12px}.overlay[hidden]{display:none}.overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10}.sheet{background:#fffdf8;border-radius:9px;padding:35px;max-height:92vh;overflow:auto;position:relative;width:min(850px,100%)}.close{position:absolute;right:14px;top:10px;border:none;background:transparent;font-size:32px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-image{background:#eee8df;border-radius:4px;aspect-ratio:4/5;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.sizes{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.sizes label{display:inline-block}.sizes input{position:absolute;opacity:0}.sizes span{display:inline-block;padding:10px 15px;border:1px solid #b8b5a8;cursor:pointer;border-radius:3px}.sizes input:checked+span{background:var(--green);color:white;border-color:var(--green)}.notice{background:#f5ecd6;border-left:3px solid #b9965d;padding:10px 13px;font-size:13px}.cart-sheet{width:min(500px,100%)}.cart-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:16px 0}.cart-line button{color:#8e3931;border:0;background:none;text-decoration:underline}.total{text-align:right;font-weight:700;padding:18px 0}.disabled-checkout{width:100%;padding:15px;border:0;background:#bbc0b9;color:#fff;cursor:not-allowed}.loading{grid-column:1/-1;padding:55px;text-align:center;color:var(--muted)}@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-detail{display:none}.hero-copy{padding:70px 6%}.header{flex-wrap:wrap}.header nav{gap:12px}.detail-grid{grid-template-columns:1fr}.detail-image{max-height:350px}}@media(max-width:540px){.product-grid{grid-template-columns:1fr}.section-heading{display:block}.header nav a{display:none}.hero h1{font-size:46px}footer{flex-direction:column}.sheet{padding:25px 20px}}
.verify-button{width:100%;margin:12px 0;background:#144f3e;color:#fff;border:0;padding:14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}.verify-button:hover{background:#0b372b}.bag-verification{font-size:.9rem;line-height:1.6;padding:8px 0}.bag-verification p{margin:6px 0}

/* Step 3B shipping preview */
.shipping-preview{margin:1.3rem 0;padding:1rem 0;border-top:1px solid #ddd2ba}
.shipping-preview h3{margin:.2rem 0 .5rem;color:#164b3d}
.shipping-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}
.shipping-fields label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600;color:#234639}
.shipping-fields input,.shipping-fields select{width:100%;min-width:0;padding:.7rem;border:1px solid #b5b9ab;border-radius:5px;background:white;color:#163e33;font:inherit}
.shipping-fields label:nth-child(3),.shipping-fields label:nth-child(4){grid-column:1/-1}
@media(max-width:550px){.shipping-fields{grid-template-columns:1fr}.shipping-fields label:nth-child(3),.shipping-fields label:nth-child(4){grid-column:auto}}


/* AFCC unified navigation — same presentation on every storefront page */
.afcc-site-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px max(3%,calc((100vw - 1250px)/2));background:#fffdf9;border-bottom:1px solid #ddd3bb;flex-wrap:wrap}
.afcc-site-header .afcc-site-brand{display:block;flex:0 0 auto;line-height:0;text-decoration:none}
.afcc-site-header .afcc-site-logo{display:block;width:190px;height:auto;max-height:95px;object-fit:contain}
.afcc-site-header .afcc-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:9px 15px;flex-wrap:wrap;min-width:0}
.afcc-site-header .afcc-site-nav a{font-family:'DM Sans',Arial,sans-serif;text-decoration:none;font-size:12px;line-height:1.35;font-weight:700;color:#153c30;padding:8px 1px;border-bottom:2px solid transparent;white-space:nowrap}
.afcc-site-header .afcc-site-nav a:hover,.afcc-site-header .afcc-site-nav a:focus-visible{color:#87652d;border-bottom-color:#c99b55}
.afcc-site-header .afcc-site-nav a[aria-current="page"]{color:#80602c;border-bottom-color:#b98b4e}
.afcc-site-header .afcc-site-nav #cart-toggle{font:700 12px 'DM Sans',Arial,sans-serif;color:#153c30;background:#fffdf9;border:1px solid #b8ac91;border-radius:25px;padding:9px 12px;white-space:nowrap}
.afcc-site-header .afcc-site-nav #cart-count{display:inline-grid;place-items:center;background:#082e27;color:white;border-radius:50%;height:20px;min-width:20px;margin-left:4px}
@media(max-width:850px){.afcc-site-header{justify-content:center;padding:11px 16px}.afcc-site-header .afcc-site-nav{justify-content:center}.afcc-site-header .afcc-site-logo{width:160px}}
@media(max-width:540px){.afcc-site-header .afcc-site-nav a{display:inline-block!important;font-size:11px;padding:6px 1px}.afcc-site-header .afcc-site-nav{gap:5px 12px}.afcc-site-header .afcc-site-logo{width:145px}}


/* Keep the navigation centered consistently, whether or not a page has a shopping bag. */
.afcc-site-header{display:grid;grid-template-columns:190px minmax(0,1fr) 190px;align-items:center;column-gap:12px;row-gap:8px;flex-wrap:nowrap}
.afcc-site-header .afcc-site-brand{grid-column:1;justify-self:start}
.afcc-site-header .afcc-site-nav{grid-column:2;justify-self:center;justify-content:center;gap:8px 12px}
.afcc-site-header .afcc-header-actions{grid-column:3;justify-self:end}
.afcc-site-header .afcc-header-actions #cart-toggle{font:700 12px 'DM Sans',Arial,sans-serif;color:#153c30;background:#fffdf9;border:1px solid #b8ac91;border-radius:25px;padding:9px 12px;white-space:nowrap;cursor:pointer}
.afcc-site-header .afcc-header-actions #cart-count{display:inline-grid;place-items:center;background:#082e27;color:#fff;border-radius:50%;height:20px;min-width:20px;margin-left:4px}
@media(max-width:1180px){.afcc-site-header{grid-template-columns:160px minmax(0,1fr) 125px}.afcc-site-header .afcc-site-logo{width:160px}.afcc-site-header .afcc-site-nav{gap:5px 9px}}
@media(max-width:850px){.afcc-site-header{grid-template-columns:1fr auto;justify-content:stretch}.afcc-site-header .afcc-site-brand{grid-column:1;grid-row:1;justify-self:start}.afcc-site-header .afcc-header-actions{grid-column:2;grid-row:1}.afcc-site-header .afcc-site-nav{grid-column:1 / -1;grid-row:2;justify-self:center;justify-content:center}}
@media(max-width:540px){.afcc-site-header .afcc-site-logo{width:145px}.afcc-site-header .afcc-site-nav{gap:5px 11px}}

/* AFCC consistent layout, all pages — bag column reserved even when absent */
.afcc-site-header{display:grid;grid-template-columns:minmax(145px,190px) minmax(0,1fr) minmax(145px,190px);align-items:center;gap:12px;flex-wrap:nowrap}
.afcc-site-header .afcc-site-brand{grid-column:1;grid-row:1;justify-self:start}
.afcc-site-header .afcc-site-nav{grid-column:2;grid-row:1;justify-self:center;justify-content:center;width:100%;gap:8px 12px}
.afcc-site-header .afcc-header-actions{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:1100px){.afcc-site-header{grid-template-columns:150px minmax(0,1fr) 150px}.afcc-site-header .afcc-site-logo{width:150px}}
@media(max-width:850px){.afcc-site-header{grid-template-columns:1fr auto;padding:11px 16px}.afcc-site-header .afcc-site-brand{grid-column:1;grid-row:1;justify-self:start}.afcc-site-header .afcc-header-actions{grid-column:2;grid-row:1}.afcc-site-header .afcc-site-nav{grid-column:1/-1;grid-row:2;justify-self:center;justify-content:center;width:100%}}


/* Track an Order: external styles for strict Content-Security-Policy */
.track-wrap{width:min(100% - 40px,760px);max-width:760px;margin:0 auto;min-height:calc(100vh - 280px);padding:48px 0 96px;position:relative;z-index:1}
.track-wrap .eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.18em;font-weight:700;color:#ac8240}
.track-wrap h1{font:600 clamp(34px,4.5vw,52px)/1.15 'Playfair Display',Georgia,serif;color:#082e27;margin:0 0 20px}
.track-wrap>p:not(.eyebrow){max-width:680px;margin:0 0 24px;line-height:1.7}
.track-wrap .notice{background:#f4e9ce;border-left:4px solid #c99b55;border-radius:5px;padding:14px 18px;margin:0 0 26px!important;color:#384b3d}
.track-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#fffdf8;border:1px solid #e0d8c5;padding:28px;border-radius:10px;box-shadow:0 8px 30px #082e2709}
.track-form label{display:block;font-weight:700;font-size:14px;min-width:0;color:#153c30}
.track-form input{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #ada393;border-radius:6px;background:#fff;color:#18342b;font:inherit}
.track-form input:focus{outline:2px solid #c99b55;outline-offset:2px}
.track-form button{grid-column:1/-1;background:#082e27;color:white;border:0;padding:14px 20px;font:inherit;font-weight:700;border-radius:6px;justify-self:start}
.track-form button:hover{background:#14533f}
.track-result{margin-top:24px;padding:24px;background:#fffdf8;border:1px solid #e0d8c5;border-radius:8px}
.track-result[hidden]{display:none}.track-result dl{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:12px}.track-result dt{font-weight:700}.track-result dd{margin:0}
.track-wrap .muted{color:#636e62;font-size:14px}.track-error{color:#992f30}
#track-message:not(:empty){margin-top:18px}
@media(max-width:640px){.track-wrap{width:min(100% - 32px,760px);padding:35px 0 80px}.track-form{grid-template-columns:1fr;padding:20px}.track-form button{width:100%}.track-result dl{grid-template-columns:1fr}}

/* Holiday Stories shipping promotion — plain CSS, CSP-safe */
.shipping-promo{background:#123c30;color:#fff6df;text-align:center;font-size:.85rem;font-weight:700;letter-spacing:.08em;padding:11px 18px;line-height:1.5}
@media(max-width:650px){.shipping-promo{font-size:.7rem;letter-spacing:.025em;padding:10px 8px}}

/* Out-of-stock presentation driven by /api/store/catalog availability. */
.product.is-sold-out .photo img,.product.is-sold-out .photo .placeholder{filter:grayscale(70%);opacity:.42}
.product.is-sold-out .product-body{background:#fbf9f5}
.product.is-sold-out .product-body .color,.product.is-sold-out .product-body h3{opacity:.74}
.product.is-sold-out .product-body button{background:#e5e6e1;border-color:#cbd0c9;color:#45554b}
.product .photo .sold-out-badge,.detail-image .sold-out-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#082e27;color:#fffdf4;padding:10px 18px;border:1px solid #d4ad68;border-radius:3px;letter-spacing:.14em;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 5px 25px #0003;z-index:2}
.detail-image{position:relative}
.detail-image.out-of-stock-image img,.detail-image.out-of-stock-image .placeholder{filter:grayscale(70%);opacity:.45}
.sizes label.size-unavailable span{opacity:.50;background:#eceee9;color:#4a544b;border-color:#d5d9d3;cursor:not-allowed;text-decoration:line-through}
.sizes label.size-unavailable input{cursor:not-allowed}
.sheet button.action:disabled{background:#d5d9d4;border-color:#bdc5bd;color:#46554b;cursor:not-allowed}
.stock-notice{background:#f3e9df;border-left:4px solid #a47752;padding:10px 12px;font-weight:700;color:#5b3f2e}

/* Shared AF Custom Creations footer design — matches Our Story's brand-footer. */
footer.brand-footer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  background: #06221e;
  padding: 30px 6%;
  color: #faf5e8;
  font-size: 12px;
  line-height: 1.65;
  text-align: left;
}
footer.brand-footer > div { min-width: 0; }
footer.brand-footer a { color: #e7c990; }
@media (max-width: 540px) {
  footer.brand-footer { flex-direction: row; }
}
