/* ADVplus UI — tokens + components. Base values derived from Modernist (ink #201e1d, accent #ec3013, ground #f3f2f2).
   Pokupon-like proportions (rounded cards, soft shadows) are an assumption: the reference could not be rendered by the tools. */
@font-face{font-family:'Google Sans';src:url("../fonts/GoogleSans-Regular.46f59f417d4a.woff2") format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url("../fonts/GoogleSans-Italic.f06bd2c1a4e8.woff2") format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Google Sans';src:url("../fonts/GoogleSans-Medium.823f2eb54c7a.woff2") format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url("../fonts/GoogleSans-SemiBold.2a08996f0a83.woff2") format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url("../fonts/GoogleSans-Bold.d89a4f16b710.woff2") format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  /* color */
  --c-ink:#201e1d; --c-ink-2:#4a4543; --c-muted:#6a6461; --c-bg:#f4f3f2; --c-surface:#fff; --c-line:#e4e1df; --c-line-strong:#cfcac7;
  --c-primary:#d92b10; --c-primary-hover:#b8210a; --c-primary-press:#9a1b08; --c-primary-soft:#fdebe7; --c-on-primary:#fff;
  --c-success:#0f6b36; --c-success-soft:#e1f3e8; --c-warn:#7a5000; --c-warn-soft:#fff1cf; --c-danger:#a8231b; --c-danger-soft:#fde8e6; --c-info:#1f43b8; --c-info-soft:#e8edfc;
  --c-focus:#1f43b8;
  /* type */
  --font:'Google Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fs-xs:.75rem; --fs-sm:.875rem; --fs-md:1rem; --fs-lg:1.125rem; --fs-h4:1.25rem; --fs-h3:1.5rem; --fs-h2:2rem; --fs-h1:2.5rem;
  --lh-tight:1.2; --lh-snug:1.35; --lh-body:1.6;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-xbold:700;
  /* space (4px base) */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px;
  /* radius */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-pill:999px;
  /* shadow */
  --sh-sm:0 1px 2px rgba(32,30,29,.06); --sh-md:0 4px 14px rgba(32,30,29,.08); --sh-lg:0 12px 32px rgba(32,30,29,.14);
  /* layout */
  --container:1200px; --gutter:24px; --header-h:72px; --tap:44px; --nav-h:48px;
  --ease:cubic-bezier(.2,.7,.2,1); --dur:.16s;
}
@media (max-width:768px){:root{--fs-h1:1.75rem;--fs-h2:1.5rem;--fs-h3:1.25rem;--gutter:16px;--header-h:56px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;font:var(--fw-regular) var(--fs-md)/var(--lh-body) var(--font);color:var(--c-ink);background:var(--c-bg);overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--c-primary-hover);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--c-primary-press)}
h1,h2,h3,h4{margin:0 0 var(--sp-3);line-height:var(--lh-tight);font-weight:var(--fw-xbold);letter-spacing:-.01em;overflow-wrap:anywhere}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)} h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--sp-4)}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px;border-radius:4px}
::selection{background:var(--c-primary-soft)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:8px;top:-60px;z-index:200;background:var(--c-ink);color:#fff;padding:10px 16px;border-radius:var(--r-sm)}
.skip-link:focus{top:8px}
.icon{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--sp-8)} .section--tight{padding-block:var(--sp-4)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}
.section__head h2{margin:0;font-size:var(--fs-h3)}
.link-more{display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-bold);text-decoration:none;min-height:var(--tap)}
.link-more:hover{text-decoration:underline}
/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:50;background:var(--c-surface);border-bottom:1px solid var(--c-line)}
.header__row{display:flex;align-items:center;gap:var(--sp-5);height:var(--header-h)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--c-ink);font-weight:var(--fw-xbold);font-size:1.375rem;letter-spacing:-.02em;min-height:var(--tap)}
.logo:hover{color:var(--c-ink)} .logo b{color:var(--c-primary);font-weight:var(--fw-xbold)}
.logo svg{width:36px;height:36px;flex:none}
.header__search{flex:1;max-width:560px;margin-inline:auto 0}
.search{position:relative;display:flex}
.search input{width:100%;height:48px;border:2px solid var(--c-line);background:var(--c-bg);border-radius:var(--r-pill);padding:0 52px 0 20px;font:inherit;font-size:var(--fs-md);color:var(--c-ink)}
.search input::placeholder{color:var(--c-muted)}
.search input:hover{border-color:var(--c-line-strong)}
.search input:focus{outline:none;border-color:var(--c-focus);background:#fff;box-shadow:0 0 0 3px rgba(31,67,184,.2)}
.search button{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;border-radius:50%;background:var(--c-primary);color:#fff;display:grid;place-items:center;cursor:pointer}
.search button:hover{background:var(--c-primary-hover)}
.lang{display:inline-flex;border:2px solid var(--c-line);border-radius:var(--r-pill);padding:2px}
.lang a,.lang span{min-width:44px;min-height:40px;display:grid;place-items:center;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-decoration:none;color:var(--c-ink-2);padding-inline:8px}
.lang a:hover{background:var(--c-bg);color:var(--c-ink)}
.lang [aria-current]{background:var(--c-ink);color:#fff}
.lang .is-missing{color:var(--c-muted);cursor:help;text-decoration:line-through;text-decoration-thickness:1px}
.header__actions{display:flex;align-items:center;gap:var(--sp-3)}
.main-nav{border-top:1px solid var(--c-line);background:var(--c-surface)}
.main-nav ul{display:flex;gap:var(--sp-2);list-style:none;margin:0;padding:0;height:var(--nav-h);align-items:center;overflow-x:auto}
.main-nav a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 var(--sp-4);border-radius:var(--r-pill);text-decoration:none;color:var(--c-ink);font-weight:var(--fw-semibold);white-space:nowrap}
.main-nav a:hover{background:var(--c-bg)}
.main-nav a[aria-current]{background:var(--c-primary-soft);color:var(--c-primary-press)}
.main-nav .spacer{margin-left:auto;color:var(--c-muted);font-size:var(--fs-sm)}
.only-mobile{display:none!important}
.icon-btn{width:var(--tap);height:var(--tap);display:inline-grid;place-items:center;border:0;background:transparent;border-radius:50%;color:var(--c-ink);cursor:pointer}
.icon-btn:hover{background:var(--c-bg)}
.mobile-search{display:none;padding-bottom:var(--sp-3)}
.mobile-search.is-open{display:block}
@media (max-width:860px){
  .main-nav,.header__cta,.header__actions .lang{display:none}
  .only-mobile{display:inline-grid!important}
  .header__search{display:none}
  .header__row{gap:var(--sp-2)} .header__row .spacer{flex:1}
  .logo{font-size:1.25rem} .logo svg{width:32px;height:32px}
}
/* ---- overlay: menu & drawers ---- */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(32,30,29,.5);display:none}
.overlay.is-open{display:block}
.panel{position:absolute;background:var(--c-surface);display:flex;flex-direction:column;box-shadow:var(--sh-lg)}
.panel--full{inset:0}
.panel--sheet{left:0;right:0;bottom:0;max-height:92vh;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheet .22s var(--ease)}
.panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-line);min-height:var(--header-h)}
.panel__title{font-weight:var(--fw-xbold);font-size:var(--fs-lg);margin:0}
.panel__body{padding:var(--sp-4);overflow-y:auto;flex:1;overscroll-behavior:contain}
.panel__foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-line);display:flex;gap:var(--sp-3)}
.panel__foot .btn{flex:1}
@keyframes sheet{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.mm-list{list-style:none;margin:var(--sp-4) 0;padding:0;display:grid;gap:2px}
.mm-list a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 var(--sp-3);border-radius:var(--r-md);text-decoration:none;color:var(--c-ink);font-weight:var(--fw-bold);font-size:var(--fs-lg)}
.mm-list a:hover{background:var(--c-bg)} .mm-list a[aria-current]{background:var(--c-primary-soft)}
.mm-sub{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);font-weight:var(--fw-bold);margin:var(--sp-5) 0 var(--sp-2)}
.mm-cats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}
.mm-cats a{display:flex;align-items:center;gap:10px;min-height:var(--tap);padding:6px 10px;border:1px solid var(--c-line);border-radius:var(--r-md);text-decoration:none;color:var(--c-ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.25;min-width:0;overflow-wrap:anywhere}
.mm-cats a .icon{color:var(--c-primary)}
/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 var(--sp-5);border:2px solid transparent;border-radius:var(--r-pill);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-md);line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur),border-color var(--dur),color var(--dur);text-align:center}
.btn--primary{background:var(--c-primary);color:var(--c-on-primary)} .btn--primary:hover{background:var(--c-primary-hover);color:#fff} .btn--primary:active{background:var(--c-primary-press)}
.btn--secondary{background:var(--c-surface);color:var(--c-ink);border-color:var(--c-ink)} .btn--secondary:hover{background:var(--c-ink);color:#fff}
.btn--ghost{background:transparent;color:var(--c-ink)} .btn--ghost:hover{background:rgba(32,30,29,.07);color:var(--c-ink)}
.btn--lg{min-height:52px;padding-inline:var(--sp-6);font-size:var(--fs-lg)}
.btn--sm{min-height:var(--tap);padding-inline:var(--sp-4);font-size:var(--fs-sm)}
.btn--block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.is-done{background:var(--c-success);border-color:var(--c-success);color:#fff}
/* ---- badges & chips ---- */
.badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1.2;background:var(--c-bg);color:var(--c-ink-2);white-space:nowrap}
.badge .icon{width:14px;height:14px}
.badge--code{background:var(--c-info-soft);color:var(--c-info)} .badge--discount{background:var(--c-primary-soft);color:var(--c-primary-press)} .badge--info{background:#ece9e7;color:var(--c-ink-2)}
.badge--active{background:var(--c-success-soft);color:var(--c-success)} .badge--soon{background:var(--c-warn-soft);color:var(--c-warn)} .badge--expired{background:var(--c-danger-soft);color:var(--c-danger)}
.badge--demo{background:transparent;border:1px dashed var(--c-line-strong);color:var(--c-muted)}
.discount{display:inline-flex;align-items:center;min-height:36px;padding:4px 14px;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font-weight:var(--fw-xbold);font-size:var(--fs-lg);line-height:1.2}
.discount--text{background:var(--c-ink)}
.is-expired .discount{background:var(--c-line-strong);color:var(--c-ink-2)}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-ink);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-decoration:none}
.chip:hover{border-color:var(--c-ink)} .chip[aria-current]{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
/* ---- breadcrumbs ---- */
.breadcrumbs{padding-block:var(--sp-4) 0;font-size:var(--fs-sm)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:2px 6px;list-style:none;margin:0;padding:0;align-items:center}
.breadcrumbs li{display:flex;align-items:center;gap:6px;min-width:0}
.breadcrumbs li+li::before{content:"›";color:var(--c-muted)}
.breadcrumbs a{color:var(--c-ink-2);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.breadcrumbs a:hover{color:var(--c-primary-hover);text-decoration:underline}
.breadcrumbs [aria-current]{color:var(--c-ink);font-weight:var(--fw-semibold);overflow-wrap:anywhere}
@media (max-width:600px){.breadcrumbs li:not(:nth-last-child(-n+2)){display:none}.breadcrumbs li:nth-last-child(2)::before{content:"‹"}}
/* ---- hero ---- */
.hero{margin-top:var(--sp-5);border-radius:var(--r-xl);background:var(--c-surface);border:1px solid var(--c-line);padding:var(--sp-12) var(--sp-10);position:relative;overflow:hidden;
  background-image:radial-gradient(circle,rgba(217,43,16,.16) 1.5px,transparent 1.6px);background-size:22px 22px;background-position:right top}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 45%,rgba(255,255,255,.55));pointer-events:none}
.hero>*{position:relative}
.hero h1{max-width:18ch;font-size:clamp(1.75rem,4vw,3rem)}
.hero p{max-width:56ch;font-size:var(--fs-lg);color:var(--c-ink-2)}
.hero__actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-6)}
.hero .search{max-width:560px;margin-top:var(--sp-5)}
@media (max-width:768px){.hero{padding:var(--sp-6) var(--sp-5);border-radius:var(--r-lg)}.hero p{font-size:var(--fs-md)}.hero .btn{flex:1 1 100%}}
.page-head{padding-block:var(--sp-6) var(--sp-4)}
.page-head p{max-width:70ch;color:var(--c-ink-2);font-size:var(--fs-lg);margin:0}
@media (max-width:768px){.page-head p{font-size:var(--fs-md)}}
/* ---- category tiles ---- */
.cat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-4);list-style:none;margin:0;padding:0}
.cat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))} .cat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cat-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);height:100%;padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);text-decoration:none;color:var(--c-ink);min-width:0;transition:box-shadow var(--dur),transform var(--dur),border-color var(--dur)}
.cat-tile:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--c-line-strong);color:var(--c-ink)}
.cat-tile[aria-current]{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary);background:var(--c-primary-soft)}
.cat-tile__icon{width:52px;height:52px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary-press);display:grid;place-items:center}
.cat-tile__icon .icon{width:28px;height:28px}
.cat-tile[aria-current] .cat-tile__icon{background:var(--c-primary);color:#fff}
.cat-tile__name{font-weight:var(--fw-bold);font-size:var(--fs-md);line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.cat-tile__cap{font-size:var(--fs-sm);color:var(--c-muted);line-height:1.3}
@media (max-width:1100px){.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cat-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){.cat-grid,.cat-grid--4,.cat-grid--5{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}}
@media (max-width:560px){.cat-grid,.cat-grid--4,.cat-grid--5{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.cat-tile{padding:var(--sp-3);gap:var(--sp-2)}.cat-tile__icon{width:44px;height:44px}.cat-tile__name{font-size:var(--fs-sm)}}
/* ---- offer cards ---- */
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);list-style:none;margin:0;padding:0}
.offer-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.offer-grid,.offer-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-side .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.offer-grid,.offer-grid--4,.layout-side .offer-grid{grid-template-columns:minmax(0,1fr)}}
.offer-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow var(--dur),transform var(--dur),border-color var(--dur)}
.offer-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--c-line-strong)}
.offer-card:focus-within{outline:3px solid var(--c-focus);outline-offset:2px}
.offer-card__media{aspect-ratio:16/8;border-bottom:1px solid var(--c-line)}
.offer-card__body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);flex:1}
.offer-card__top{display:flex;align-items:center;gap:var(--sp-3);min-width:0}
.provider{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--c-ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.logo-tile{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;font-weight:var(--fw-xbold);font-size:var(--fs-md);color:#fff;flex:none;letter-spacing:-.02em}
.logo-tile--lg{width:72px;height:72px;border-radius:var(--r-lg);font-size:1.5rem}
.offer-card__title{font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.offer-card__title a{color:var(--c-ink);text-decoration:none}
.offer-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.offer-card__title a:hover{color:var(--c-primary-hover);text-decoration:underline}
.offer-card__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2)}
.offer-card__date{font-size:var(--fs-sm);color:var(--c-muted);display:inline-flex;align-items:center;gap:6px}
.offer-card.is-expired{background:#faf9f8} .offer-card.is-expired .offer-card__title a{color:var(--c-ink-2)} .offer-card.is-expired .logo-tile{filter:grayscale(1);opacity:.7}
.ph{background:repeating-linear-gradient(135deg,#ebe8e6 0 10px,#f3f1f0 10px 20px);color:var(--c-muted);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-align:center;padding:var(--sp-2)}
/* ---- catalog layout ---- */
.layout-side{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--sp-6);align-items:start}
@media (max-width:1000px){.layout-side{grid-template-columns:minmax(0,1fr)}.filters-aside{display:none}}
.filters{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4);position:sticky;top:calc(var(--header-h) + var(--nav-h) + 16px)}
.filters fieldset{border:0;margin:0 0 var(--sp-5);padding:0}
.filters legend{font-weight:var(--fw-xbold);margin-bottom:var(--sp-2);padding:0}
.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);cursor:pointer;font-size:var(--fs-md)}
.check input{width:22px;height:22px;accent-color:var(--c-primary);flex:none;margin:0}
.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.toolbar .count{color:var(--c-ink-2);font-weight:var(--fw-semibold);margin-right:auto}
.field{display:grid;gap:6px}
.field label{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}
.select,.input{height:var(--tap);border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);font:inherit;padding:0 14px;color:var(--c-ink);min-width:0}
.select:hover,.input:hover{border-color:var(--c-line-strong)} .select:focus,.input:focus{outline:none;border-color:var(--c-focus);box-shadow:0 0 0 3px rgba(31,67,184,.2)}
.toolbar .field{display:flex;align-items:center;gap:var(--sp-2)}
.catalog-search{margin-bottom:var(--sp-4)}
@media (min-width:1001px){.only-filter-btn{display:none!important}}
.pagination{display:flex;gap:var(--sp-2);justify-content:center;align-items:center;margin:var(--sp-8) 0 0;flex-wrap:wrap;list-style:none;padding:0}
.pagination a,.pagination span{min-width:var(--tap);height:var(--tap);display:grid;place-items:center;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);text-decoration:none;font-weight:var(--fw-bold)}
.pagination a:hover{border-color:var(--c-ink)} .pagination [aria-current]{background:var(--c-ink);color:#fff;border-color:var(--c-ink)} .pagination .is-gap{border:0;background:none}
.empty{text-align:center;padding:var(--sp-12) var(--sp-5);background:var(--c-surface);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg)}
.empty .ph-ico{width:72px;height:72px;margin:0 auto var(--sp-4);border-radius:50%;background:var(--c-bg);display:grid;place-items:center;color:var(--c-muted)}
.empty .ph-ico .icon{width:34px;height:34px}
.empty p{color:var(--c-ink-2);max-width:48ch;margin:0 auto var(--sp-5)}
.empty .btn{margin:var(--sp-1)}
[hidden]{display:none!important}
/* ---- notices ---- */
.notice{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);border-radius:var(--r-md);background:var(--c-info-soft);color:#16307f;margin-bottom:var(--sp-4)}
.notice .icon{margin-top:2px}
.notice--warn{background:var(--c-warn-soft);color:#5a3a00} .notice--danger{background:var(--c-danger-soft);color:#7d1710}
/* ---- offer page ---- */
.offer-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--sp-8);align-items:start;margin-top:var(--sp-5)}
@media (max-width:1000px){.offer-layout{grid-template-columns:minmax(0,1fr)}.offer-aside{order:-1}}
.offer-head{display:flex;gap:var(--sp-4);align-items:flex-start;margin-bottom:var(--sp-5)}
.offer-head__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.offer-head h1{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:var(--sp-2)}
.offer-head .provider-line{color:var(--c-ink-2);font-weight:var(--fw-semibold)}
.offer-media{aspect-ratio:16/7;border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-5);border:1px solid var(--c-line)}
.offer-media .ph{height:100%}
.action-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--sh-md);position:sticky;top:calc(var(--header-h) + var(--nav-h) + 16px);display:grid;gap:var(--sp-4)}
.action-card__benefit{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.facts{display:grid;gap:var(--sp-2);margin:0;font-size:var(--fs-sm)}
.facts div{display:flex;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--c-line)}
.facts div:last-child{border:0;padding:0}
.facts dt{color:var(--c-muted)} .facts dd{margin:0;font-weight:var(--fw-bold);text-align:right}
.code-box{display:flex;align-items:stretch;border:2px dashed var(--c-ink);border-radius:var(--r-md);background:var(--c-bg);overflow:hidden}
.code-box code{flex:1;display:flex;align-items:center;padding:0 var(--sp-4);min-height:52px;font:var(--fw-xbold) 1.125rem/1.2 ui-monospace,'SFMono-Regular',Consolas,monospace;letter-spacing:.04em;overflow-wrap:anywhere}
.code-box .btn{border-radius:0;min-height:52px;border-width:0}
.code-hint{font-size:var(--fs-xs);color:var(--c-muted);margin:0}
.content-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-6);margin-bottom:var(--sp-4)}
.content-card h2{font-size:var(--fs-h4);margin-bottom:var(--sp-3)}
.content-card ul,.content-card ol{margin:0;padding-left:1.3em;display:grid;gap:var(--sp-2)}
.content-card ol{counter-reset:s;list-style:none;padding:0}
.content-card ol li{counter-increment:s;position:relative;padding-left:44px;min-height:32px}
.content-card ol li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary-press);font-weight:var(--fw-xbold);display:grid;place-items:center;font-size:var(--fs-sm)}
.content-card :last-child{margin-bottom:0}
@media (max-width:768px){.content-card{padding:var(--sp-4)}}
.sticky-cta{display:none}
@media (max-width:1000px){
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--c-surface);border-top:1px solid var(--c-line);box-shadow:0 -6px 20px rgba(32,30,29,.1);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));display:none;gap:var(--sp-2)}
  .sticky-cta.is-visible{display:flex}
  .sticky-cta .btn{flex:1;min-width:0}
  body.has-sticky{padding-bottom:84px}
  .action-card{position:static}
}
/* ---- info / faq / prose ---- */
.info-block{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-8);margin-top:var(--sp-8)}
@media (max-width:768px){.info-block{padding:var(--sp-5)}}
.faq details{border-bottom:1px solid var(--c-line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:56px;cursor:pointer;font-weight:var(--fw-bold);list-style:none;padding-block:var(--sp-2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--c-primary);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 var(--sp-4);color:var(--c-ink-2)}
.prose{font-size:var(--fs-lg);line-height:1.7;max-width:72ch}
.prose h2{font-size:var(--fs-h3);margin-top:var(--sp-8)} .prose h3{font-size:var(--fs-h4);margin-top:var(--sp-6)}
.prose ul,.prose ol{padding-left:1.4em} .prose li{margin-bottom:var(--sp-2)}
.prose blockquote{margin:var(--sp-6) 0;padding:var(--sp-4) var(--sp-5);background:var(--c-primary-soft);border-radius:var(--r-lg);font-weight:var(--fw-semibold);color:var(--c-ink)}
.prose figure{margin:var(--sp-6) 0} .prose figcaption{font-size:var(--fs-sm);color:var(--c-muted);margin-top:var(--sp-2)}
.prose figure .ph{aspect-ratio:16/9;border-radius:var(--r-lg)}
.table-wrap{overflow-x:auto;margin:var(--sp-5) 0;border:1px solid var(--c-line);border-radius:var(--r-md)}
.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-md);min-width:480px;background:#fff}
.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--c-line)} .prose th{background:var(--c-bg);font-weight:var(--fw-xbold)} .prose tr:last-child td{border:0}
.prose code{background:var(--c-bg);padding:2px 6px;border-radius:6px;font-size:.9em}
@media (max-width:768px){.prose{font-size:var(--fs-md)}}
/* ---- blog ---- */
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);list-style:none;margin:0;padding:0}
@media (max-width:1000px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:640px){.article-grid{grid-template-columns:minmax(0,1fr)}}
.article-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow var(--dur),transform var(--dur)}
.article-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)} .article-card:focus-within{outline:3px solid var(--c-focus);outline-offset:2px}
.article-card .ph{aspect-ratio:16/9}
.article-card__body{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}
.article-card h3{font-size:var(--fs-lg);margin:0;line-height:1.3}
.article-card h3 a{color:var(--c-ink);text-decoration:none} .article-card h3 a::after{content:"";position:absolute;inset:0}
.article-card h3 a:hover{color:var(--c-primary-hover);text-decoration:underline}
.article-card p{margin:0;color:var(--c-ink-2);font-size:var(--fs-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--fs-sm);color:var(--c-muted);align-items:center}
.meta span{display:inline-flex;gap:6px;align-items:center}
.article-layout{display:grid;grid-template-columns:240px minmax(0,72ch);gap:var(--sp-10);justify-content:center;margin-top:var(--sp-6)}
@media (max-width:1000px){.article-layout{grid-template-columns:minmax(0,1fr)}}
.toc{position:sticky;top:calc(var(--header-h) + var(--nav-h) + 16px);font-size:var(--fs-sm)}
.toc h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted)}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--c-line)}
.toc a{display:flex;align-items:center;min-height:36px;padding:2px 0 2px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--c-ink-2);text-decoration:none;font-weight:var(--fw-semibold)}
.toc a:hover,.toc a.is-active{color:var(--c-primary-hover);border-left-color:var(--c-primary)}
@media (max-width:1000px){.toc{position:static;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4)}.toc details summary{min-height:var(--tap);display:flex;align-items:center;font-weight:var(--fw-bold);cursor:pointer}}
.article-hero{aspect-ratio:21/9;border-radius:var(--r-xl);overflow:hidden;margin-top:var(--sp-5)} .article-hero .ph{height:100%}
.author{display:flex;align-items:center;gap:var(--sp-3)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--c-ink);color:#fff;display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--fs-sm)}
/* ---- search results ---- */
.result-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.result-row{position:relative;display:flex;gap:var(--sp-4);align-items:center;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}
.result-row:hover{border-color:var(--c-line-strong);box-shadow:var(--sh-sm)} .result-row:focus-within{outline:3px solid var(--c-focus)}
.result-row a{color:var(--c-ink);font-weight:var(--fw-bold);text-decoration:none} .result-row a::after{content:"";position:absolute;inset:0}
mark{background:#ffe9a8;color:inherit;border-radius:3px;padding:0 2px}
/* ---- footer ---- */
.site-footer{margin-top:var(--sp-16);background:var(--c-ink);color:#e9e6e4;padding-block:var(--sp-10) var(--sp-6)}
.site-footer a{color:#fff;text-decoration:none} .site-footer a:hover{text-decoration:underline;color:#fff}
.site-footer .logo,.site-footer .logo:hover{color:#fff}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-8)}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>:first-child{grid-column:1/-1}}
@media (max-width:480px){.footer__grid{grid-template-columns:1fr}}
.footer__grid h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:#bdb7b4;margin-bottom:var(--sp-3)}
.footer__grid ul{list-style:none;margin:0;padding:0;display:grid;gap:2px} .footer__grid li a{display:inline-flex;align-items:center;min-height:var(--tap)}
.footer__note{margin-top:var(--sp-8);padding-top:var(--sp-4);border-top:1px solid #4a4543;font-size:var(--fs-sm);color:#bdb7b4;display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}
.site-footer .lang{border-color:#4a4543}.site-footer .lang a,.site-footer .lang span{color:#e9e6e4}.site-footer .lang [aria-current]{background:#fff;color:var(--c-ink)}
/* ---- 404 ---- */
.err{text-align:center;padding-block:var(--sp-16)} .err__code{font-size:clamp(5rem,20vw,9rem);font-weight:var(--fw-xbold);line-height:1;color:var(--c-primary);letter-spacing:-.04em}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--c-ink);color:#fff;padding:12px 20px;border-radius:var(--r-pill);z-index:300;font-weight:var(--fw-semibold)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cat-tile:hover,.offer-card:hover,.article-card:hover{transform:none}}
