/* Premium Fourthwall storefront */
.fw-store[hidden]{display:none!important}
.fw-store{max-width:1440px;margin:0 auto;padding:82px 4vw 100px}
.fw-store .head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:22px}
.fw-store .head h2{font:400 clamp(42px,5vw,76px)/.98 Georgia,serif;letter-spacing:-.045em;margin:10px 0 0}
.fw-store .head p{max-width:540px;margin:0;font:14px/1.6 Georgia,serif;color:var(--gi-muted,#746c61)}
.fw-store-status{font:11px/1.5 Georgia,serif;color:var(--gi-muted,#746c61);margin:0 0 18px}
.fw-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.fw-filter{min-height:40px;border:1px solid rgba(22,21,18,.14);background:transparent;color:var(--gi-ink,#161512);padding:0 15px;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.fw-filter:hover,.fw-filter.active{background:var(--gi-ink,#161512);color:#fffaf1;border-color:var(--gi-ink,#161512)}
.fw-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 12px}
.fw-card{min-width:0;position:relative}
.fw-card[hidden]{display:none!important}
.fw-card-media{position:relative;aspect-ratio:4/5;background:#e8dfd1;overflow:hidden;border:1px solid rgba(22,21,18,.08)}
.fw-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease,opacity .3s ease}
.fw-card-media img.fw-card-alt{position:absolute;inset:0;opacity:0}
.fw-card:hover .fw-card-media img{transform:scale(1.018)}
.fw-card:hover .fw-card-media img.fw-card-alt{opacity:1}
.fw-card:hover .fw-card-media img.fw-card-primary{opacity:0}
.fw-card-badge{position:absolute;left:12px;top:12px;z-index:2;background:rgba(22,21,18,.9);color:#fffaf0;padding:8px 9px;font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fw-card-body{padding:14px 2px 0}
.fw-card-type{font-size:7px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9a7742}
.fw-card-title{font:23px/1.05 Georgia,serif;letter-spacing:-.025em;margin:7px 0 10px}
.fw-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--gi-muted,#746c61)}
.fw-card-price{font-weight:800;color:var(--gi-ink,#161512)}
.fw-card-action{margin-top:12px;width:100%;min-height:42px;border:1px solid var(--gi-ink,#161512);background:transparent;color:var(--gi-ink,#161512);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.fw-card-action:hover{background:var(--gi-ink,#161512);color:#fffaf0}
.fw-modal[hidden]{display:none!important}
.fw-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(12,11,9,.68);backdrop-filter:blur(8px)}
.fw-modal-panel{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:#f8f2e7;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.85fr);box-shadow:0 40px 120px rgba(0,0,0,.28)}
.fw-modal-media{padding:18px;background:#e6dccd}
.fw-modal-main{aspect-ratio:4/5;overflow:hidden;background:#ddd2c0}
.fw-modal-main img{width:100%;height:100%;object-fit:cover;display:block}
.fw-modal-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}
.fw-modal-thumb{padding:0;border:1px solid transparent;background:#d7ccbb;aspect-ratio:1;overflow:hidden;cursor:pointer}
.fw-modal-thumb.active{border-color:#161512}
.fw-modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fw-modal-body{position:relative;padding:42px;display:flex;flex-direction:column;gap:17px}
.fw-modal-close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.fw-modal-kicker{font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#a47d3f;margin-top:18px}
.fw-modal-title{font:400 clamp(36px,4vw,58px)/.96 Georgia,serif;letter-spacing:-.045em;margin:0}
.fw-modal-price{font-size:18px;font-weight:800}
.fw-modal-desc{font:14px/1.65 Georgia,serif;color:var(--gi-muted,#746c61);margin:0}
.fw-option{padding-top:15px;border-top:1px solid rgba(22,21,18,.12)}
.fw-option-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:11px;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fw-option-head strong{font-size:10px;letter-spacing:0;text-transform:none}
.fw-size-grid{display:flex;flex-wrap:wrap;gap:7px}
.fw-size{min-width:50px;min-height:42px;padding:0 12px;border:1px solid rgba(22,21,18,.18);background:#fffaf1;color:#161512;font-size:10px;cursor:pointer}
.fw-size.active{background:#161512;color:#fffaf1}.fw-size:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.fw-add{min-height:52px;border:0;background:#161512;color:#fffaf1;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.fw-add:disabled{opacity:.5}
.fw-buy-notes{display:grid;gap:5px;color:#7a7165;font-size:9px}
.fw-cart-line{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,rgba(22,21,18,.12))}
.fw-cart-line img{width:54px;height:62px;object-fit:cover;background:#e7ddca}.fw-cart-line h4{font:15px Georgia,serif;margin:0 0 4px}.fw-cart-line p{font-size:9px;color:#777;margin:0}.fw-cart-line strong{font-size:11px}
.fw-store-error{padding:18px;border:1px solid rgba(107,48,49,.2);background:rgba(107,48,49,.06);font:13px/1.5 Georgia,serif}
@media(max-width:1100px){.fw-products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.fw-products{grid-template-columns:repeat(2,1fr)}.fw-modal-panel{grid-template-columns:1fr}.fw-modal-body{padding:28px}.fw-store .head{display:block}.fw-store .head p{margin-top:16px}}
@media(max-width:560px){.fw-store{padding:58px 18px 72px}.fw-products{gap:24px 8px}.fw-card-title{font-size:18px}.fw-card-body{padding-top:10px}.fw-card-meta{font-size:9px}.fw-filterbar{display:grid;grid-template-columns:repeat(2,1fr)}.fw-filter:first-child{grid-column:1/-1}.fw-modal{padding:0}.fw-modal-panel{width:100vw;max-height:100vh;height:100vh}.fw-modal-body{padding:24px 20px 34px}.fw-modal-media{padding:8px}.fw-modal-thumbs{grid-template-columns:repeat(4,1fr)}}

/* Shop UX upgrade */
.fw-shop-toolbar{
  position:sticky;top:74px;z-index:45;
  margin:0 -4vw 24px;padding:14px 4vw;
  background:rgba(246,240,229,.96);backdrop-filter:blur(14px);
  border-top:1px solid rgba(22,21,18,.08);border-bottom:1px solid rgba(22,21,18,.12)
}
.fw-shop-toolbar .fw-filterbar{margin:0 0 12px}
.fw-shop-controls{display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(180px,.75fr) minmax(170px,.55fr) auto;gap:8px;align-items:end}
.fw-shop-controls label{display:grid;gap:6px}
.fw-shop-controls label>span{font-size:7px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#807668}
.fw-shop-controls input,.fw-shop-controls select{
  width:100%;height:43px;border:1px solid rgba(22,21,18,.14);background:#fbf8f1;color:#161512;
  padding:0 12px;font:11px Arial,sans-serif;outline:none;border-radius:0
}
.fw-shop-controls input:focus,.fw-shop-controls select:focus{border-color:#9a7742;box-shadow:0 0 0 2px rgba(181,138,69,.11)}
.fw-clear{
  height:43px;padding:0 15px;border:1px solid rgba(22,21,18,.18);background:transparent;
  color:#161512;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.fw-clear:hover{background:#161512;color:#fffaf1}
.fw-results-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.fw-results-row .fw-store-status{margin:0}
.fw-results-row>span{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#8c8377}
.fw-card{cursor:pointer}
.fw-card:focus-visible{outline:2px solid #b58a45;outline-offset:4px}
.fw-card-view{
  position:absolute;left:50%;bottom:16px;transform:translate(-50%,8px);
  padding:9px 12px;background:rgba(22,21,18,.88);color:#fffaf0;
  font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  opacity:0;transition:.2s ease;white-space:nowrap
}
.fw-card:hover .fw-card-view,.fw-card:focus-within .fw-card-view{opacity:1;transform:translate(-50%,0)}
.fw-modal-price-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.fw-stock{font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#6e795b}
.fw-size-help{font:11px/1.5 Georgia,serif;color:#847a6c;margin:9px 0 0}
.fw-empty{padding:80px 20px;text-align:center;border-top:1px solid rgba(22,21,18,.12)}
.fw-empty h3{font:36px Georgia,serif;margin:0 0 8px}
.fw-empty p{font:14px Georgia,serif;color:#746c61;margin:0}
.fw-cart-info{min-width:0}
.fw-cart-qty{display:flex;align-items:center;gap:6px;margin-top:9px;flex-wrap:wrap}
.fw-cart-qty>button:not(.fw-cart-remove){
  width:27px;height:27px;border:1px solid rgba(22,21,18,.16);background:transparent;color:#161512;cursor:pointer
}
.fw-cart-qty>span{min-width:20px;text-align:center;font-size:10px;font-weight:700}
.fw-cart-remove{border:0;background:transparent;padding:0 0 0 6px;font-size:8px;text-decoration:underline;text-underline-offset:3px;color:#776e62;cursor:pointer}
.fw-cart-qty button:disabled{opacity:.35;cursor:wait}
.fw-cart-empty{padding:30px 0;text-align:center}
.fw-cart-empty a{display:inline-block;margin-top:10px;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid currentColor}
#cart .drawer-foot .btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){
  .fw-shop-toolbar{top:68px}
  .fw-shop-controls{grid-template-columns:1fr 1fr}.fw-search{grid-column:1/-1}
}
@media(max-width:560px){
  .fw-shop-toolbar{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;top:68px}
  .fw-shop-controls{grid-template-columns:1fr}
  .fw-search{grid-column:auto}
  .fw-results-row>span{display:none}
  .fw-card-view{display:none}
  .fw-card-action{min-height:44px}
  .fw-modal-close{top:12px;right:12px;background:rgba(248,242,231,.88);padding:8px}
}

/* Ambassador / partner attribution */
.gi-partner-banner{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 18px;padding:11px 14px;border:1px solid rgba(181,138,69,.34);
  background:#efe5d2;color:#51483d;font-size:8px;letter-spacing:.09em;text-transform:uppercase
}
.gi-partner-banner strong{color:#161512;font-size:9px;letter-spacing:.12em}
.gi-partner-banner em{margin-left:auto;font:11px Georgia,serif;letter-spacing:0;text-transform:none;color:#756b5e}
@media(max-width:560px){.gi-partner-banner{margin-bottom:12px}.gi-partner-banner em{width:100%;margin-left:0}}

/* Same-collection recommendations */
.fw-related{
  grid-column:1/-1;
  padding:34px 36px 38px;
  border-top:1px solid rgba(38,51,41,.14);
  background:var(--gi-canvas,#f3ede1)
}
.fw-related[hidden]{display:none!important}
.fw-related-head{
  display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px
}
.fw-related-head span{
  display:block;margin-bottom:7px;
  font-size:7px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gi-brass,#a98449)
}
.fw-related-head h3{
  margin:0;font:400 clamp(28px,3vw,42px)/1 Georgia,serif;letter-spacing:-.035em;color:var(--gi-charcoal,#191a17)
}
.fw-related-head p{
  max-width:280px;margin:0;font:12px/1.5 Georgia,serif;color:var(--gi-muted,#6f6b61)
}
.fw-related-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px
}
.fw-related-card{
  width:100%;display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:18px;
  padding:10px 14px 10px 10px;border:1px solid rgba(38,51,41,.13);
  background:var(--gi-paper,#faf7f0);color:var(--gi-charcoal,#191a17);text-align:left;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.fw-related-card:hover{
  transform:translateY(-2px);border-color:rgba(169,132,73,.45);box-shadow:0 14px 28px rgba(38,51,41,.07)
}
.fw-related-card:focus-visible{outline:2px solid var(--gi-brass,#a98449);outline-offset:2px}
.fw-related-media{
  display:block;aspect-ratio:4/5;overflow:hidden;background:#e4ddd0
}
.fw-related-media img{width:100%;height:100%;display:block;object-fit:cover}
.fw-related-copy{display:grid;gap:5px;min-width:0}
.fw-related-copy small{
  font-size:7px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gi-brass,#a98449)
}
.fw-related-copy strong{
  font:22px/1.05 Georgia,serif;letter-spacing:-.025em;font-weight:400
}
.fw-related-copy em{
  font-style:normal;font-size:10px;font-weight:800;color:var(--gi-muted,#6f6b61)
}
.fw-related-arrow{
  font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--gi-forest,#263329)
}
@media(max-width:850px){
  .fw-related{padding:28px}
  .fw-related-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .fw-related{padding:24px 20px 34px}
  .fw-related-head{display:block}
  .fw-related-head p{margin-top:8px}
  .fw-related-card{grid-template-columns:88px minmax(0,1fr);padding:8px;gap:12px}
  .fw-related-arrow{display:none}
  .fw-related-copy strong{font-size:18px}
}
