/* AZOTEA: warm charcoal, ivory and restrained bronze. No image recolouring. */
:root {
  --paper:#f6f2ea; --surface:#fffcf7; --ink:#28221d; --muted:#6c6258;
  --forest:#624721; --accent:#87622e; --gold:#d5b57b; --line:#ded4c6;
  --soft:#ede6da; --header:#201d19; --shadow:0 16px 50px #31271c12;
  --portal:#25211d; --portal-text:#faf3e6; --portal-muted:#d2c2ac;
}
html[data-theme=dark] {
  --paper:#191715; --surface:#26221e; --ink:#f5ecdf; --muted:#c7baaa;
  --forest:#e0bd82; --accent:#dfbd85; --line:#4a4034; --soft:#302a23;
  --header:#201d19; --shadow:0 16px 50px #0003;
}
.site-header { border-bottom-color:#b7996240; }
.preview-ribbon { background:#e9dfce; color:#56442e; }
.preview-dot { background:#9b763b; }
.brand { width:105px; }
.desktop-nav a.active { color:#efd5a2; }
.selection-button { border-radius:4px; color:#efd5a2; }
.theme-button { min-width:44px; min-height:44px; }
.selection-count { background:#ddbe88; color:#29221a; }
.filter-button[aria-pressed=true],.solid-button { background:#493726; color:#fff7e9; border-color:#493726; }
html[data-theme=dark] .filter-button[aria-pressed=true],html[data-theme=dark] .solid-button { background:#ddbe88; color:#29221a; border-color:#ddbe88; }
.toast { background:#33291f; border-color:#9c8057; color:#fff6e6; }
dialog::backdrop { background:#15120fc4; }
.photo-toggle { color:#37291b; background:#fff8edee; }
.favorite-button { color:#493726; }
.back-button { border-color:var(--accent); }
.home-editorial { max-width:1320px; margin:auto; padding:0 46px 52px; }
.home-opening { padding:42px 0 28px; text-align:center; }
.opening-kicker { display:flex; justify-content:center; align-items:center; gap:16px; color:var(--accent); text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:.21em; }
.opening-kicker span { display:block; height:1px; width:38px; background:currentColor; opacity:.65; }
.home-opening h1 { font-size:clamp(42px,4.8vw,66px); letter-spacing:-1.7px; line-height:1.1; margin:14px 0 12px; }
.home-opening h1 em { font-weight:400; color:var(--accent); }
.home-opening>p { color:var(--muted); font-size:16px; }
.home-shortcuts { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:18px; flex-wrap:wrap; }
.home-shortcuts a { display:inline-flex; gap:12px; align-items:center; font-size:13px; min-height:44px; color:var(--forest); }
.home-shortcuts a:first-child { font-weight:650; border-bottom:1px solid var(--accent); }
.home-shortcuts>span { color:var(--accent); }
.home-shortcuts svg { width:18px; height:18px; }
.menu-portals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; }
.menu-portal { min-width:0; position:relative; display:flex; flex-direction:column; background:var(--portal); color:var(--portal-text); border:1px solid #d5b57b; box-shadow:0 8px 30px #00000013; border-radius:18px; overflow:hidden; }
.portal-photo { position:relative; aspect-ratio:1; overflow:hidden; background:var(--portal); }
.portal-photo img { width:100%; height:100%; object-fit:contain; object-position:center; }
.portal-caption { padding:10px 14px; border-top:1px solid #d5b57b33; background:var(--portal); color:var(--portal-text); font:500 clamp(20px,2vw,26px)/1.2 var(--serif); text-align:center; text-transform:uppercase; overflow-wrap:anywhere; }
@media(hover:hover) {
  .menu-portal:hover { box-shadow:0 10px 30px #0003; }
  .home-shortcuts a:hover,.home-closing>a:hover { text-decoration:underline; text-underline-offset:5px; }
}
.home-search-band { margin:36px 0 0; padding:24px 0; border-block:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.home-search-band .eyebrow:before { display:none; }
.home-search-band p { font-family:var(--serif); font-size:29px; margin-top:5px; line-height:1.1; }
.home-search-band .search-form { width:min(47%,430px); }
.home-featured { margin-top:43px; }
.home-featured .section-heading { margin:0 0 24px; }
.home-featured h2 { margin-top:12px; font-size:42px; }
.home-featured .product-card { border-radius:3px; }
.home-featured .product-photo { aspect-ratio:1.55; }
.home-featured .product-photo img { transform:none; object-position:center 34%; }
.home-closing { margin-top:42px; padding:30px 0 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:24px; }
.closing-flower { color:var(--accent); font-size:50px; line-height:1; }
.home-closing h2 { font-size:30px; margin:10px 0; }
.home-closing p { color:var(--muted); font-size:14px; }
.home-closing>a { margin-left:auto; display:inline-flex; align-items:center; gap:14px; color:var(--forest); font-size:14px; min-height:44px; white-space:nowrap; }
@media(min-width:1500px) { .home-editorial { max-width:1440px; } }
@media(max-width:1050px) {
  .home-editorial { padding-inline:28px; }
  .menu-portals { gap:16px; }
}
@media(max-width:760px) {
  .header-inner { height:77px; }
  .brand { width:91px; }
  .home-editorial { padding:0 18px 36px; }
  .home-opening { padding:22px 0 19px; }
  .opening-kicker { font-size:10px; letter-spacing:.15em; gap:9px; }
  .opening-kicker span { width:20px; }
  .home-opening h1 { font-size:42px; line-height:1.03; letter-spacing:-1px; max-width:330px; margin:14px auto 12px; }
  .home-opening h1 em { display:block; }
  .home-opening>p { font-size:14px; max-width:295px; margin:auto; line-height:1.6; }
  .home-shortcuts { gap:9px; margin-top:12px; flex-wrap:nowrap; }
  .home-shortcuts a { font-size:12px; gap:5px; white-space:nowrap; }
  .home-shortcuts svg { width:15px; }
  .menu-portals { gap:14px; }
  .portal-caption { padding:8px; font-size:16px; line-height:1.2; }
  .home-search-band { margin-top:26px; padding:23px 0; flex-direction:column; align-items:stretch; gap:18px; }
  .home-search-band p { font-size:28px; }
  .home-search-band .search-form { width:100%; }
  .home-featured { margin-top:32px; }
  .home-featured .section-heading { align-items:flex-start; flex-direction:column; gap:7px; margin-bottom:19px; }
  .home-featured h2 { font-size:34px; max-width:300px; }
  .home-featured .text-link { font-size:13px; }
  .home-featured .featured-grid { grid-template-columns:1fr; gap:20px; }
  .home-featured .featured-grid .product-card:last-child { display:block; }
  .home-featured .product-photo { aspect-ratio:1.65; }
  .home-featured .product-body { padding:20px; }
  .home-featured .product-category { font-size:10px; }
  .home-featured .product-title { font-size:21px; }
  .home-featured .product-description { font-size:15px; min-height:0; }
  .home-featured .product-bottom { flex-direction:row; align-items:center; gap:15px; margin-top:16px; }
  .home-featured .price { font-size:22px; }
  .home-featured .details-link { width:auto; gap:14px; font-size:13px; }
  .home-closing { align-items:flex-start; gap:14px; flex-wrap:wrap; padding-top:24px; margin-top:30px; }
  .closing-flower { font-size:36px; }
  .home-closing>div { flex:1; min-width:0; }
  .home-closing h2 { font-size:29px; }
  .home-closing>a { margin:0 0 0 50px; }
  .mobile-nav .active { color:var(--forest); }
}
@media(max-width:370px) {
  .home-editorial { padding-inline:14px; }
  .home-opening h1 { font-size:38px; }
  .home-shortcuts { gap:6px; }
  .home-shortcuts a { font-size:11px; }
  .home-shortcuts svg { display:none; }
  .portal-caption { font-size:15px; }
  .home-featured .product-body { padding:17px; }
}
