/* Shared storefront presentation: matches the header, footer and cards on the home page. */
.shell{width:min(100% - 72px,1440px)}

.topline{background:#1d1f1e;color:#f5f3ef;font:12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.085em;text-transform:uppercase}
.topline .shell{display:flex;justify-content:space-between;align-items:center;min-height:43px}
.topline-links{display:flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.075em}
.topline-links a{color:#e9e8e3;white-space:nowrap}
.topline-links a:hover{text-decoration:underline;text-underline-offset:4px}
.topline-actions{display:flex;align-items:center;gap:20px}
.topline-phone{font-size:11px;white-space:nowrap}
.mode-switch{display:flex;align-items:center;padding:2px;background:#3b3d3b;border-radius:99px;gap:1px}
.mode-switch button{background:transparent;border:0;padding:6px 12px;border-radius:99px;color:#dddcd6;font:11px/1.15 Arial,Helvetica,sans-serif;letter-spacing:.025em;white-space:nowrap;cursor:pointer}
.mode-switch button[aria-pressed="true"]{background:#f2f0e9;color:#242523}

.header{position:relative;z-index:20;background:#f8f7f4;border-bottom:1px solid #dfdfd8;font-family:Arial,Helvetica,sans-serif}
.header-main{height:86px;display:grid;grid-template-columns:minmax(185px,1fr) auto minmax(115px,1fr);align-items:center;gap:20px}
.brand{display:inline-flex;flex-direction:column;justify-self:start;white-space:nowrap;line-height:1}
.brand-main{font-family:Georgia,'Times New Roman',serif;font-size:31px;letter-spacing:-.055em}
.brand-sub{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:8px;margin-top:5px;color:#737169}
.brand-sub .word-gap{width:4px;flex:none}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px}
.icon-btn{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:6px;position:relative;cursor:pointer}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cart-count{position:absolute;right:-3px;top:-4px;border-radius:50%;background:#ae8b58;color:white;min-width:16px;height:16px;display:grid;place-items:center;font-size:10px}
.nav{display:flex;align-items:center;justify-self:center;gap:clamp(15px,1.7vw,29px);min-height:0;font-size:11px;letter-spacing:.095em;text-transform:uppercase;white-space:nowrap}
.nav a{position:relative;padding:12px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;height:1px;background:currentColor;bottom:9px;transition:right .2s}
.nav a:hover:after,.nav a[aria-current]:after{right:0}
.nav .utility-mobile,.mobile-menu{display:none}
.search-box{position:absolute;top:100%;left:0;right:0;background:#f8f7f4;border-top:1px solid #dfdfd8;padding:20px 0;box-shadow:0 15px 25px #0001;display:none}
.search-box.open{display:block}
.search-box form{display:flex;border-bottom:1px solid #242424}
.search-box input{width:100%;border:0;background:transparent;padding:12px 0;outline:0}
.search-box button{border:0;background:transparent;cursor:pointer}
.search-box svg{width:20px;height:20px;fill:none;stroke:currentColor}

.product-grid{gap:37px 18px}
.product{min-width:0;font-family:Arial,Helvetica,sans-serif}
.product-image{position:relative;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1.13;background:#fff;overflow:hidden}
.product-image>a{display:grid;place-items:center;width:100%;height:100%}
.product-image img{width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.product:hover img{transform:scale(1.055)}
.product-badge{position:absolute;left:16px;top:16px;max-width:calc(100% - 48px);background:#f9f8f5;padding:7px 10px;font-size:11px;line-height:1.2;letter-spacing:.04em;pointer-events:none}
.product-heart{position:absolute;top:15px;right:15px;background:none;border:0;padding:2px;color:#222;cursor:pointer}
.product-heart svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}
.product-heart[aria-pressed="true"] svg,.favorite-btn.has-favorites svg{fill:#b07b73;stroke:#b07b73}
.product-info{padding:15px 2px 0;display:flex;justify-content:space-between;gap:15px}
.product-title{font-size:14px;font-weight:normal;margin:0 0 4px}
.product-title a:hover{text-decoration:underline;text-underline-offset:3px}
.product-detail{color:#74746e;font-size:12px;margin:0}
.product-price{font-size:15px;white-space:nowrap}
.product-action{display:inline-block;border:0;border-bottom:1px solid #aaa69b;background:transparent;padding:5px 0;color:#6d6657;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:7px}
.product-action:hover{color:#111;border-color:#111}

.footer{background:#f8f7f4;padding:55px 0 28px;font-family:Arial,Helvetica,sans-serif}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.footer-brand{font:normal 30px/1 Georgia,'Times New Roman',serif;letter-spacing:-.06em}
.footer .footer-description{font-size:13px;color:#777970;max-width:230px;margin:18px 0}
.footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:normal;margin:4px 0 18px}
.footer a,.footer p{font-size:13px;color:#696b64}
.footer nav{display:flex;flex-direction:column;align-items:start;gap:10px}
.footer a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #dfdfd8;margin-top:55px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#8c8c84;font-size:11px}
.footer-bottom a{font-size:11px}
.footer-note{max-width:520px;text-align:right}

.overlay{position:fixed;inset:0;background:#0009;z-index:50;display:none;align-items:stretch;justify-content:flex-end}
.overlay.open{display:flex}
.drawer{width:min(100%,460px);background:#f8f7f4;display:flex;flex-direction:column;box-shadow:-20px 0 55px #0002}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:25px 28px;border-bottom:1px solid #dfdfd8}
.drawer-head h2{font:normal 30px/1.1 Georgia,'Times New Roman',serif;margin:0}
.close{border:0;background:transparent;font-size:29px;line-height:1;padding:0 3px;cursor:pointer}
.drawer-content{padding:25px 28px;overflow:auto;flex:1}
.drawer-content p{color:#666861;font-size:14px}
.drawer-content p a{text-decoration:underline}
.drawer-item{display:grid;grid-template-columns:75px 1fr auto;gap:13px;padding:16px 0;border-bottom:1px solid #dfdfd8;align-items:center;font-size:13px}
.drawer-item img{width:75px;height:75px;object-fit:contain;background:#fff}
.drawer-item a:hover{text-decoration:underline;text-underline-offset:3px}
.drawer-item small{display:block;color:#777;margin-top:5px}
.drawer-item button{border:0;background:transparent;color:#777;text-decoration:underline;font-size:12px;cursor:pointer}

@media(max-width:1080px){
  .header-main{height:76px;grid-template-columns:auto 1fr auto;gap:8px}
  .mobile-menu{display:inline-flex;grid-column:1;grid-row:1}
  .brand{grid-column:2;grid-row:1;justify-self:center}
  .header-actions{grid-column:3;grid-row:1;gap:12px}
  .header-main .nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;justify-self:stretch;background:#f8f7f4;padding:16px 24px 22px;box-shadow:0 20px 30px #0002;flex-direction:column;align-items:flex-start;gap:0}
  .header-main .nav.open{display:flex}
  .header-main .nav a{font-size:14px;width:100%;padding:10px 0}
  .header-main .nav .utility-mobile{display:block}
  .header-main .nav .utility-first{border-top:1px solid #dfdfd8;margin-top:8px;padding-top:18px}
}
@media(max-width:1000px){.shell{width:min(100% - 40px,1440px)}}
@media(max-width:700px){
  .topline .shell{justify-content:center;min-height:39px}
  .topline-links,.topline-phone{display:none}
  .topline-actions{gap:0}
  .topline .mode-switch button{font-size:11px;padding:5px 11px}
  .header-main{height:73px;grid-template-rows:73px}
  .header-main .nav{padding:15px 20px 22px}
  .brand-main{font-size:25px}
  .brand-sub{font-size:7px}
  .header-actions{gap:2px}
  .header-actions .account-btn{display:none}
  .header-actions .icon-btn svg{width:19px;height:19px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-bottom{flex-direction:column}
  .footer-note{text-align:left}
}
@media(max-width:480px){
  .shell{width:calc(100% - 30px)}
  .product-grid{gap:27px 10px}
  .product-image{aspect-ratio:1/1.08}
  .product-badge{font-size:10px;left:8px;top:8px;padding:5px}
  .product-heart{top:7px;right:7px}
  .product-info{display:block;padding-top:11px}
  .product-price{display:block;margin-top:7px}
  .product-action{font-size:11px}
  .footer-grid{gap:20px}
  .footer-bottom{margin-top:40px}
}
