/* Heydi's Premium Wine: mobile layout and accessible touch controls. */
.mobile-booking-access { display:none; }
.heydis-commerce .product > * { min-width:0; }
.heydis-commerce .woocommerce-tabs,
.heydis-commerce .related.products { grid-column:1 / -1; }
.heydis-commerce .product .variations { width:100%; table-layout:fixed; }
.heydis-commerce .product .variations select { max-width:100%; }
.heydis-cart-drawer[aria-hidden="true"] { visibility:hidden; }
.heydis-cart-drawer[aria-hidden="false"] { visibility:visible; }
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--berry); outline-offset:4px;
}
.site-header :focus-visible,.mobile-menu :focus-visible,.quick-access :focus-visible {
  outline-color:var(--accent,#D8A03C);
}

@media (max-width:900px) {
  :root { --mobile-header:76px; --mobile-dock:66px; --mobile-gutter:20px; }
  html { scroll-padding-top:calc(var(--mobile-header) + 16px); }
  body.heydis-wordpress { padding-bottom:calc(var(--mobile-dock) + env(safe-area-inset-bottom,0px)); }
  body.woocommerce-checkout,body.woocommerce-cart { padding-bottom:0; }
  .site-header,.site-header.is-scrolled {
    min-height:var(--mobile-header); height:var(--mobile-header); padding:8px var(--mobile-gutter);
    grid-template-columns:minmax(0,1fr) auto; gap:8px; background:var(--ink,#2D0433);
    border-bottom:1px solid rgba(216,160,60,.26); box-shadow:none;
  }
  .site-header .brand-logo { width:106px!important; height:54px!important; padding:0; }
  .header-tools { gap:8px; }
  .site-header .desktop-nav,.header-tools .button-header,.header-tools .shop-link,
  .header-tools .account-link { display:none!important; }
  .header-tools .cart-icon { min-width:46px; height:44px; min-height:44px; padding:8px; gap:4px; }
  .header-tools .cart-icon>span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .header-tools .cart-icon::before { content:''; display:block; width:18px; height:20px; background:var(--accent,#D8A03C); mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 9h16l-1 11H5L4 9Z'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
  .header-tools .cart-count { position:static; min-width:18px; height:18px; font-size:10px; }
  .header-tools .language-toggle { display:flex!important; width:auto; min-width:64px; height:44px; gap:4px; padding:5px; }
  .language-toggle span { font-size:10px; }
  .menu-button { flex:0 0 44px!important; width:44px!important; height:44px!important; padding:10px!important; border-radius:50%; }
  .menu-button::before,.menu-button::after { content:none!important; }
  .menu-button>span:not(.screen-reader-text) { display:block!important; width:20px; height:1px; margin:3px 0; transition:transform .2s,opacity .2s; }
  .menu-button[aria-expanded="true"]>span:first-child { transform:translateY(7px) rotate(45deg); }
  .menu-button[aria-expanded="true"]>span:nth-child(2) { opacity:0; }
  .menu-button[aria-expanded="true"]>span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .mobile-menu {
    inset:calc(var(--mobile-header) + var(--wp-admin-bar,0px)) 0 0;
    padding:20px var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom,0px));
    background:var(--ink,#2D0433); overscroll-behavior:contain;
  }
  .mobile-menu nav a { padding:13px 0; font-size:clamp(1.7rem,7vw,2.2rem); line-height:1.15; }
  .mobile-menu nav .menu { margin:0 0 20px; }
  .mobile-commerce { gap:10px; margin:0 0 18px; }
  .mobile-commerce a { min-height:48px; }
  .mobile-menu>.button { min-height:50px; color:var(--ink)!important; }
  .mobile-menu>.button>span { color:inherit!important; }
  .quick-access {
    inset:auto 0 0; z-index:150; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
    min-height:var(--mobile-dock); padding:6px max(12px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
    border-top:1px solid rgba(216,160,60,.28); background:var(--ink); box-shadow:0 -4px 20px rgba(45,4,51,.1);
  }
  .quick-access .quick-access-item,.quick-access .quick-access-item:hover,.quick-access .quick-access-item:focus-visible,
  .quick-access .mobile-booking-access {
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px;
    width:100%; min-width:0; height:54px; margin:0; padding:4px; border:0; border-radius:0;
    background:transparent; box-shadow:none; transform:none; color:var(--surface,#fff);
  }
  .quick-access .quick-access-item svg { width:21px; height:21px; margin:0; flex:0 0 21px; }
  .quick-access .quick-access-item span,.quick-access .mobile-booking-access span:last-child {
    display:block; opacity:1; font:600 10px/1.2 var(--sans); letter-spacing:.05em; text-transform:uppercase; color:inherit;
  }
  .quick-access .mobile-booking-access { order:2; background:rgba(216,160,60,.12); border-radius:10px; }
  .mobile-booking-access>span:first-child { font-size:23px; line-height:21px; color:var(--accent,#D8A03C); }
  .quick-access .quick-access-item:nth-child(3) { order:3; }
  body.menu-is-open .quick-access,body.cart-drawer-open .quick-access,body.shop-filters-open .quick-access,
  body.mobile-booking-open .quick-access,body.mobile-keyboard-open .quick-access,
  body.woocommerce-cart .quick-access,body.woocommerce-checkout .quick-access { display:none; }
  .section,.site-footer,.shop-service-section { padding:56px var(--mobile-gutter); }
  .section-intro,.service-list-intro,.pro-interactor-head,.shop-service-heading { grid-template-columns:minmax(0,1fr); gap:18px; }
  .display-heading,.shop-service-heading h2,.consultation-band h2,.footer-lead h2 {
    font-size:clamp(2.6rem,10.8vw,4.1rem); line-height:1; letter-spacing:-.035em; text-wrap:balance;
  }
  .overline,.eyebrow { font-size:11px; line-height:1.6; letter-spacing:.14em; }
  .section-intro>p,.section-copy p,.pro-interactor-intro p { font-size:16px; line-height:1.65; }
  .button,.text-link,.arrow-link { min-height:48px; }
  .button { padding:13px 20px; font-size:12px; letter-spacing:.07em; }
  .text-link,.arrow-link { display:inline-flex; align-items:center; font-size:12px; }
  .hero { min-height:min(780px,calc(100svh - var(--mobile-dock))); }
  .hero-content { width:100%; padding:calc(var(--mobile-header) + 160px) var(--mobile-gutter) 28px; }
  .hero h1 { max-width:11ch; font-size:clamp(3rem,13.5vw,4.4rem); line-height:.94; }
  .hero-copy { margin-top:16px; font-size:16px; line-height:1.55; }
  .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin-top:22px; }
  .hero-actions .button { font-size:11px; min-height:50px; padding:13px 18px; }
  .hero-actions .text-link { font-size:11px; }
  .hero-video { object-position:64% center; }
  .hero-scrim { background:linear-gradient(0deg,rgba(45,4,51,.95),rgba(45,4,51,.55) 45%,rgba(45,4,51,.1) 82%); }
  .inner-hero {
    min-height:620px; min-height:min(700px,calc(100svh - var(--mobile-dock))); padding:calc(var(--mobile-header) + 48px) var(--mobile-gutter) 40px;
    background-position:65% center; align-content:end;
  }
  .inner-hero h1 { font-size:clamp(2.85rem,12.5vw,4.5rem); line-height:.98; letter-spacing:-.035em; margin:10px 0 18px; text-wrap:balance; }
  .inner-hero>p:not(.overline) { font-size:16px; line-height:1.6; color:rgba(255,255,255,.88); }
  .inner-hero .button { margin-top:18px; }
  .home-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
  .home-service-card,.home-service-featured,.home-service-compact,.home-service-card:last-child {
    grid-column:auto; grid-row:auto; min-height:420px; border-radius:19px;
  }
  .home-service-card img { object-position:center; }
  .service-orbit { display:none; }
  .service-card-copy,.home-service-compact .service-card-copy { inset:auto 20px 22px; }
  .home-service-card h3,.home-service-compact h3 { margin:8px 0; font-size:2.2rem; line-height:1.05; }
  .home-service-card span { font-size:14px; line-height:1.5; }
  .home-service-card p { color:var(--accent,#D8A03C)!important; font-size:11px; }
  .service-section-footer,.results-footer,.event-cinema-footer,.pro-interactor-footer { gap:16px; margin-top:24px; }
  .compare-gallery { gap:14px; margin:28px 0 0; padding:0 0 14px; scroll-padding:0; }
  .compare-reveal,.compare-reveal:last-child { flex-basis:90%; width:90%; aspect-ratio:4/5; touch-action:pan-y; }
  .compare-caption { font-size:1.5rem; }
  .event-video-gallery { gap:20px; }
  .event-video-featured .event-video-shell,.event-video-card .event-video-shell { aspect-ratio:4/5; max-height:480px; }
  .event-video-copy,.event-video-card .event-video-copy { padding:22px; }
  .event-video-copy h3,.event-video-card .event-video-copy h3 { font-size:1.9rem; }
  .pro-solution-copy strong { font-size:1.75rem; line-height:1.1; }
  .pro-solution-copy small { font-size:14px; line-height:1.5; }
  .pro-visual { min-height:320px; }
  .vision-media { min-height:0; height:420px; }
  .vision-copy { padding:40px var(--mobile-gutter); }
  .faq-list summary { min-height:64px; grid-template-columns:24px minmax(0,1fr) 32px; }
  .faq-list summary strong { font-size:1.4rem; line-height:1.2; }
  .faq-list details>p { padding:0 0 20px; font-size:15px; line-height:1.65; }
  .service-list-intro { margin-bottom:28px; }
  .services-premium-grid { gap:0; }
  .service-premium-card { min-height:0; padding:24px 0; }
  .service-premium-card h3 { margin:12px 0 10px; font-size:2rem; line-height:1.1; }
  .service-premium-card p { margin:8px 0; font-size:15px; line-height:1.6; }
  .service-premium-card button { min-height:48px; padding:10px 0; font-size:14px; }
  .service-premium-card::after { content:none; }
  .services-price-note { font-size:13px; line-height:1.65; text-align:left; }
  .business-solution { grid-template-columns:minmax(0,1fr); }
  .business-solution figure { min-height:0; height:360px; }
  .business-solution-copy { padding:32px var(--mobile-gutter); }
  .business-solution-copy h2 { font-size:2.7rem; }
  .story-hero { min-height:680px; }
  .story-hero-copy h1 { font-size:clamp(2.85rem,12vw,4.5rem); line-height:1; }
  .story-gallery-final { padding:0 var(--mobile-gutter) 56px; gap:18px; }
  .story-gallery-card { min-height:0; height:480px; }
  .story-dark-content-final article { min-height:0; }
  .story-closing { padding:48px var(--mobile-gutter); }
  .story-closing h2 { font-size:2.8rem; }
  /* A scroll-pinned desktop photo wall becomes a readable mobile gallery. */
  .results-zoom-parallax { height:auto; padding:48px var(--mobile-gutter); display:flex; flex-direction:column; gap:20px; }
  .zoom-parallax-sticky { position:static; height:auto; display:flex; flex-direction:row; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; }
  .zoom-parallax-caption { position:static; order:-1; padding:0; align-items:flex-start; text-align:left; }
  .zoom-parallax-item { position:static; display:block; flex:0 0 88%; scroll-snap-align:start; transform:none!important; will-change:auto; }
  .results-zoom-parallax .zoom-parallax-item .zoom-parallax-figure { position:static; top:auto; left:auto; width:100%; height:auto; aspect-ratio:4/5; margin:0; box-shadow:none; border-radius:19px; }
  .zoom-parallax-item .zoom-parallax-figure img { height:100%; }
  .results-masonry { columns:2; column-gap:12px; }
  .result-tile { margin:0 0 12px; border-radius:14px; }
  .result-tile img { min-height:0; height:auto; }
  .result-tile figcaption { padding:8px; font-size:10px; }
  .footer-lead { gap:20px; padding-bottom:30px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; padding:30px 0; }
  .footer-grid>div:first-child { grid-column:1/-1; }
  .footer-grid p,.footer-grid a { font-size:14px; line-height:1.6; }
  .footer-grid strong { font-size:11px; }
  .footer-grid a { display:inline-flex; align-items:center; min-height:44px; }
  .footer-grid .menu { gap:0; }
  .footer-bottom { padding-top:20px; font-size:12px; }
  .content-page,.booking-page,.heydis-commerce { padding-top:calc(var(--mobile-header) + var(--wp-admin-bar,0px)); }
  .content-page-header { padding:40px var(--mobile-gutter); }
  .content-page-header h1 { font-size:clamp(2.5rem,10vw,3.8rem); line-height:1.05; overflow-wrap:anywhere; }
  .content-narrow { padding:32px var(--mobile-gutter); }
  .commerce-container { padding:28px var(--mobile-gutter) 48px; }
  .shop-premium-hero { min-height:0; padding:36px var(--mobile-gutter); }
  .shop-premium-hero h1 { font-size:clamp(2.7rem,11.5vw,4rem); line-height:.98; margin:8px 0 16px; }
  .shop-premium-hero-copy>p:last-child { font-size:15px; line-height:1.55; }
  .shop-premium-hero-mark { width:150px; opacity:.15; right:-30px; bottom:-30px; }
  .shop-trust-strip { grid-template-columns:repeat(3,minmax(0,1fr)); padding:8px var(--mobile-gutter); gap:12px; }
  .shop-trust-strip>div { flex-direction:column; justify-content:flex-start; gap:6px; min-height:0; padding:10px 0; border:0; text-align:center; }
  .shop-trust-strip>div>span { width:28px; height:28px; flex-basis:28px; }
  .shop-trust-strip strong { font-size:11px; line-height:1.3; }
  .shop-trust-strip small { font-size:10px; line-height:1.4; }
  .commerce-container.shop-workspace { display:block; padding-top:24px; }
  .shop-results-intro { gap:12px; padding-bottom:20px; margin-bottom:20px; }
  .shop-results-intro h2 { font-size:2.5rem; }
  .shop-results-intro>p:last-child { font-size:14px; }
  .shop-filter-toggle { min-height:48px; border-radius:0; margin-bottom:22px; font-size:12px; }
  .shop-filters { left:0; right:auto; width:min(390px,94vw); padding:20px; height:100dvh; transform:translateX(-105%); overscroll-behavior:contain; visibility:hidden; }
  .shop-filters.is-open { transform:none; visibility:visible; }
  .shop-filters-head>button { width:44px; height:44px; }
  .shop-filter-option { min-height:44px; }
  .shop-filter-option>span { font-size:15px; }
  .shop-filter-option input { width:20px; height:20px; }
  .shop-search-field input,.shop-results .woocommerce-ordering select { font-size:16px; }
  .shop-results .woocommerce-ordering { float:none; width:100%; }
  .shop-results .woocommerce-ordering select { width:100%; max-width:100%; min-height:48px; }
  .shop-results .woocommerce-result-count { font-size:13px; }
  .shop-results ul.products,.shop-results .woocommerce ul.products,.related.products ul.products,.related.products .products {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important;
  }
  .shop-results ul.products li.product,.related.products ul.products li.product { min-width:0; padding:10px!important; border-radius:14px; box-shadow:none; display:flex; flex-direction:column; }
  .shop-results ul.products li.product a img,.related.products ul.products li.product a img { width:100%; height:auto!important; aspect-ratio:1; object-fit:contain; margin-bottom:12px!important; background:var(--surface)!important; }
  .shop-results ul.products li.product .woocommerce-loop-product__title,.related.products ul.products li.product .woocommerce-loop-product__title { font-size:1.2rem!important; min-height:0; line-height:1.15; overflow-wrap:anywhere; }
  .product-card-meta { font-size:10px; line-height:1.5; letter-spacing:.025em; margin:8px 0; }
  .shop-results ul.products li.product .price,.related.products ul.products li.product .price { font-size:14px!important; margin:12px 0!important; }
  .shop-results ul.products li.product .button,.related.products ul.products li.product .button { margin-top:auto!important; width:100%; padding:10px 6px!important; font-size:11px!important; min-height:44px; line-height:1.4; white-space:normal; }
  .woocommerce span.onsale { padding:5px 8px; font-size:11px; line-height:1.3; }
  .woocommerce div.product { grid-template-columns:minmax(0,1fr); gap:24px; padding:0; }
  .woocommerce div.product div.images,.woocommerce div.product div.summary { min-width:0; width:100%; margin:0; }
  .woocommerce div.product div.images img { width:100%; max-height:440px; object-fit:contain; background:#fff; }
  .woocommerce div.product .product_title { font-size:clamp(2.15rem,9vw,3rem); line-height:1.05; overflow-wrap:anywhere; margin:0 0 18px; }
  .woocommerce div.product .summary p.price { font-size:1.75rem; }
  .woocommerce-product-details__short-description { font-size:15px; line-height:1.65; }
  .woocommerce div.product form.cart .variations { display:block; width:100%; margin:20px 0; }
  .woocommerce div.product form.cart .variations tbody,.woocommerce div.product form.cart .variations tr,
  .woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td { display:block; width:100%; padding:0; }
  .woocommerce div.product form.cart .variations th { margin:16px 0 8px; font-size:14px; text-align:left; }
  .woocommerce div.product form.cart .variations select { min-width:0; width:100%; max-width:100%; min-height:50px; padding:12px 28px 12px 12px; font-size:16px; border:1px solid var(--soft,#EFE3F1); border-radius:0; background:#fff; color:var(--ink); }
  .woocommerce .single_variation_wrap .variations_button,.woocommerce div.product form.cart:not(.variations_form) { display:flex; gap:12px; align-items:start; flex-wrap:wrap; }
  .woocommerce .single_add_to_cart_button { flex:1; min-height:50px; white-space:normal; }
  .woocommerce .quantity .qty { width:70px; min-height:50px; font-size:16px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:0; padding:0; margin:10px 0 24px; overflow-x:auto; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex:0 0 auto; padding:0; margin:0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { display:flex; align-items:center; min-height:48px; padding:10px 14px; font-size:11px; letter-spacing:.025em; white-space:nowrap; }
  .woocommerce div.product .woocommerce-tabs .panel { font-size:15px; overflow-wrap:anywhere; }
  .woocommerce table.shop_attributes th { width:32%; }
  .woocommerce table.shop_attributes td { overflow-wrap:anywhere; }
  .related.products { margin-top:24px; padding-top:28px; }
  .related.products>h2 { font-size:2.4rem; line-height:1.05; }
  .booking-page-shell { grid-template-columns:minmax(0,1fr); gap:24px; padding:36px var(--mobile-gutter) 48px; }
  .booking-page-intro h1 { font-size:clamp(2.8rem,12vw,4rem); line-height:1; }
  .booking-page-intro>p { font-size:16px; }
  .booking-page-intro>.overline { font-size:11px; }
  .booking-page-form>.booking-copy { display:none; }
  .booking-promise { margin-top:24px; gap:8px 14px; font-size:14px; }
  .booking-page-form { padding:22px 18px; margin-top:0; border-radius:19px; box-shadow:none; min-width:0; }
  .booking-modal { width:calc(100% - 20px); max-width:600px; max-height:calc(100dvh - 24px); margin:auto; border-radius:19px; overscroll-behavior:contain; }
  .booking-panel { display:block; padding:64px 20px 24px; }
  .modal-close { position:sticky; display:flex; align-items:center; justify-content:center; top:0; float:right; width:44px; height:44px; margin:-52px 0 8px; border:1px solid var(--soft); background:#fff; border-radius:50%; }
  .booking-copy h2 { font-size:2.5rem; line-height:1; }
  .booking-copy>p:not(.overline) { font-size:15px; }
  .form-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .form-grid label { min-width:0; font-size:12px; line-height:1.5; letter-spacing:.045em; }
  .form-grid input,.form-grid select,.form-grid textarea,.woocommerce form .form-row input.input-text,
  .woocommerce form .form-row select,.woocommerce form .form-row textarea { width:100%; min-width:0; max-width:100%; min-height:50px; font-size:16px; line-height:1.4; }
  .form-grid textarea { min-height:100px; }
  .form-grid input,.form-grid select,.form-grid textarea { font-weight:400; }
  body.mobile-booking-open { overflow:hidden; }
  .form-check { font-size:14px!important; line-height:1.6!important; gap:12px!important; padding:5px 0; }
  .form-check input { flex:0 0 20px; width:20px; min-height:20px; height:20px; margin-top:3px; }
  .booking-privacy,.booking-hours-note,.form-note { font-size:12px; line-height:1.6; }
  .heydis-cart-drawer { top:8px!important; right:8px!important; bottom:8px!important; width:calc(100% - 16px)!important; height:calc(100dvh - 16px)!important; padding:20px!important; }
  .heydis-cart-drawer>header>button,.heydis-cart-drawer .woocommerce-mini-cart-item .remove { width:44px; height:44px; }
  .heydis-cart-drawer .woocommerce-mini-cart-item { display:block; padding:18px 46px 18px 0; min-height:110px; }
  .heydis-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) { display:block; font-size:1.25rem; line-height:1.2; }
  .heydis-cart-drawer .woocommerce-mini-cart-item img { position:static!important; float:left!important; margin:0 12px 8px 0!important; width:62px!important; height:72px!important; }
  .heydis-cart-drawer>header h2>span:first-child { display:inline; padding:0; background:none; font:400 2rem/1 var(--serif); }
  .heydis-cart-drawer .woocommerce-mini-cart-item .quantity { font-size:14px; }
  .heydis-cart-drawer .woocommerce-mini-cart__buttons { grid-template-columns:1fr; }
  .heydis-cart-drawer .woocommerce-mini-cart__buttons .button { min-height:48px; }
  .cart-drawer-assurance small { font-size:12px; }
  .woocommerce-account .woocommerce { grid-template-columns:minmax(0,1fr); }
  .woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content { width:100%!important; min-width:0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { min-height:48px; font-size:14px; }
  .wc-block-checkout,.wc-block-cart { max-width:100%; min-width:0; font-size:16px; }
  .wc-block-checkout .wc-block-components-text-input input,.wc-block-checkout .wc-block-components-combobox-control input,
  .wc-block-checkout .wc-block-components-select__select { font-size:16px!important; }
  .wc-block-components-button { min-height:50px; }
  .wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button { background:var(--wine,#4B0755)!important; color:#fff!important; border:1px solid var(--wine,#4B0755)!important; }
  .wc-block-cart__submit-button .wc-block-components-button__text,.wc-block-components-checkout-place-order-button .wc-block-components-button__text { color:#fff!important; font-size:15px; }
  .wc-block-cart .wc-block-components-product-name { font-size:15px; line-height:1.45; }
  .wc-block-cart .wc-block-components-product-metadata { font-size:13px; line-height:1.5; }
  .wc-block-components-sidebar-layout { gap:24px; }
  .wc-block-components-main,.wc-block-components-sidebar { min-width:0; }
  .wc-block-checkout .wc-block-components-title { font:600 18px/1.35 var(--sans); }
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-salon-name,
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-stylist-name { display:flex; flex-direction:column-reverse; gap:8px; }
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-salon-name label,
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-stylist-name label {
    position:static!important; transform:none!important; max-width:100%; white-space:normal; overflow:visible; font-size:14px; line-height:1.5; margin:0;
  }
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-salon-name input,
  .wc-block-checkout .wc-block-components-address-form__heydis-professional-stylist-name input { padding:12px!important; min-height:50px; }
  .woocommerce form .form-row label { font-size:12px; line-height:1.5; }
  .woocommerce-error,.woocommerce-message,.woocommerce-info { overflow-wrap:anywhere; font-size:14px; }
  /* Never hide an entire long section behind a scroll threshold on a phone. */
  .heydis-wordpress.heydis-motion .reveal:not(.is-visible),.heydis-wordpress.heydis-motion-ready .motion-reveal:not(.is-visible),
  .heydis-wordpress .reveal-emphasis,.heydis-wordpress .reveal-soft {
    opacity:1!important; transform:none!important; filter:none!important; clip-path:none!important;
  }
  .motion-reveal,.motion-control,.reveal { transition-delay:0s!important; }
}
@media (max-width:600px) {
  .home-service-grid { grid-template-columns:minmax(0,1fr); }
  .home-service-card,.home-service-featured,.home-service-compact,.home-service-card:last-child { min-height:430px; }
  .services-premium-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:359px) {
  :root { --mobile-gutter:14px; }
  .site-header .brand-logo { width:88px!important; }
  .header-tools { gap:4px; }
  .shop-results ul.products,.shop-results .woocommerce ul.products,.related.products ul.products { gap:8px!important; }
  .shop-results ul.products li.product,.related.products ul.products li.product { padding:8px!important; }
}
@media (max-height:550px) and (max-width:900px) {
  .hero,.inner-hero { min-height:0; }
  .hero-content { padding-top:calc(var(--mobile-header) + 48px); }
}
@media (hover:none) {
  .button:hover,.woocommerce ul.products li.product:hover,.shop-results ul.products li.product:hover { transform:none; box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) {
  .heydis-wordpress .motion-reveal,.heydis-wordpress .reveal { opacity:1!important; transform:none!important; filter:none!important; }
}
