/*
 * carot theme — Header, SearchBar, MobileNav, Footer.
 * Sections Header, SearchBar, MobileNav, Footer of docs/design-system/components/bundle.css.
 * Generated by scripts/pull-design-system.mjs on 2026-10-08. Do not edit: change
 * docs/design-system and re-run the script (feature CAROT_THEME D2).
 */
/* ---------- Header ---------- */
.c-header{position:sticky;top:0;z-index:var(--z-header);background:var(--card);border-bottom:1px solid var(--border)}
.c-header__bar{display:flex;align-items:center;gap:var(--space-2);min-height:60px}
.c-logo{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);text-decoration:none;margin-right:auto;flex-shrink:0}
.c-logo img{height:var(--logo-height);width:auto}
.c-logo__text{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.02em;color:var(--foreground)}
.c-logo__slot{display:grid;place-items:center;width:var(--logo-height);height:var(--logo-height);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-size:9px;line-height:1.1;text-align:center;color:var(--muted-foreground)}
.c-nav{display:none}
.c-nav ul{display:flex;list-style:none;padding:0;gap:var(--space-1)}
.c-nav a{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-medium);text-decoration:none;color:var(--foreground);white-space:nowrap}
.c-nav a:hover{background:var(--surface)}
.c-nav a[aria-current]{color:var(--brand-strong);box-shadow:inset 0 -2px 0 var(--primary);border-radius:var(--radius-md) var(--radius-md) 0 0}
.c-header__search{position:static}
.c-header__search>summary{list-style:none}
.c-header__search>summary::-webkit-details-marker{display:none}
.c-header__search[open]>summary{background:var(--surface)}
.c-header__searchpanel{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--border);padding:var(--space-3) var(--gutter)}
.c-header__search-inline{display:none}
@container site (min-width:1008px){
  .c-header__bar{min-height:72px;gap:var(--space-5)}
  .c-logo{margin-right:0}
  .c-logo img{height:var(--logo-height-lg)}
  .c-nav{display:block;flex:1;min-width:0;overflow:hidden}
  .c-nav ul{padding:var(--space-1)}
  .c-header__menu,.c-header__search{display:none}
  .c-header__search-inline{display:block;width:280px;flex-shrink:0}
  .c-header.is-tight .c-nav{visibility:hidden}
  .c-header.is-tight .c-header__menu{display:inline-flex}
}

/* ---------- SearchBar ---------- */
.c-search{display:flex;align-items:center;gap:var(--space-2);position:relative}
.c-search__field{flex:1;display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--muted-foreground)}
.c-search__field:focus-within,.c-search__field.is-focus{background:var(--card);border-color:var(--foreground);outline:2px solid var(--focus);outline-offset:2px}
.c-search input{flex:1;min-width:0;border:0;background:transparent;outline:0;font-size:16px;color:var(--foreground);padding:0}
.c-search input::placeholder{color:var(--muted-foreground);opacity:1}
.c-search__clear{display:grid;place-items:center;width:32px;height:32px;margin-right:-6px;border:0;background:transparent;color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer}
.c-search__hint{font-size:var(--text-caption);color:var(--muted-foreground);margin-top:var(--space-2)}

/* ---------- MobileNav ---------- */
.c-mnav{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;justify-content:flex-end}
.c-mnav[hidden]{display:none}
.c-mnav__scrim{position:absolute;inset:0;background:var(--scrim)}
.c-mnav__panel{position:relative;width:min(340px,88%);height:100%;overflow-y:auto;background:var(--raised);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column}
.c-mnav__top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--border);min-height:60px}
.c-mnav__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-small);color:var(--muted-foreground)}
.c-mnav__list{list-style:none;padding:var(--space-2) 0;margin:0}
.c-mnav__list a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 var(--space-4);font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-body);text-decoration:none}
.c-mnav__list a:hover{background:var(--surface)}
.c-mnav__list a[aria-current]{color:var(--brand-strong);background:var(--brand-muted)}
.c-mnav__sub{list-style:none;padding:0 0 var(--space-2);margin:0}
.c-mnav__sub a{min-height:var(--touch-target);padding-left:var(--space-6);font-family:var(--font-body);font-weight:var(--weight-regular);font-size:var(--text-small);color:var(--muted-foreground)}
.c-mnav__group{padding:var(--space-4);border-top:1px solid var(--border);margin-top:auto}
.c-mnav__label{font-size:var(--text-caption);color:var(--muted-foreground);margin-bottom:var(--space-2)}
.c-mnav__shops{display:grid;gap:var(--space-2)}
.c-mnav--demo{position:relative;inset:auto;height:780px}

/* ---------- Footer ---------- */
.c-footer{background:var(--contrast);color:var(--contrast-foreground);font-size:var(--text-small);line-height:var(--leading-normal);padding-block:var(--space-7) var(--space-5);margin-top:var(--section-gap)}
.c-footer a{color:var(--contrast-muted-foreground);text-decoration:none}
.c-footer a:hover{color:var(--contrast-foreground);text-decoration:underline}
.c-footer__grid{display:grid;gap:var(--space-6)}
.c-footer__title{font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--contrast-foreground);margin-bottom:var(--space-3)}
.c-footer__list{list-style:none;padding:0;display:grid}
.c-footer__list a{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}
.c-footer__brand{display:grid;align-content:start;justify-items:start;gap:var(--space-3);color:var(--contrast-muted-foreground)}
.c-footer__brand .c-logo__text{color:var(--contrast-foreground)}
.c-footer__logo{display:inline-flex;align-self:start}
.c-footer__logo img{height:var(--logo-height-footer);width:auto}
.c-footer__bottom{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--contrast-muted-foreground);font-size:var(--text-caption);color:var(--contrast-muted-foreground)}
.c-footer .c-platform__logo{background:var(--card);box-shadow:none}
@container site (min-width:752px){.c-footer__grid{grid-template-columns:1fr 1fr}.c-footer__bottom{flex-direction:row;justify-content:space-between}}
@container site (min-width:1008px){.c-footer__grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr}}
