/*
 * carot theme — Foundation, Button, Badge, SponsoredLabel, PlatformBadge, PriceLine, Breadcrumb.
 * Sections Foundation, Button, Badge, SponsoredLabel, PlatformBadge, PriceLine, Breadcrumb of docs/design-system/components/bundle.css.
 * Generated by scripts/pull-design-system.mjs on 2026-10-01. Do not edit: change
 * docs/design-system and re-run the script (feature CAROT_THEME D2).
 */
/* ---------- Foundation ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--base);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
.site{container:site/inline-size;min-height:100vh;display:flex;flex-direction:column;background:var(--base)}
.site>main{flex:1}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.c-footer :focus-visible{outline-color:var(--focus-inverse)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{margin-block:var(--section-gap)}
.section--band{background:var(--surface);padding-block:var(--section-gap);margin-block:0}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.section__title{font-family:var(--font-display);font-size:var(--text-heading-2);line-height:var(--leading-snug);font-weight:var(--weight-semibold)}
.link-more{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--brand-strong);font-size:var(--text-small);font-weight:var(--weight-semibold);text-decoration:none;white-space:nowrap}
.link-more:hover{text-decoration:underline}
.icon{width:var(--icon-md);height:var(--icon-md);flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon--sm{width:var(--icon-sm);height:var(--icon-sm)}
.ph{display:grid;place-items:center;width:100%;aspect-ratio:1;background:var(--surface);color:var(--muted-foreground);font-size:var(--text-caption);text-align:center;padding:var(--space-2)}
.ph--wide{aspect-ratio:16/9}
.ph--brand{background:var(--brand-muted)}
.text-muted{color:var(--muted-foreground)}

/* ---------- Button ---------- */
.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}
.c-btn--primary{background:var(--primary);color:var(--primary-foreground)}
.c-btn--primary:hover,.c-btn--primary.is-hover{background:var(--primary-hover)}
.c-btn--secondary{background:var(--card);color:var(--foreground);border-color:var(--border-strong)}
.c-btn--secondary:hover,.c-btn--secondary.is-hover{border-color:var(--foreground);background:var(--surface)}
.c-btn--ghost{background:transparent;color:var(--brand-strong);padding-inline:var(--space-2)}
.c-btn--ghost:hover,.c-btn--ghost.is-hover{background:var(--brand-muted)}
.c-btn--icon{width:var(--touch-target);padding:0;background:transparent;color:var(--foreground)}
.c-btn--icon:hover,.c-btn--icon.is-hover{background:var(--surface)}
.c-btn--lg{min-height:var(--button-lg);font-size:var(--text-body);padding-inline:var(--space-5)}
.c-btn--block{display:flex;width:100%}
.c-btn:disabled,.c-btn[aria-disabled="true"]{background:var(--disabled);color:var(--disabled-foreground);border-color:transparent;cursor:not-allowed}
.c-btn.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.c-btn__ext{margin-left:auto;opacity:.9}

/* ---------- Badge ---------- */
.c-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption);line-height:var(--leading-normal);font-weight:var(--weight-semibold);background:var(--surface);color:var(--foreground);white-space:nowrap}
.c-badge .icon{width:var(--icon-sm);height:var(--icon-sm)}
.c-badge--outline{background:var(--card);box-shadow:inset 0 0 0 1px var(--border-strong)}
.c-badge--brand{background:var(--brand-muted);color:var(--brand-strong)}
.c-badge--success{background:var(--success-muted);color:var(--success)}
.c-badge--warning{background:var(--warning-muted);color:var(--warning)}
.c-badge--danger{background:var(--danger-muted);color:var(--danger)}

/* ---------- SponsoredLabel ---------- */
.c-sponsored{display:inline-flex;align-items:center;margin-inline:var(--space-1);padding:0 var(--space-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.5;color:var(--muted-foreground);vertical-align:.1em;white-space:nowrap;font-style:normal}
.c-disclosure{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-small);line-height:var(--leading-normal);color:var(--muted-foreground)}
.c-disclosure .icon{margin-top:2px}

/* ---------- PlatformBadge ---------- */
.c-platform{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-caption);line-height:var(--leading-normal);color:var(--foreground);white-space:nowrap}
.c-platform__logo{display:grid;place-items:center;width:var(--icon-sm);height:var(--icon-sm);flex:none;border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:10px;font-weight:var(--weight-semibold);color:var(--muted-foreground);overflow:hidden}
.c-platform__logo img{width:100%;height:100%;object-fit:contain}
.c-platform--md{font-size:var(--text-small)}
.c-platform--md .c-platform__logo,.c-btn .c-platform__logo{width:var(--platform-logo);height:var(--platform-logo);font-size:11px}
.c-platforms{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}

/* ---------- PriceLine ---------- */
.c-price{display:flex;flex-direction:column;gap:2px}
.c-price__value{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-body);line-height:var(--leading-snug);font-variant-numeric:tabular-nums;color:var(--foreground)}
.c-price__label,.c-price__meta{font-size:var(--text-caption);line-height:var(--leading-normal);color:var(--muted-foreground)}
.c-price__meta{display:inline-flex;align-items:center;gap:var(--space-1)}
.c-price--lg .c-price__value{font-size:var(--text-heading-2)}
.c-price--lg .c-price__label,.c-price--lg .c-price__meta{font-size:var(--text-small)}
.c-price.is-out .c-price__value{color:var(--muted-foreground)}

/* ---------- Breadcrumb ---------- */
.c-crumb{font-size:var(--text-small);line-height:var(--leading-normal);color:var(--muted-foreground)}
.c-crumb ol{list-style:none;padding:0;display:none;flex-wrap:wrap;align-items:center;gap:0 var(--space-1)}
.c-crumb li{display:inline-flex;align-items:center;gap:var(--space-1)}
.c-crumb a{display:inline-flex;align-items:center;min-height:var(--touch-target);text-decoration:none}
.c-crumb a:hover{color:var(--foreground);text-decoration:underline}
.c-crumb [aria-current]{color:var(--foreground)}
.c-crumb__back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-target);text-decoration:none;color:var(--muted-foreground)}
@container site (min-width:752px){.c-crumb ol{display:flex}.c-crumb .c-crumb__back{display:none}}
