/* Version 1.3.0: classic catalogue, standard posts, responsive home and reliable drawers. */
body.drawer-open { overflow: hidden !important; }
.store-menu { position: relative; display: flex; align-items: center; }
.store-menu-trigger { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: inline-flex; font: inherit; gap: 6px; letter-spacing: inherit; padding: 0; text-transform: inherit; }
.store-menu-trigger > span { font-size: 15px; line-height: 1; transition: transform .18s cubic-bezier(.23,1,.32,1); }
.store-menu.is-open .store-menu-trigger > span, .store-menu:focus-within .store-menu-trigger > span { transform: rotate(180deg); }
.store-submenu { background: var(--paper, #fbf8f0); border: 1px solid rgba(0,39,44,.16); box-shadow: 0 18px 40px rgba(0,39,44,.16); display: grid; left: -20px; min-width: 235px; opacity: 0; padding: 10px; pointer-events: none; position: absolute; top: calc(100% + 18px); transform: translateY(-6px); transition: opacity .18s cubic-bezier(.23,1,.32,1), transform .18s cubic-bezier(.23,1,.32,1); visibility: hidden; z-index: 1003; }
.store-menu.is-open .store-submenu, .store-menu:focus-within .store-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
.store-submenu a { align-items: baseline; border-bottom: 1px solid rgba(0,39,44,.09); color: var(--bloodwine, #00272c); display: flex; font-size: 12px; justify-content: space-between; letter-spacing: .08em; padding: 11px 9px; text-decoration: none; text-transform: uppercase; }
.store-submenu a:last-child { border-bottom: 0; }
.store-submenu a:hover, .store-submenu a:focus-visible { background: var(--sunflare, #e1ff51); }
.store-submenu small { color: rgba(0,39,44,.62); font-size: 10px; letter-spacing: .03em; text-transform: none; }
.store-submenu-all { background: rgba(225,255,81,.26); font-weight: 700; }

.store-hero { background: var(--bloodwine, #00272c); color: var(--ivory, #fbf8f0); display: grid; gap: 50px; grid-template-columns: minmax(0,1.7fr) minmax(250px,.6fr); padding: clamp(70px,10vw,150px) max(5vw,32px) clamp(58px,8vw,110px); }
.store-hero-copy { max-width: 780px; }
.store-hero .eyebrow { color: var(--sunflare, #e1ff51); }
.store-hero h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(54px,8.1vw,120px); font-weight: 400; letter-spacing: -.055em; line-height: .84; margin: 19px 0 28px; }
.store-hero p:not(.eyebrow) { color: rgba(251,248,240,.75); font-size: 17px; line-height: 1.7; max-width: 520px; }
.store-hero-note { align-self: end; border-left: 1px solid rgba(225,255,81,.55); display: grid; gap: 16px; padding: 14px 0 14px 24px; }
.store-hero-note span { color: var(--sunflare, #e1ff51); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.store-hero-note strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 29px; font-weight: 400; line-height: 1.05; }
.store-catalogue { display: grid; gap: clamp(30px,5vw,78px); grid-template-columns: minmax(170px,.25fr) minmax(0,1fr); padding: clamp(42px,7vw,100px) max(5vw,32px); }
.store-sidebar { align-self: start; border-top: 1px solid rgba(0,39,44,.22); padding-top: 18px; position: sticky; top: 115px; }
.store-category-list { display: grid; margin: 17px 0 34px; }
.store-category-list a { align-items: center; border-bottom: 1px solid rgba(0,39,44,.11); color: var(--bloodwine, #00272c); display: flex; font-size: 13px; justify-content: space-between; padding: 13px 0; text-decoration: none; }
.store-category-list a:hover, .store-category-list a.active { color: #527772; font-weight: 700; }
.store-sidebar-note { background: rgba(225,255,81,.33); display: grid; gap: 9px; padding: 19px; }
.store-sidebar-note span { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; line-height: .98; }
.store-sidebar-note a { color: var(--bloodwine, #00272c); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.store-results-bar { align-items: flex-end; border-bottom: 1px solid rgba(0,39,44,.2); display: flex; justify-content: space-between; margin-bottom: 31px; padding-bottom: 15px; }
.store-results-bar p { color: rgba(0,39,44,.63); font-size: 13px; margin: 4px 0 0; }
.store-results-bar .woocommerce-result-count { float: none; margin: 0; }
.store-ordering .woocommerce-ordering { float: none; margin: 0; }
.store-ordering select { background: transparent; border: 0; border-bottom: 1px solid var(--bloodwine, #00272c); color: var(--bloodwine, #00272c); font-family: inherit; font-size: 11px; letter-spacing: .09em; padding: 8px 22px 8px 0; text-transform: uppercase; }

.posts-page, .post-page { margin: 0 auto; max-width: 900px; padding: clamp(55px,9vw,110px) max(5vw,24px); }
.posts-page-header { border-bottom: 1px solid rgba(0,39,44,.18); margin-bottom: 34px; padding-bottom: 18px; }
.posts-page h1, .post-page h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(42px,6vw,74px); font-weight: 400; letter-spacing: -.045em; line-height: .95; margin: 0; }
.posts-list { border-top: 1px solid rgba(0,39,44,.18); }
.post-list-item { border-bottom: 1px solid rgba(0,39,44,.18); padding: 26px 0 30px; }
.post-list-item time, .post-page time { color: rgba(0,39,44,.64); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.post-list-item h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(30px,4vw,46px); font-weight: 400; line-height: 1; margin: 10px 0; }
.post-list-item h2 a { color: var(--bloodwine, #00272c); text-decoration: none; }
.post-list-item p { line-height: 1.65; max-width: 680px; }
.post-page-header { border-bottom: 1px solid rgba(0,39,44,.18); margin-bottom: 34px; padding-bottom: 22px; }
.post-page-header time { display: block; margin-bottom: 14px; }
.post-page-image { margin: 0 0 42px; }
.post-page-image img { height: auto; max-width: 100%; }
.post-page-content { font-size: 17px; line-height: 1.8; max-width: 700px; }
.post-page-content h2, .post-page-content h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 38px; font-weight: 400; line-height: 1; margin: 46px 0 14px; }
.post-page-footer { border-top: 1px solid rgba(0,39,44,.18); margin-top: 50px; padding-top: 20px; }
.cart-line-remove { background: transparent; border: 0; color: var(--bloodwine, #00272c); cursor: pointer; font: inherit; font-size: 11px; letter-spacing: .08em; margin-top: 9px; padding: 0; text-decoration: underline; text-transform: uppercase; }
.cart-line-remove:focus-visible { outline: 2px solid var(--sunflare, #e1ff51); outline-offset: 3px; }
.cart-line-remove:disabled { cursor: wait; opacity: .55; }
.page-contact-strip { align-items: center; background: rgba(225,255,81,.32); display: flex; justify-content: space-between; margin-top: 55px; padding: 25px; }
.page-contact-strip div { display: grid; gap: 7px; }
.page-contact-strip span { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.page-contact-strip a { color: var(--bloodwine, #00272c); text-decoration: none; }

.mobile-search-row { display: none; }

/* Explicit small-screen geometry prevents inherited desktop grids from clipping the home page. */
@media (max-width: 760px) {
  body.site-shell .announcement { font-size: 9px; min-height: 31px; padding-inline: 12px; text-align: center; }
  body.site-shell .site-header { align-items: center; display: grid; gap: 8px; grid-template-columns: auto minmax(0,1fr) auto; min-height: 62px; padding: 10px 14px; }
  body.site-shell .mobile-menu { display: inline-flex; }
  body.site-shell .brand-lockup { min-width: 0; }
  body.site-shell .brand-name { font-size: clamp(21px,6vw,26px); white-space: nowrap; }
  body.site-shell .header-actions { gap: 8px; justify-self: end; margin-left: 0; }
  body.site-shell .header-actions .search-field { display: none; }
  body.site-shell .mobile-search-row { display: block; grid-column: 1 / -1; padding-top: 2px; }
  body.site-shell .mobile-search-field { align-items: center; background: rgba(252,251,247,.84); border: 1px solid rgba(0,39,44,.2); display: flex; gap: 8px; min-height: 42px; padding: 4px 5px 4px 11px; width: 100%; }
  body.site-shell .mobile-search-field .search-icon { color: #00272c; font-size: 20px; line-height: 1; }
  body.site-shell .mobile-search-field input[type="search"] { background: transparent; border: 0; color: #00272c; font-size: 12px; min-width: 0; outline: 0; width: 100%; }
  body.site-shell .mobile-search-field button { background: #00272c; color: #f6f3ec; font-size: 9px; font-weight: 700; letter-spacing: .08em; min-height: 32px; padding: 0 12px; text-transform: uppercase; }
  body.site-shell .mobile-search-field button:active { transform: scale(.97); }
  body.site-shell .header-wishlist { display: inline-flex; font-size: 22px; min-height: 37px; min-width: 30px; }
  body.site-shell .bag-button { min-height: 37px; padding-inline: 8px; }
  body.site-shell .main-nav { background: var(--paper, #fbf8f0); border-bottom: 1px solid rgba(0,39,44,.12); box-shadow: 0 16px 30px rgba(0,39,44,.12); display: none; left: 0; padding: 15px 20px 20px; position: absolute; top: 100%; width: 100%; z-index: 1003; }
  body.site-shell .main-nav.is-open { display: grid; }
  body.site-shell .main-nav > a, body.site-shell .store-menu { border-bottom: 1px solid rgba(0,39,44,.12); padding: 13px 0; }
  body.site-shell .store-menu { display: block; }
  body.site-shell .store-menu-trigger { justify-content: space-between; width: 100%; }
  body.site-shell .store-submenu { box-shadow: none; display: none; left: auto; min-width: 0; opacity: 1; padding: 8px 0 0; pointer-events: auto; position: static; transform: none; visibility: visible; }
  body.site-shell .store-menu.is-open .store-submenu { display: grid; }
  body.site-shell .store-submenu a { font-size: 11px; padding-left: 10px; }
  body.site-shell .hero-section { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; overflow: clip; }
  body.site-shell .hero-copy { min-width: 0; padding: 52px 24px 44px; }
  body.site-shell .hero-copy h1 { font-size: clamp(50px,16vw,72px); line-height: .86; }
  body.site-shell .hero-intro { max-width: 100%; }
  body.site-shell .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  body.site-shell .hero-image-wrap { min-height: 385px; width: 100%; }
  body.site-shell .hero-image-wrap img { height: 100%; object-fit: cover; width: 100%; }
  body.site-shell .service-strip { display: grid; grid-template-columns: 1fr; }
  body.site-shell .service-strip > div { border-bottom: 1px solid rgba(251,248,240,.18); border-right: 0; padding: 18px 24px; }
  body.site-shell .home-edit-section, body.site-shell .home-products-section, body.site-shell .home-information, body.site-shell .ritual-motion-section { overflow: clip; padding-inline: 20px; }
  body.site-shell .section-intro { align-items: flex-start; flex-direction: column; gap: 18px; }
  body.site-shell .section-intro h2 { font-size: clamp(43px,14vw,61px); line-height: .9; }
  body.site-shell .editorial-grid { display: grid; gap: 14px; grid-template-columns: minmax(0,1fr); }
  body.site-shell .editorial-card, body.site-shell .editorial-card-large, body.site-shell .editorial-card-small { grid-column: auto; grid-row: auto; min-height: 350px; }
  body.site-shell .edit-note { grid-column: auto; }
  body.site-shell .product-grid.home-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.site-shell .product-card { min-width: 0; }
  body.site-shell .product-card-actions { flex-direction: column; }
  body.site-shell .ritual-motion-section { display: grid; gap: 34px; grid-template-columns: minmax(0,1fr); }
  body.site-shell .ritual-film { min-height: 390px; }
  body.site-shell .home-information-grid { display: grid; gap: 25px; grid-template-columns: 1fr; }
  body.site-shell .site-footer { display: grid; gap: 28px; grid-template-columns: 1fr 1fr; padding: 46px 20px 25px; }
  body.site-shell .footer-brand, body.site-shell .footer-bottom { grid-column: 1 / -1; }
  .store-hero { gap: 36px; grid-template-columns: 1fr; padding: 65px 22px 57px; }
  .store-hero h1 { font-size: clamp(57px,17vw,78px); }
  .store-catalogue { display: grid; gap: 28px; grid-template-columns: 1fr; padding: 40px 20px 65px; }
  .store-sidebar { position: static; }
  .store-category-list { grid-template-columns: 1fr 1fr; column-gap: 17px; }
  .store-results-bar { align-items: flex-start; flex-direction: column; gap: 14px; }
  .shop-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .posts-page, .post-page { padding: 56px 20px; }
  .page-contact-strip { align-items: flex-start; flex-direction: column; gap: 19px; }
  body.site-shell .cart-drawer { display: flex; flex-direction: column; height: 100dvh; max-width: none; right: 0; top: 0; transform: translateX(100%); visibility: hidden; width: min(100vw,480px); z-index: 1101; }
  body.site-shell .cart-drawer.is-open { transform: translateX(0); visibility: visible; }
  body.site-shell .cart-items { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
  body.site-shell .cart-drawer-foot { flex: 0 0 auto; }
  body.site-shell .servicerite-overlay { z-index: 1100; }
}
@media (max-width: 380px) { body.site-shell .brand-mark { display: none; } body.site-shell .bag-button > span:not(.bag-icon) { display: none; } body.site-shell .product-grid.home-product-grid, .shop-product-grid { gap: 13px; } }
