/* Mobile composition is designed as a compact storefront, rather than stacked desktop panels. */
.icon-arrow,.icon-chevron { display:inline-block; width:18px; height:18px; flex-shrink:0; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.arrow { display:inline-flex; align-items:center; }

@media(max-width:700px) {
  .topbar { display:none; }
  .retail-hero { color:#fff; }
  .carousel-stage { min-height:0; }
  .campaign-slide { height:440px; min-height:0; flex-direction:column; justify-content:flex-end; align-items:stretch; }
  .campaign-photo { position:absolute; inset:0; width:100%; height:310px; aspect-ratio:auto; }
  .campaign-photo img { width:100%; height:150%; top:-25%; object-position:50% 50%; }
  .campaign-photo::after { display:block; background:linear-gradient(180deg,transparent 24%,#0e25361a 40%,#0e2536db 72%,#0e2536 100%); }
  .campaign-copy { width:100%; margin:0; padding:0 22px 62px; }
  .campaign-copy > * { max-width:330px; }
  .campaign-copy .eyebrow { margin-bottom:8px; font-size:10px; letter-spacing:.12em; color:#fff; }
  .campaign-copy h2 { max-width:330px; font-size:29px; line-height:1.12; font-weight:550; letter-spacing:-.035em; margin-bottom:10px; }
  .campaign-copy > p:not(.eyebrow) { max-width:320px; font-size:13px; line-height:1.65; color:#edf2f6; }
  .campaign-copy .button { min-height:44px; margin-top:17px; padding:11px 17px; gap:24px; font-size:12px; border-radius:5px; }
  .oral-campaign .campaign-photo::after { background:linear-gradient(180deg,#edf3f600 25%,#edf3f622 40%,#edf3f6e8 69%,#edf3f6 100%); }
  .oral-campaign .campaign-copy .eyebrow { color:#304f64; }
  .oral-campaign .campaign-copy > p:not(.eyebrow) { color:#435d6e; }
  .carousel-controls { left:0; right:0; bottom:8px; padding-inline:12px; display:grid; grid-template-columns:44px 1fr 44px; gap:0; }
  .carousel-controls .carousel-arrow { width:44px; height:44px; min-height:44px; display:grid; place-items:center; border:0; background:transparent; }
  .carousel-controls .carousel-dots { justify-content:center; gap:0; }
  .carousel-dots button { min-width:36px; min-height:44px; }
  .carousel-dots span { width:5px; height:5px; opacity:.55; }
  .carousel-dots [aria-pressed=true] span { width:20px; height:4px; }
  .carousel-position { display:none; }
  .brand-strip { min-height:68px; padding-block:20px; gap:0; }
  .brand-strip > p { display:none; }
  .brand-strip .brand-logos { width:100%; flex:1; justify-content:space-around; gap:20px!important; }
  .brand-strip .brand-logos img { width:83px; max-height:24px; filter:none; opacity:1; }
  .collection-brand-logos .oralb-wordmark { font-size:25px; }
  .collection-brand-logos .wahl-wordmark { font-size:23px; }
  .section { padding-block:32px; }
  .section-head { margin-bottom:20px; gap:12px; align-items:center; }
  .section-head .eyebrow { display:none; }
  .section-head h2 { font-size:25px; line-height:1.2; }
  .section-head > .text-link { font-size:11px; max-width:130px; min-height:44px; margin:0; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .category-card.real-category { display:flex; flex-direction:column; align-items:stretch; gap:12px; min-height:245px; padding:16px 14px; }
  .category-card .category-number { display:none; }
  .category-card.real-category > img { order:-1; width:100%; height:112px; max-width:135px; align-self:center; }
  .category-card.real-category .category-copy { display:flex; flex-direction:column; flex:1; max-width:none; }
  .category-card h3 { font-size:18px; line-height:1.25; overflow-wrap:anywhere; hyphens:auto; }
  .category-card .category-copy > p { display:none; }
  .category-card .text-link { font-size:11px; line-height:1.5; min-height:44px; margin-top:auto; padding-top:10px; gap:8px; border:0; }
  .category-card .icon-arrow { width:15px; height:15px; }
  #collection { background:#fff; border-top:1px solid #e6ebee; }
  .collection-toolbar { margin:8px 0 18px; }
  .filter-group { display:flex; flex-wrap:wrap; gap:0 18px; border-bottom:1px solid #e2e8ed; }
  .filter-group > .filter { flex:0 1 auto; min-height:44px; max-width:100%; border:0; border-bottom:2px solid transparent; padding:9px 0; background:none; border-radius:0; font-size:12px; line-height:1.5; color:#61727e; }
  .filter-group > .filter[aria-pressed=true] { border-bottom-color:#15384f; color:#15384f; font-weight:600; }
  .result-count { margin-top:8px; text-align:left; font-size:10px; color:#61727e; }
  .product-grid { gap:26px 12px; }
  .product-image { height:auto; min-height:0; aspect-ratio:1; padding:27px 10px 34px; background:#f7f9fa; border-color:#edf0f3; border-radius:8px; }
  .product-image img { width:100%; height:100%; max-height:none; object-fit:contain; mix-blend-mode:multiply; }
  .product-tag { top:10px; left:10px; right:10px; max-width:none; font-size:8px; letter-spacing:0; }
  .quick-view { width:44px; height:44px; right:4px; bottom:4px; background:transparent; }
  .product-info { padding-top:12px; }
  .product-brand { font-size:9px; letter-spacing:.08em; }
  .product-name { font-size:14px; line-height:1.45; letter-spacing:-.01em; }
  .product-title-button { min-height:0; }
  .product-type { margin-top:5px; font-size:11px; line-height:1.6; }
  .product-footer { margin-top:12px; padding-top:5px; min-height:44px; gap:3px 8px; }
  .product-footer > span { flex-basis:auto; font-size:10px; }
  .product-footer a { font-size:12px; gap:5px; min-height:44px; margin-left:auto; }
  .product-footer .icon-arrow { width:15px; height:15px; }
  .brand-panel { padding:24px; min-height:0; }
  .brand-panel .brand-panel-logo { margin-bottom:26px; }
  .brand-panel h3 { font-size:25px; }
  .brand-panel p { font-size:13px; line-height:1.75; }
  .more-brands > a { padding:20px 24px; }
  .ritual { grid-template-columns:minmax(0,1fr); }
  .ritual-photo { height:auto; aspect-ratio:16/9; }
  .ritual-photo.lifestyle-photo img { position:absolute; width:100%; height:150%; top:-25%; object-fit:cover; transform:none; }
  .ritual-copy { padding:24px; }
  .ritual-copy .eyebrow { display:none; }
  .ritual-copy h2 { font-size:26px; margin:0 0 14px; }
  .ritual-copy > p:not(.eyebrow) { font-size:13px; line-height:1.8; }
  .service-grid { margin-top:0; gap:20px; }
  .service h3 { font-size:14px; }
  .service p { font-size:12px; line-height:1.75; }
  .trade-banner { padding:25px 24px; margin-bottom:32px; }
  .trade-banner h2 { font-size:28px; max-width:none; }
  .trade-banner p { font-size:13px; }
  .page-intro h1,.catalogue-intro h1,.search-intro h1 { font-size:36px; line-height:1.15; }
  .about-intro h1,.contact-intro h1,.brand-hero h1 { font-size:38px; line-height:1.15; }
  .search-product-copy h1 { font-size:32px; margin-block:12px 18px; }
  .search-product-art { padding:20px; }
  .search-product-art img { max-height:300px; }
  .search-guide h1 { font-size:36px; }
  .search-guide h2 { font-size:27px; }
  .company-information h2 { font-size:28px; }
}

@media(max-width:650px) {
  .wrap { width:calc(100% - 32px); }
  .header-inner { height:62px; gap:6px; }
  .wordmark { font-size:20px; gap:8px; letter-spacing:-1px; }
  .brand-symbol { width:22px; height:22px; }
  .market-toggle { padding-inline:5px; gap:4px; min-width:50px; }
  .market-toggle .market-flag img { width:18px; height:14px; }
  .nav-toggle { width:40px; height:44px; padding:10px; }
  .main-nav { top:62px; max-height:calc(100svh - 62px); }
  .market-panel { top:var(--picker-top,72px); max-height:calc(100svh - var(--picker-top,72px) - 12px); }
}

@media(max-width:370px) {
  .campaign-slide { height:430px; }
  .campaign-photo { height:300px; }
  .campaign-copy { padding-inline:20px; }
  .campaign-copy h2 { font-size:27px; }
  .category-card.real-category { padding:14px 12px; }
  .category-card h3 { font-size:16px; }
  .category-card.real-category > img { height:105px; }
  .product-name { font-size:13px; }
}

@media(min-width:651px) and (max-width:700px) {
  .main-nav { gap:10px; }
  .wordmark { font-size:19px; }
  .header-inner { gap:12px; }
}
@media(max-width:700px) {
 #collection .section-head { flex-wrap:nowrap; align-items:flex-end; }
 #collection .section-head > div { flex:1 1 0; min-width:0; }
 #collection .section-head > .text-link { flex:0 0 auto; max-width:110px; padding:0; border:0; }
 .quick-view { border:1px solid #dfe6eb; border-radius:50%; background:#fff; padding:0; }
}
@media(max-width:700px) {
 .page-intro:has(> .breadcrumbs:only-child) { padding-block:10px; }
 .page-intro > .breadcrumbs:last-child { margin-bottom:0; }
 .contact-intro > .eyebrow { display:none; }
 .contact-intro h1 { font-size:32px; margin:8px 0 14px; }
 .contact-intro .intro-description { max-width:none; line-height:1.75; }
 .contact-details { margin-top:18px; padding-top:14px; }
 .contact-checklist { display:none; }
 .contact-form { background:#f3f6f8; padding:24px; }
}
