
  :root{
    --font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --font-display:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    --teal:#123C39;
    --teal-dark:#0B2624;
    --paper:#F1ECDE;
    --paper-dim:#E4DCC6;
    --gold:#C7963E;
    --gold-bright:#E0B562;
    --stamp-red:#A63A32;
    --ink:#1B1B1B;
    --surface:#FFFFFF;
    --muted:#756F5D;
    --line: rgba(18,60,57,0.18);
    --accent:#F06449;
    --accent-soft:#FFE2D9;
    --lime:#BEEB72;
  }
  :root[data-theme="dark"]{
    --teal:#194F4A;
    --teal-dark:#E4F3F0;
    --paper:#101716;
    --paper-dim:#1C2927;
    --gold:#D3A64E;
    --gold-bright:#E7BD69;
    --ink:#F2EFE7;
    --surface:#17211F;
    --muted:#B8B3A5;
    --line:rgba(231,189,105,.22);
    --accent:#FF8068;
    --accent-soft:#3A2522;
    --lime:#C8F47E;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-sans);
    -webkit-font-smoothing:antialiased;
  }
  .topbar{
    background:
      radial-gradient(circle at 84% -20%, rgba(190,235,114,.24), transparent 34%),
      linear-gradient(120deg,#092D2B 0%,var(--teal) 58%,#174E46 100%);
    color:#fff;
    padding:24px 20px 26px;
    border-bottom:4px solid var(--lime);
    position:relative;
  }
  .topbar-inner{
    max-width:1100px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
  }
  .brand-lockup{display:flex; align-items:center; gap:12px;}
  .brand-mark{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:14px 14px 14px 4px;
    background:var(--lime);
    color:#092D2B;
    font:700 20px var(--font-display);
    box-shadow:0 7px 20px rgba(0,0,0,.2);
    transform:rotate(-3deg);
  }
  .brand :is(h1,.seo-brand-title){
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:1.5px;
    font-size:clamp(30px,4vw,43px);
    margin:0;
    font-weight:700;
  }
  .brand-name-free{color:var(--lime);}
  .brand-link{color:inherit; text-decoration:none; display:block;}
  .brand-link:focus-visible{border-radius:3px;}
  .brand p{
    margin:2px 0 0;
    color:#D7E9E5;
    font-size:14px;
    letter-spacing:0.5px;
  }
  .updated-badge{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:12px;
    color:var(--teal-dark);
    background:var(--gold-bright);
    padding:6px 12px;
    border-radius:2px;
    white-space:nowrap;
  }
  .updated-badge.stale{background:#F3C7A8; color:#6B271F;}
  .header-actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .theme-toggle{
    border:1px solid rgba(255,255,255,.48);
    border-radius:4px;
    padding:6px 10px;
    color:#fff;
    background:transparent;
    font:600 12px var(--font-sans);
    cursor:pointer;
  }
  .theme-toggle:hover{background:rgba(255,255,255,.1);}
  .stock-notice{
    max-width:1100px;
    margin:18px auto 0;
    padding:0 20px;
  }
  .stock-notice-inner{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px 14px;
    border:1px solid var(--accent);
    border-left:5px solid var(--accent);
    border-radius:8px;
    background:var(--accent-soft);
    color:var(--ink);
    font-size:13px;
    line-height:1.45;
    box-shadow:0 4px 14px rgba(45,35,25,.06);
  }
  .stock-notice-icon{font-size:18px; line-height:1.1;}
  .stock-notice-text{flex:1;}
  .stock-notice-text strong{display:block; margin-bottom:2px; color:var(--stamp-red);}
  .stock-notice-close{
    border:0;
    background:transparent;
    color:var(--ink);
    width:28px;
    height:28px;
    border-radius:50%;
    font-size:21px;
    line-height:1;
    cursor:pointer;
    opacity:.65;
  }
  .stock-notice-close:hover{background:rgba(0,0,0,.08); opacity:1;}
  .controls{
    max-width:1100px;
    margin:14px auto 0;
    padding:0 20px;
  }
  .controls-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 10px 30px rgba(18,60,57,0.10);
    padding:18px 20px;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:14px;
  }
  .search-field{grid-column:1/-1;}
  .search-row{display:grid; grid-template-columns:1fr auto; gap:8px;}
  .search-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:122px;
    border:0;
    border-radius:6px;
    background:var(--accent);
    color:#fff;
    padding:9px 17px;
    font:700 13px var(--font-sans);
    cursor:pointer;
    box-shadow:0 4px 12px rgba(166,58,50,.18);
  }
  .search-button:hover{filter:brightness(.94);}
  .search-button:disabled{cursor:wait; opacity:.72;}
  .search-help{margin:6px 0 0; color:var(--muted); font-size:11px;}
  .search-status{
    display:none;
    align-items:center;
    gap:8px;
    margin-top:7px;
    color:var(--teal);
    font-size:12px;
    font-weight:600;
  }
  .search-status.visible{display:flex;}
  .spinner{
    width:14px;
    height:14px;
    border:2px solid var(--line);
    border-top-color:var(--accent);
    border-radius:50%;
    animation:spin .7s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  @media (max-width:800px){
    .controls-card{grid-template-columns:1fr 1fr; }
  }
  .field label{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--teal);
    font-weight:600;
    margin-bottom:6px;
  }
  .field input[type=text],
  .field input[type=search],
  .field input[type=number],
  .field select{
    width:100%;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:4px;
    font-family:var(--font-sans);
    font-size:14px;
    background:var(--paper);
    color:var(--ink);
  }
  .stores-field{
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    align-items:center;
  }
  .stores-field label.chk{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:500;
    color:var(--ink);
    text-transform:none;
    letter-spacing:0;
  }
  .stores-field input[type=checkbox]{accent-color:var(--teal);}
  .filter-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
  }
  .clear-btn{
    border:1px solid var(--teal);
    border-radius:4px;
    background:transparent;
    color:var(--teal);
    padding:8px 12px;
    font:600 12px var(--font-sans);
    cursor:pointer;
  }
  .clear-btn:hover{background:var(--paper-dim);}
  input:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible{
    outline:3px solid var(--gold-bright);
    outline-offset:2px;
  }
  .price-range{display:flex; gap:8px;}
  .toggle-oferta{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:500;
  }
  .results-meta{
    max-width:1100px;
    margin:18px auto 6px;
    padding:0 24px;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:13px;
    color:var(--teal);
  }
  .results-meta.search-complete{animation:resultPulse .35s ease-out;}
  @keyframes resultPulse{50%{color:var(--accent);}}
  .grid{
    max-width:1100px;
    margin:10px auto 60px;
    padding:0 20px;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:16px;
  }
  .load-more-wrap{display:flex; justify-content:center; margin:-35px auto 55px; padding:0 20px;}
  .load-more-wrap[hidden]{display:none;}
  .load-more-btn{
    border:1px solid var(--teal);
    border-radius:999px;
    background:var(--surface);
    color:var(--teal);
    padding:11px 22px;
    font:700 13px var(--font-sans);
    cursor:pointer;
    box-shadow:0 5px 16px rgba(18,60,57,.1);
  }
  .load-more-btn:hover{background:var(--teal); color:#fff;}
  .card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .12s ease, box-shadow .12s ease;
  }
  .card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(18,60,57,0.14);
  }
  .card.comparison-card{border-color:rgba(199,150,62,.65);}
  .card-img{
    height:160px;
    background:var(--paper-dim);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .card-img img{max-width:100%; max-height:100%; object-fit:contain;}
  .card-img .noimg{font-size:12px; color:#8a8368;}
  .card-body{padding:12px 14px 14px; display:flex; flex-direction:column; gap:8px; flex:1;}
  .card-store{
    display:inline-flex;
    align-self:flex-start;
    font-family:var(--font-display);
    font-size:11px;
    letter-spacing:1px;
    text-transform:uppercase;
    background:var(--teal);
    color:#fff;
    padding:3px 9px;
    border-radius:2px;
    transform:rotate(-1deg);
    border:0;
    cursor:pointer;
  }
  .card-store:hover{text-decoration:underline; background:var(--gold); color:var(--teal-dark);}
  .store-tags{display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
  .card-name{
    font-size:14.5px;
    font-weight:600;
    line-height:1.3;
    color:var(--ink);
    min-height:38px;
  }
  .badge-row{display:flex; flex-wrap:wrap; gap:6px; min-height:18px;}
  .card-price-row{
    margin-top:auto;
    display:flex;
    align-items:baseline;
    gap:8px;
  }
  .card-price{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:20px;
    font-weight:600;
    color:var(--teal-dark);
  }
  .card-price-old{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:13px;
    color:#999;
    text-decoration:line-through;
  }
  .price-unavailable{font-size:14px; color:var(--stamp-red); font-weight:700;}
  .badge-oferta{
    font-size:10px;
    font-weight:700;
    color:#fff;
    background:var(--stamp-red);
    padding:2px 6px;
    border-radius:2px;
    letter-spacing:0.5px;
    text-transform:uppercase;
    align-self:flex-start;
  }
  .badge-best{
    font-size:10px;
    font-weight:700;
    color:var(--teal-dark);
    background:var(--gold-bright);
    padding:2px 6px;
    border-radius:2px;
    letter-spacing:0.5px;
    text-transform:uppercase;
    align-self:flex-start;
  }
  .comparison-hint{
    font-size:11px;
    color:var(--teal);
    font-weight:600;
  }
  .card-action{
    width:100%;
    border:0;
    border-top:1px solid var(--line);
    padding:10px;
    background:var(--teal);
    color:#fff;
    font:600 12.5px var(--font-sans);
    letter-spacing:.3px;
    cursor:pointer;
  }
  .card-action:hover{background:var(--teal-dark);}
  .card-link{
    display:block;
    text-align:center;
    padding:9px;
    background:var(--paper-dim);
    color:var(--teal-dark);
    text-decoration:none;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.4px;
    border-top:1px solid var(--line);
  }
  .card-link:hover{background:var(--gold-bright);}
  .empty-state{
    max-width:600px;
    margin:60px auto;
    text-align:center;
    color:var(--teal);
    font-family:var(--font-display);
    font-size:18px;
    padding:0 20px;
  }
  footer{
    text-align:center;
    padding:20px;
    font-size:12px;
    color:#8a8368;
  }
  .comparison-dialog{
    width:min(720px,calc(100% - 24px));
    max-height:min(760px,calc(100vh - 32px));
    border:0;
    border-radius:8px;
    padding:0;
    color:var(--ink);
    box-shadow:0 24px 70px rgba(11,38,36,.35);
  }
  .comparison-dialog::backdrop{background:rgba(11,38,36,.68);}
  .dialog-header{
    position:sticky;
    top:0;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px;
    background:var(--teal);
    color:#fff;
  }
  .dialog-header h2{margin:0; font:600 23px/1.2 var(--font-display);}
  .dialog-subtitle{margin:5px 0 0; color:var(--gold-bright); font-size:12px;}
  .dialog-close{
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.45);
    border-radius:50%;
    width:34px;
    height:34px;
    color:#fff;
    background:transparent;
    font-size:23px;
    line-height:1;
    cursor:pointer;
  }
  .comparison-list{display:grid; gap:10px; padding:18px; background:var(--paper);}
  .offer-row{
    display:grid;
    grid-template-columns:minmax(130px,1fr) auto auto;
    align-items:center;
    gap:14px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--surface);
  }
  .offer-row.cheapest{border:2px solid var(--gold);}
  .offer-store{font-weight:700; color:var(--teal);}
  .store-link-plain{border:0; padding:0; background:transparent; cursor:pointer; text-align:left; font:700 14px var(--font-sans);}
  .store-link-plain:hover{text-decoration:underline;}
  .offer-name{margin-top:3px; font-size:12px; color:#666; line-height:1.3;}
  .offer-price{font:600 17px ui-monospace,SFMono-Regular,Consolas,monospace; white-space:nowrap;}
  .offer-link{
    border-radius:4px;
    padding:9px 11px;
    background:var(--teal);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
  }
  .offer-link:hover{background:var(--gold); color:var(--teal-dark);}
  .cheapest-label{display:block; margin-top:4px; color:var(--stamp-red); font-size:10px; font-weight:700; text-transform:uppercase;}
  .store-info{display:grid; gap:12px; padding:20px; background:var(--paper);}
  .store-detail{padding:13px 14px; border:1px solid var(--line); border-radius:6px; background:var(--surface);}
  .store-detail-label{display:block; margin-bottom:4px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.7px;}
  .store-links{display:flex; flex-wrap:wrap; gap:8px;}
  .store-links a{border-radius:4px; padding:9px 12px; background:var(--teal); color:#fff; text-decoration:none; font-size:12px; font-weight:600;}
  :root[data-theme="dark"] .updated-badge{color:#10211F;}
  :root[data-theme="dark"] .field input,
  :root[data-theme="dark"] .field select{color:var(--ink); background:var(--paper-dim);}
  :root[data-theme="dark"] .card-img{background:#22312E;}
  :root[data-theme="dark"] .card-link{color:var(--ink);}
  @media (max-width:520px){
    .topbar{padding-top:22px;}
    .topbar-inner{align-items:flex-start; flex-direction:column;}
    .controls{padding:0 12px;}
    .controls-card{grid-template-columns:1fr; padding:16px;}
    .search-row{grid-template-columns:1fr;}
    .search-button{width:100%; min-height:42px;}
    .field[style]{grid-column:auto !important;}
    .price-range{display:grid; grid-template-columns:1fr 1fr;}
    .grid{grid-template-columns:1fr; padding:0 12px;}
    .card{display:grid; grid-template-columns:112px 1fr;}
    .card-img{height:100%; min-height:180px;}
    .card-link{grid-column:1/-1;}
    .card-action{grid-column:1/-1;}
    .results-meta{padding:0 14px;}
    .offer-row{grid-template-columns:1fr auto;}
    .offer-link{grid-column:1/-1; text-align:center;}
    .dialog-header{padding:17px;}
    .comparison-list{padding:12px;}
  }

  /* Identidad RivFree: rojo, superficies neutras y acciones diferenciadas. */
  :root{
    --teal:#B42335; --teal-dark:#591723; --paper:#F7F7F8;
    --paper-dim:#EEEFF2; --surface:#FFFFFF; --ink:#25232A;
    --muted:#65616C; --line:#DEDCE2; --accent:#B42335;
    --accent-soft:#FFF0F1; --stamp-red:#A51F31;
    --gold:#B42335; --gold-bright:#F8DCE0; --lime:#FFD9DF;
  }
  :root[data-theme="dark"]{
    --teal:#FF9AA9; --teal-dark:#FFE3E8; --paper:#151316;
    --paper-dim:#302A30; --surface:#211D22; --ink:#F5EFF3;
    --muted:#BEB3BF; --line:#49404A; --accent:#B42335;
    --accent-soft:#392129; --stamp-red:#FFA7B4;
    --gold:#FF9AA9; --gold-bright:#56303B; --lime:#FFD9DF;
  }
  .topbar{background:linear-gradient(115deg,#651323,#A71E33 65%,#B42335);border-bottom:0;padding:28px 20px;}
  .brand-mark{background:#fff;color:#A71E33;transform:none;border-radius:14px;box-shadow:none;}
  .brand :is(h1,.seo-brand-title){text-transform:none;letter-spacing:-.8px;}
  .brand p{color:#FFE5E9;letter-spacing:0;font-size:13px;}
  .theme-toggle{border-radius:8px;min-height:40px;}
  .updated-badge{background:#fff0f1;color:#651323;border-radius:8px;font-family:var(--font-sans);}
  :root[data-theme="dark"] .updated-badge{color:#651323;}
  .stock-notice-inner{border:1px solid var(--line);border-left:3px solid var(--teal);background:var(--surface);box-shadow:none;}
  .controls-card{box-shadow:0 6px 22px rgba(35,20,30,.04);border-radius:16px;padding:22px;}
  .field label{color:var(--muted);letter-spacing:.5px;}
  .field input,.field select{min-height:44px;border-radius:8px!important;}
  .search-row input{background:var(--surface)!important;font-size:16px!important;}
  .search-button{border-radius:8px;min-height:48px;background:#B42335;}
  .search-help{font-size:12px;line-height:1.5;}
  .stores-field label.chk{padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin:0;cursor:pointer;}
  .stores-field label.chk:has(input:checked){border-color:var(--teal);background:var(--accent-soft);}
  .results-meta{font-family:var(--font-sans);color:var(--muted);line-height:1.6;}
  .card{border-radius:14px;}
  .card:hover{box-shadow:0 10px 26px rgba(35,20,30,.1);}
  .card.comparison-card{border-color:var(--teal);}
  .card-img,:root[data-theme="dark"] .card-img{background:#fff;padding:16px;}
  .card-img .noimg{color:#66616B;}
  .card-body{padding:16px;gap:10px;}
  .card-store{font-family:var(--font-sans);letter-spacing:0;text-transform:none;transform:none;background:var(--paper-dim);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;}
  .card-store:hover{background:var(--accent-soft);color:var(--teal);}
  .card-name{line-height:1.5;}
  .card-price{color:var(--ink);font-size:22px;}
  .card-action,.offer-link,.store-links a{background:#B42335;color:#fff;min-height:44px;}
  .card-action:hover,.offer-link:hover,.store-links a:hover{background:#8F1B2B;color:#fff;}
  .card-link{background:var(--surface);color:var(--teal);padding:14px 10px;}
  .card-link:hover{background:var(--accent-soft);}
  .load-more-btn:hover{background:#B42335;}
  .dialog-header{background:#81192A;}
  .dialog-subtitle{color:#FFE3E8;}
  .offer-name{color:var(--muted);}
  .comparison-dialog{background:var(--surface);border-radius:16px;}
  .badge-best{background:var(--accent-soft);color:var(--teal);}
  .badge-oferta{background:#B42335;}
  footer{color:var(--muted);border-top:1px solid var(--line);max-width:1060px;margin:auto;padding:24px 20px 32px;line-height:1.8;}
  footer strong{color:var(--ink);}
  input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-color:var(--teal);}
  .topbar a:focus-visible,.topbar button:focus-visible,.dialog-header button:focus-visible{outline-color:#fff;}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}}


  [data-store="neutral"]{--store-bg:#FFDF28;--store-fg:#222000;--store-border:#877400;}
  [data-store="barao"]{--store-bg:#176A3A;--store-fg:#fff;--store-border:#176A3A;}
  [data-store="yury"]{--store-bg:#184B9C;--store-fg:#fff;--store-border:#184B9C;}
  [data-store="dfa"]{--store-bg:#fff;--store-fg:#154F96;--store-border:#154F96;}
  [data-store="mantra"]{--store-bg:#151515;--store-fg:#fff;--store-border:#C9A44B;}
  [data-store="sineriz"]{--store-bg:#A42435;--store-fg:#fff;--store-border:#A42435;}
  [data-store="oprha"]{--store-bg:#29252D;--store-fg:#F5E5B5;--store-border:#A98E56;}
  .card-store[data-store]{background:var(--store-bg,var(--paper-dim));color:var(--store-fg,var(--ink));border:1px solid var(--store-border,var(--line));font-weight:700;}
  .card-store[data-store]:hover{filter:brightness(.92);text-decoration:underline;}
  .stores-field label.chk[data-store]{border-left:5px solid var(--store-border,var(--line));}
  #languageToggle{background:#81192A;color:#fff;max-width:170px;}
  #languageToggle option{background:#fff;color:#222;}
  .product-target{cursor:pointer;text-decoration:none;border:0;color:inherit;font:inherit;}
  button.card-name,a.card-name{background:transparent;text-align:left;padding:0;font-size:14.5px;font-weight:600;}
  .card-name.product-target:hover{text-decoration:underline;color:var(--teal);}
  .card-img.product-target{width:100%;position:relative;}
  .card-img.product-target:hover{box-shadow:inset 0 0 0 3px var(--teal);}
  .product-target:active{opacity:.75;}
  .action-feedback{font-size:11px;color:var(--teal);font-weight:600;}
  #backToTop{position:fixed;bottom:24px;right:24px;z-index:10;width:48px;height:48px;border:2px solid #fff;border-radius:50%;background:#B42335;color:#fff;font-size:25px;cursor:pointer;box-shadow:0 4px 18px #0004;}
  #backToTop[hidden],#actionStatus[hidden]{display:none;}
  #actionStatus{position:fixed;bottom:82px;right:20px;max-width:calc(100% - 40px);padding:12px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;z-index:20;box-shadow:0 5px 20px #0003;}


 .category-picker{position:relative;}
 #categoria[hidden]{display:none;}
 #categoryOptions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:25;max-height:270px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 22px #0002;}
 #categoryOptions[hidden]{display:none;}
 #categoryOptions [role="option"],.category-empty{padding:11px 12px;font-size:14px;}
 #categoryOptions [role="option"]{cursor:pointer;}
 #categoryOptions [role="option"]:hover,#categoryOptions .active{background:var(--accent-soft);color:var(--teal);}
 #categoryOptions [aria-selected="true"]{font-weight:700;}
 .category-empty{color:var(--muted);}

 .price-range{min-width:0;}
 .money-input{position:relative;flex:1;min-width:0;}
 .money-input > span{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--muted);pointer-events:none;}
 .field .money-input input[type=number]{padding-left:42px;appearance:textfield;-moz-appearance:textfield;}
 .money-input input::-webkit-inner-spin-button,.money-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}

 #priceError,#loadError{max-width:1060px;margin:14px auto;padding:14px 20px;border:1px solid var(--stamp-red);border-radius:8px;color:var(--ink);background:var(--accent-soft);}
 #priceError[hidden],#loadError[hidden]{display:none;}
 [aria-invalid="true"]{border-color:var(--stamp-red)!important;}

.planning-tools{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1rem 0}.planning-tools p{width:100%;margin:0;font-size:.85rem}.planning-tools input[type=number]{width:7rem;padding:.5rem}.favorite-button,.planning-tools button{padding:.6rem;border:1px solid #b42335;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.favorite-button[aria-pressed=true]{background:#b42335;color:white}#shoppingDialog{max-width:720px;width:90%;max-height:85dvh;overflow:auto}#shoppingList li{margin:1rem 0}.card-price{font-size:1.15rem}.card-price-row{flex-wrap:wrap}

#historyDialog{width:min(90%,720px);max-height:85dvh;overflow:auto}#historyContent svg{width:100%;height:auto}#historyContent table{border-collapse:collapse;margin:1rem 0}#historyContent td{padding:.4rem 1rem;border-bottom:1px solid #8885}


/* ===== RivFree UI refresh — product-first comparison experience ===== */
:root{
  --rf-red:#C91F3A;
  --rf-red-dark:#8E1428;
  --rf-navy:#141820;
  --rf-radius:18px;
  --rf-card-shadow:0 8px 26px rgba(31,28,35,.08);
}
body{min-height:100vh;}
.brand-mark svg{width:30px;height:30px;display:block;}
.brand-bag-solid{fill:currentColor;}
.brand-handle-bold{fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;}

/* Search stays visually dominant; secondary controls stay compact. */
.search-hero{display:block;}
.search-field{max-width:820px;margin:0 auto;}
.search-row{grid-template-columns:minmax(0,1fr) auto;}
.search-row input{height:54px!important;padding-inline:16px!important;border-radius:12px!important;box-shadow:0 1px 0 rgba(255,255,255,.7) inset;}
.search-button{min-height:54px;padding-inline:24px;border-radius:12px;font-size:14px;gap:11px;}
.search-button-icon{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;position:relative;display:inline-block;}
.search-button-icon::after{content:"";position:absolute;width:7px;height:2px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);border-radius:2px;}
.quick-filter-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:14px;align-items:start;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.category-quick-filter{min-width:0;}
.advanced-filters{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 90%,var(--paper));overflow:hidden;}
.advanced-filters summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 13px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink);}
.advanced-filters summary::-webkit-details-marker{display:none;}
.advanced-filters summary::after{content:"+";margin-left:auto;font-size:20px;line-height:1;color:var(--muted);}
.advanced-filters[open] summary::after{content:"−";}
.filter-summary-icon{width:16px;height:12px;border-block:2px solid currentColor;position:relative;opacity:.8;}
.filter-summary-icon::after{content:"";position:absolute;left:3px;right:3px;top:3px;border-top:2px solid currentColor;}
.filter-summary-note{font-size:11px;font-weight:500;color:var(--muted);}
.advanced-grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;padding:14px;border-top:1px solid var(--line);}
.advanced-grid .stores-field{grid-column:1/-1;gap:8px;}
.advanced-grid .filter-actions{grid-column:1/-1;}
.store-filter-chip{position:relative;min-height:38px;padding:7px 10px!important;border-left:1px solid var(--line)!important;background:var(--paper);transition:.15s ease;}
.store-filter-chip input{position:absolute;opacity:0;pointer-events:none;}
.store-filter-chip:has(input:checked){background:var(--surface)!important;box-shadow:inset 0 0 0 2px var(--store-border,var(--teal));border-color:transparent!important;}
.store-filter-name{font-weight:700;font-size:12px;}

/* Status/availability is informative rather than alarm-like. */
.updated-badge{display:inline-flex;align-items:center;gap:7px;box-shadow:none;border:1px solid rgba(255,255,255,.26);}
.updated-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#38B46A;box-shadow:0 0 0 3px rgba(56,180,106,.12);}
.updated-badge.stale::before{background:#E6A23C;box-shadow:0 0 0 3px rgba(230,162,60,.13);}
.stock-notice{margin-top:8px;}
.stock-notice-inner{padding:8px 12px;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted);box-shadow:none!important;align-items:center;}
.stock-notice-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1px solid currentColor;border-radius:50%;font:700 12px/1 var(--font-sans);}
.stock-notice-text strong{display:inline;color:var(--ink);margin-right:4px;}
.stock-notice-close{width:26px;height:26px;font-size:18px;}

/* Product cards are the visual focus. */
.grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:20px;margin-top:14px;}
.card{position:relative;border-radius:var(--rf-radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--rf-card-shadow);overflow:hidden;isolation:isolate;}
.card:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(31,28,35,.13);}
.card-img,.card-img.product-target,:root[data-theme="dark"] .card-img{position:relative;height:205px;padding:12px;background:transparent!important;overflow:visible;}
.card-image-stage{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:#fff;border-radius:14px;border:1px solid rgba(24,24,30,.08);overflow:hidden;padding:14px;}
.card-image-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transition:transform .2s ease;}
.card:hover .card-image-stage img{transform:scale(1.025);}
.card-img.product-target:hover{box-shadow:none;}
.card-img.product-target:hover .card-image-stage{box-shadow:inset 0 0 0 2px rgba(201,31,58,.3);}
.store-tags-overlay{position:absolute;top:20px;left:20px;right:20px;z-index:2;display:flex;gap:6px;pointer-events:none;}
.store-tags-overlay .card-store{pointer-events:auto;box-shadow:0 4px 12px rgba(0,0,0,.13);backdrop-filter:blur(5px);}
.card-store{display:inline-flex;align-items:center;gap:6px;max-width:118px;min-height:30px;padding:4px 7px!important;border-radius:8px!important;font-size:11px!important;line-height:1.1;overflow:hidden;}
.card-store-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card-body{padding:4px 17px 16px;gap:10px;}
.card-utility-row{display:flex;justify-content:flex-end;gap:6px;min-height:30px;}
.favorite-button{padding:5px 8px!important;border-color:var(--line)!important;border-radius:8px!important;font-size:11px;background:transparent!important;color:var(--muted)!important;}
.favorite-button:hover{border-color:var(--teal)!important;color:var(--teal)!important;}
.favorite-button[aria-pressed="true"]{background:var(--accent-soft)!important;color:var(--teal)!important;border-color:var(--teal)!important;}
.card-name{font-family:var(--font-display);font-size:15px!important;font-weight:600!important;line-height:1.35!important;min-height:41px;color:var(--ink);}
.badge-row{min-height:0;}
.badge-oferta,.badge-best{border-radius:999px;padding:4px 8px;font-size:9.5px;}
.card-price-row{display:flex;align-items:flex-end;gap:8px;margin-top:3px;}
.card-price{display:flex;flex-direction:column;gap:1px;font-family:var(--font-sans)!important;color:var(--ink);font-size:inherit!important;line-height:1;}
.card-price-prefix{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;}
.card-price-main{display:flex;align-items:baseline;gap:5px;}
.card-price-currency{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.3px;}
.card-price-amount{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.5px;color:var(--ink);}
.card-price-secondary{margin-top:5px;font-size:10.5px;color:var(--muted);font-weight:600;}
.card-price-old{font-family:var(--font-sans);font-size:12px;align-self:center;}
.price-unavailable{font-size:13px;color:var(--muted);font-weight:700;}
.comparison-hint{font-size:11px;color:var(--muted);}
.card-action,.card-link.card-cta{display:flex;align-items:center;justify-content:center;min-height:47px;margin:0 16px 16px;border-radius:11px!important;background:var(--rf-red)!important;color:#fff!important;border:0!important;padding:11px 12px!important;text-decoration:none;font:700 13px var(--font-sans);transition:.15s ease;}
.card-action:hover,.card-link.card-cta:hover{background:var(--rf-red-dark)!important;transform:translateY(-1px);}

/* Dark mode keeps cards dark and isolates white-background product photography. */
:root[data-theme="dark"] .card{background:#1E1C20;border-color:#39343B;box-shadow:0 8px 28px rgba(0,0,0,.25);}
:root[data-theme="dark"] .card:hover{box-shadow:0 16px 38px rgba(0,0,0,.34);}
:root[data-theme="dark"] .card-image-stage{border-color:#373239;background:#F7F7F7;}
:root[data-theme="dark"] .advanced-filters{background:#1D1A1F;}
:root[data-theme="dark"] .store-filter-chip{background:#29252B;}

/* Auxiliary tools no longer compete with the catalog. */
.planning-tools{max-width:1060px;margin:8px auto 4px!important;padding:8px 20px;gap:10px!important;color:var(--muted);font-size:12px;align-items:center!important;}
.planning-tools > label{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;white-space:nowrap;}
.planning-tools #favoritesOnly{width:18px;height:18px;margin:0;accent-color:var(--rf-red);}
.planning-tools #openShoppingList{display:inline-flex;align-items:center;justify-content:center;height:40px;min-height:40px;padding:0 14px;}
.planning-tools #exchangeRate{width:7.5rem;height:40px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:600 12px var(--font-sans);}
.planning-tools #exchangeRate:focus{outline:2px solid color-mix(in srgb,var(--rf-red) 30%,transparent);outline-offset:1px;border-color:var(--rf-red);}
.planning-tools p{margin-top:2px!important;}

@media (max-width:760px){
  .quick-filter-row{grid-template-columns:1fr;}
  .advanced-grid{grid-template-columns:1fr 1fr;}
  .advanced-grid .toggle-oferta{align-self:end;min-height:44px;}
  .filter-summary-note{display:none;}
}
@media (max-width:520px){
  .search-row{grid-template-columns:1fr;}
  .search-button{width:100%;}
  .advanced-grid{grid-template-columns:1fr;}
  .grid{gap:14px;}
  .card{display:flex;}
  .card-img,.card-img.product-target{height:205px;min-height:0;}
  .card-action,.card-link.card-cta{grid-column:auto;}
  .store-tags-overlay{top:19px;left:19px;right:19px;}
  .card-price-amount{font-size:27px;}
  .planning-tools{padding-inline:14px;align-items:stretch!important;}
  .planning-tools > label:first-child,.planning-tools #openShoppingList{min-height:42px;}
  .planning-tools > label:last-of-type{width:100%;justify-content:space-between;}
  .planning-tools #exchangeRate{flex:0 0 8rem;}
}

/* ===== RivFree light mode refinement — softer, deeper and less alarm-like ===== */
:root:not([data-theme="dark"]){
  --paper:#F1F3F6;
  --paper-dim:#E9ECF1;
  --surface:#FFFFFF;
  --line:#DDE1E7;
  --muted:#626873;
}

:root:not([data-theme="dark"]) body{
  background:#F1F3F6;
}

/* Availability is informational, not an error state. */
:root:not([data-theme="dark"]) .stock-notice-inner{
  background:#EEF4F8!important;
  border:1px solid #D9E5EC!important;
  color:#52606D;
  box-shadow:0 2px 8px rgba(31,41,55,.035)!important;
}
:root:not([data-theme="dark"]) .stock-notice-text strong{
  color:#26323D;
}
:root:not([data-theme="dark"]) .stock-notice-icon{
  color:#54748A;
  border-color:#9DB5C4;
  background:#F8FBFD;
}
:root:not([data-theme="dark"]) .stock-notice-close{
  color:#667681;
}

/* White surfaces stand clearly above the page background. */
:root:not([data-theme="dark"]) .controls-card{
  background:#FFFFFF;
  border-color:#E0E4EA;
  box-shadow:0 10px 30px rgba(24,32,45,.085),0 2px 8px rgba(24,32,45,.035);
}
:root:not([data-theme="dark"]) .advanced-filters{
  background:#FAFBFC;
  border-color:#DDE1E7;
  box-shadow:0 3px 10px rgba(24,32,45,.035);
}
:root:not([data-theme="dark"]) .card{
  background:#FFFFFF;
  border-color:#E0E4EA;
  box-shadow:0 7px 20px rgba(24,32,45,.085),0 1px 3px rgba(24,32,45,.035);
}
:root:not([data-theme="dark"]) .card:hover{
  box-shadow:0 16px 34px rgba(24,32,45,.14),0 3px 8px rgba(24,32,45,.05);
}
:root:not([data-theme="dark"]) .card-image-stage{
  border-color:#E6E8EC;
  box-shadow:0 1px 4px rgba(24,32,45,.035);
}

/* Store filters: neutral when inactive, clearly active when selected. */
:root:not([data-theme="dark"]) .store-filter-chip{
  background:#F8F9FB;
  border:1px solid #D7DCE3!important;
  color:#343A43;
  box-shadow:none;
}
:root:not([data-theme="dark"]) .store-filter-chip:hover{
  background:#F1F3F6;
  border-color:#BFC6CF!important;
}
:root:not([data-theme="dark"]) .store-filter-chip:has(input:checked){
  background:#272B31!important;
  color:#FFFFFF!important;
  border-color:#272B31!important;
  box-shadow:0 3px 9px rgba(24,32,45,.16)!important;
}
:root:not([data-theme="dark"]) .store-filter-chip:has(input:checked) .store-filter-name{
  color:#FFFFFF;
}

/* DFA needs enough visual weight on white cards. */
:root:not([data-theme="dark"]) .card-store[data-store="dfa"]{
  background:#154F96;
  color:#FFFFFF;
  border-color:#154F96;
}

/* Keep form controls crisp against the softer page background. */
:root:not([data-theme="dark"]) .field input,
:root:not([data-theme="dark"]) .field select,
:root:not([data-theme="dark"]) .search-row input{
  background:#FFFFFF!important;
  border-color:#D9DEE5;
}
:root:not([data-theme="dark"]) .field input:hover,
:root:not([data-theme="dark"]) .field select:hover,
:root:not([data-theme="dark"]) .search-row input:hover{
  border-color:#BEC5CF;
}


/* Privacy/branding rule: no logos taken from the stores' websites. The only exception is a logo the owner
   uploads in Studio → Tiendas → Logo and turns on (.has-logo, see ui-updates.css). */
.store-filter-chip img,
.card-store img,
.offer-store img,
.store-info img.store-logo,
.store-logo{
  display:none!important;
}

/* Catalog refinement: compact controls, clear photos and quieter actions. */
:root[data-theme="dark"]{--paper:#141416;--surface:#202023;--line:#38383e;--muted:#b5b5bf;--ink:#f4f4f6;}
.topbar{padding:20px;}
.brand :is(h1,.seo-brand-title){font-size:36px;}
.controls-card.search-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;padding:20px;}
.search-field{width:100%;max-width:none;margin:0;}
.search-hero > .search-field{grid-column:auto;}
.quick-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0;padding:0;border:0;}
.quick-filter-row .advanced-filters{margin-top:21px;}
.quick-filter-row:has(.advanced-filters[open]){grid-template-columns:1fr;}
.quick-filter-row:has(.advanced-filters[open]) .advanced-filters{margin-top:0;}
.filter-summary-note{display:none;}
.advanced-grid{grid-template-columns:minmax(0,1fr) auto;}
.search-row input{height:46px!important;box-shadow:none;}
.search-button{min-height:46px;padding-inline:18px;}
.search-help{font-size:11px;margin-bottom:0;}
.catalog-toolbar{max-width:1060px;margin:22px auto 8px;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.catalog-toolbar .results-meta{padding:0;margin:0;font-size:16px;font-weight:600;}
.catalog-details{font-size:12px;color:var(--muted);margin-top:6px;}
.catalog-details summary,.exchange-details summary{cursor:pointer;}
.catalog-details p{line-height:1.6;max-width:540px;}
.sort-field{min-width:210px;}
.sort-field label{font-size:10px;}
.sort-field select{height:40px;}
.planning-tools{padding:8px 0!important;margin:0 auto 8px!important;}
.exchange-details{margin-left:auto;font-size:12px;max-width:480px;}
.exchange-details summary{padding:12px 0;}
.exchange-details label{display:flex;align-items:center;gap:12px;}
.exchange-details p{line-height:1.6;}
.stock-notice-inner{padding:6px 0;}
.stock-notice{margin-bottom:0;}
.grid{gap:18px;align-items:stretch;}
.card,.card.comparison-card,:root[data-theme="dark"] .card{border-color:var(--line);border-radius:16px;box-shadow:0 3px 12px #0000000a;min-width:0;}
.card-img,.card-img.product-target,:root[data-theme="dark"] .card-img{height:190px;padding:12px 12px 0;flex-shrink:0;width:100%;}
.card-image-stage,:root[data-theme="dark"] .card-image-stage{background:#fff;border:0;border-radius:10px;padding:12px;}
.card-stores{position:static;padding:10px 14px 0;gap:6px;min-height:38px;align-items:center;}
.card-stores .card-store{
 background:var(--store-bg,var(--paper-dim));
 color:var(--store-fg,var(--ink));
 border:1px solid var(--store-border,var(--line));
 box-shadow:none;transform:none;letter-spacing:0;text-transform:none;
 min-height:28px;padding:5px 9px!important;max-width:100%;font-size:11px!important;
 border-radius:999px!important;
}
.card-stores .card-store:hover{filter:brightness(.94);text-decoration:none;}
.card-stores .card-store+.card-store::before{content:none;}
.store-count{font-size:11px;font-weight:600;color:var(--ink);width:100%;}
.card-body{padding:10px 14px 8px;gap:8px;}
.card-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;max-height:61px;flex:none;font-family:var(--font-sans);font-size:14px!important;line-height:1.45!important;}
.card-price-row{margin-top:auto;min-height:56px;padding-top:4px;flex-wrap:wrap;}
.card-price-amount{font-size:30px;}
.card-price-secondary{font-size:12px;font-weight:400;}
.card-utility-row{justify-content:space-between;align-items:center;margin-top:2px;}
.favorite-button.heart-button{font-size:24px;line-height:1;min-width:36px;min-height:36px;border:0!important;}
.favorite-button.heart-button[aria-pressed="true"]{color:#d52f4b!important;background:transparent!important;}
.card-action,.card-link.card-cta{width:auto;max-width:calc(100% - 28px);margin:0 14px 14px;min-height:42px;flex-shrink:0;letter-spacing:0;}
.card-link.card-cta{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important;}
.card-link.card-cta:hover{background:var(--paper)!important;border-color:var(--muted)!important;}
.badge-best{display:none;}
:focus-visible{outline:2px solid #dc5067;outline-offset:3px;}
@media(max-width:1120px){.catalog-toolbar,.planning-tools{margin-left:20px!important;margin-right:20px!important;}}
@media(max-width:900px){.controls-card.search-hero{grid-template-columns:1fr;gap:14px;}.quick-filter-row{grid-template-columns:1fr 1fr;}.quick-filter-row .advanced-filters{margin-top:21px;}}
@media(max-width:520px){
 .topbar{padding:16px;}.brand :is(h1,.seo-brand-title){font-size:30px;}
 .controls-card.search-hero{padding:14px;}.search-row{grid-template-columns:minmax(0,1fr) auto;}.search-button{width:auto;padding-inline:14px;}
 .quick-filter-row{grid-template-columns:1fr;}.quick-filter-row .advanced-filters{margin-top:0;}
 .advanced-grid{grid-template-columns:1fr;}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:12px;}
 .sort-field{display:flex;align-items:center;gap:12px;}.sort-field label{white-space:nowrap;}.sort-field select{flex:1;min-width:0;}
 .planning-tools{flex-wrap:wrap;}.planning-tools > label:last-of-type{width:auto;justify-content:flex-start;}.exchange-details{margin-left:0;width:100%;}
 .card{display:flex;flex-direction:column;}.card-img,.card-img.product-target{height:200px;}
 .card-action,.card-link.card-cta{width:auto;}.card-name{min-height:0;}
}
/* RivFree discovery and trip planning */
:root{--paper:#f5f6f8;--paper-dim:#e9edf2;--ink:#172337;--muted:#586577;--line:#dce2ea;--teal:#ad233c;--accent-soft:#fff0f2;}
.topbar{background:#14243b;border:0;padding:22px 20px;}
.brand :is(h1,.seo-brand-title){font-family:var(--font-display);letter-spacing:-1.5px;text-transform:none;font-size:36px;}
.brand-name-free{color:#ffb5b9;}.brand-mark{background:#e94e67;color:white;box-shadow:none;border-radius:14px;transform:none;}
.brand p{color:#d8e1ef;letter-spacing:0;font-size:12px;}
#languageToggle,.theme-toggle{background:#223650;color:#fff;border-color:#4b5e76;}
.updated-badge{background:#223650;color:#d8e1ef;}
.discovery-hero{max-width:1060px;margin:28px auto 20px;display:grid;grid-template-columns:1.5fr 1fr;gap:24px;}
.hero-copy{padding:30px 0 28px;}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;display:block;}
.hero-copy .eyebrow{color:var(--teal);}
.hero-copy h2{font:600 clamp(32px,4vw,49px)/1.08 var(--font-display);letter-spacing:-1.6px;margin:18px 0;}
.hero-copy h2 em{font-style:normal;color:var(--teal);}
.hero-copy p{max-width:430px;font-size:14px;line-height:1.7;color:var(--muted);}
.hero-cta{display:inline-flex;gap:35px;align-items:center;margin-top:12px;background:#ad233c;border-radius:9px;padding:14px 20px;font-weight:600;font-size:13px;text-decoration:none;color:#fff;}
.trip-card{background:#f9e9e6;border:1px solid #ecd8d3;border-radius:22px;padding:30px;position:relative;overflow:hidden;color:#442c34;display:flex;flex-direction:column;justify-content:center;}
.trip-card:after{content:'';position:absolute;width:190px;height:190px;border:35px solid #d88c8c33;border-radius:50%;right:-105px;bottom:-80px;pointer-events:none;}
.trip-icon{position:absolute;right:22px;top:15px;font:42px var(--font-display);color:#ad233c;}
.trip-card h3{font:600 29px/1.15 var(--font-display);letter-spacing:-.6px;margin:18px 0 8px;}
.trip-card p{font-size:13px;line-height:1.7;}.trip-tag{font-size:9px;letter-spacing:1.4px;font-weight:700;margin-top:15px;}
.category-shortcuts{max-width:1060px;margin:0 auto 20px;display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;}
.category-shortcuts button{white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:11px 17px;background:var(--surface);color:var(--ink);font:500 12px var(--font-sans);cursor:pointer;min-height:44px;}
.category-shortcuts button:hover{border-color:var(--teal);color:var(--teal);}
.controls{margin-top:0;}.controls-card.search-hero{border:1px solid var(--line);box-shadow:0 4px 16px #14243b05;}
.planning-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px;align-items:center;}
#openShoppingList,#shareShoppingList,#importShoppingList{background:#ad233c;color:white;border:0;border-radius:9px;min-height:44px;padding:11px 17px;font:600 13px var(--font-sans);cursor:pointer;}
.list-count{display:inline-grid;place-items:center;background:white;color:#ad233c;border-radius:20px;min-width:23px;height:23px;margin-left:9px;font-size:12px;}
.exchange-details{max-width:460px;}.exchange-details summary{color:var(--ink);font-size:12px;}.exchange-details summary strong{font-size:14px;}.exchange-details summary span{color:var(--muted);}
#automaticExchange{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:6px;margin-bottom:10px;cursor:pointer;}
.card-utility-row{flex-wrap:wrap;gap:6px;}.quantity-control{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;width:max-content;background:var(--surface);}
.quantity-control button{width:36px;min-height:36px;border:0;background:transparent;color:var(--ink);font-size:18px;cursor:pointer;}
.quantity-control input{width:44px;min-height:36px;text-align:center;background:transparent;color:var(--ink);border:0;font:600 14px var(--font-sans);appearance:textfield;}
.quantity-control input::-webkit-inner-spin-button{appearance:none;}.quantity-control button:disabled{opacity:.35;cursor:default;}
#shoppingDialog{width:min(760px,calc(100% - 24px));max-height:90dvh;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);}
#shoppingDialog::backdrop{background:#0b172bcc;backdrop-filter:blur(3px);}
.shopping-header{display:flex;align-items:center;justify-content:space-between;gap:15px;}.shopping-header h2{font:600 30px var(--font-display);margin:8px 0;}
#closeShoppingList{float:none;position:static;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;}
.shopping-store{margin:22px 0;border-top:1px solid var(--line);padding-top:14px;}.shopping-store h3{font-size:16px;margin:0 0 8px;}.shopping-store>a{font-size:12px;color:var(--teal);}
.shopping-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center;}
.shopping-row strong{font-size:13px;line-height:1.6;overflow-wrap:anywhere;}.shopping-row small{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.6;}.line-total{color:var(--ink);}
.remove-item{justify-self:end;border:0;background:transparent;color:var(--teal);padding:8px;font-size:12px;cursor:pointer;min-height:36px;}
.store-subtotal{text-align:right;font-size:13px;font-weight:600;}.shopping-total{display:flex;justify-content:space-between;gap:20px;padding:20px;border-radius:12px;background:var(--paper);flex-wrap:wrap;}.shopping-total span{font-size:13px;}.shopping-total strong{font-size:20px;}
.shopping-note,.share-list p,.list-empty{font-size:12px;line-height:1.7;color:var(--muted);}.share-list{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;}.share-list input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);}
#shareShoppingList:disabled{opacity:.5;cursor:default;}.import-banner{max-width:1060px;margin:20px auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}.import-banner p{font-size:14px;line-height:1.6;}#dismissImport{padding:12px;border:0;background:transparent;color:var(--ink);cursor:pointer;}
:root[data-theme="dark"]{--paper:#101b2b;--surface:#19283c;--line:#34465d;--muted:#bdc8d8;--ink:#f1f5fb;--teal:#ff9aaa;--accent-soft:#442c38;}
:root[data-theme="dark"] .trip-card{background:#352b39;border-color:#59434e;color:#f9e4e8;}:root[data-theme="dark"] .updated-badge{color:#d8e1ef;}
@media(max-width:1120px){.discovery-hero,.category-shortcuts,.import-banner{margin-left:20px;margin-right:20px;}}
@media(max-width:650px){.discovery-hero{grid-template-columns:1fr;gap:8px;margin-top:12px;}.hero-copy{padding:16px 0;}.hero-copy h2{font-size:36px;}.trip-card{padding:20px;}.trip-card h3{font-size:22px;margin:12px 0 0;}.trip-card p{margin-bottom:0;}.trip-tag{display:none;}.trip-icon{font-size:36px;}.category-shortcuts{margin-top:16px;}.header-actions{width:100%;gap:8px;}.brand p{font-size:11px;}#shoppingDialog{padding:18px;}.shopping-row{grid-template-columns:minmax(0,1fr) auto;}.shopping-total{padding:14px;}.quantity-control button{min-height:44px;width:40px;}.exchange-details{max-width:none;}.planning-tools{gap:12px;}}

/* Directory stays independent from product search and filters. */
#openStoreDirectory{font-weight:700;cursor:pointer;}
#storeDirectoryDialog{width:min(1000px,calc(100% - 24px));max-height:90dvh;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);}
#storeDirectoryDialog::backdrop{background:#0b172bcc;backdrop-filter:blur(3px);}
#closeStoreDirectory{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;}
.directory-intro,#storeDirectoryStatus{font-size:13px;line-height:1.7;color:var(--muted);}
.store-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.directory-store{border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0;}
.directory-store h3{font:600 21px var(--font-display);margin:0 0 16px;}
.directory-store .store-info{padding:0;}.directory-store .store-detail{grid-template-columns:1fr;gap:5px;overflow-wrap:anywhere;}.directory-store .store-links{gap:8px;}.directory-store .store-links a{font-size:12px;padding:10px 12px;}
#retryStoreDirectory{padding:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;cursor:pointer;}
@media(max-width:650px){#storeDirectoryDialog{padding:18px;}.store-directory-grid{grid-template-columns:1fr;}.directory-store{padding:16px;}}
/* Marketplace layout: navigation, campaign inventory, discovery and offers. */
.topbar{padding:18px 28px;background:#12243b;}
.topbar-inner{max-width:1240px;display:grid;grid-template-columns:225px minmax(240px,1fr) auto;gap:24px;align-items:center;}
.brand :is(h1,.seo-brand-title){font-size:33px;}.brand-lockup{gap:10px;}.brand-mark{width:38px;height:42px;border-radius:10px;}.brand p{display:block;margin:3px 0 0;max-width:210px;color:#d8e1ef;font-size:10px;line-height:1.25;letter-spacing:0;white-space:normal;}
.topbar .search-field{position:relative;min-width:0;}.topbar .search-field>label,.topbar .search-help{display:none;}
.topbar .search-row{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:0;background:white;border-radius:8px;overflow:hidden;}
.topbar .search-row input{height:46px!important;background:white!important;color:#172337;border:0!important;border-radius:0!important;font-size:13px!important;padding:12px 16px!important;}
/* Keep the header search readable in every theme/browser. */
.topbar #search{color:#172337!important;-webkit-text-fill-color:#172337!important;caret-color:#e84765!important;opacity:1!important;}
.topbar #search::placeholder{color:#6f7784!important;-webkit-text-fill-color:#6f7784!important;opacity:1!important;}
.topbar #search::selection{background:#ffd4dd;color:#172337;-webkit-text-fill-color:#172337;}
.topbar #search:-webkit-autofill,.topbar #search:-webkit-autofill:hover,.topbar #search:-webkit-autofill:focus{-webkit-text-fill-color:#172337!important;caret-color:#e84765!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;}
#grid,.empty-state{scroll-margin-top:24px;}
.topbar .search-button{min-height:46px;border:0;border-radius:0;background:#e84765;padding:10px;font-size:12px;box-shadow:none;}
.topbar .search-status{position:absolute;top:100%;left:0;background:var(--surface);color:var(--ink);z-index:5;padding:8px;}
.header-actions{gap:8px;flex-wrap:nowrap;}.header-actions .theme-toggle{font-size:11px;padding:9px;min-height:40px;}
#languageToggle{max-width:116px;}.theme-mode-label{display:none;}.theme-mode{min-width:40px;}
.header-list{border:0;background:transparent;color:white;display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;cursor:pointer;min-height:44px;}.header-list>span:first-child{font-size:24px;}
.topbar .updated-badge{display:none;}
.category-shortcuts{max-width:none;margin:0;padding:0 max(28px,calc((100% - 1240px)/2));gap:26px;background:#1b304a;border-top:1px solid #ffffff14;align-items:center;}
.category-shortcuts button,.category-shortcuts a{background:transparent;border:0;border-radius:0;color:#e3eaf4;min-height:43px;padding:12px 0;font-size:12px;text-decoration:none;white-space:nowrap;}
.category-shortcuts button:hover,.category-shortcuts a:hover{color:#ffb8c5;}.category-shortcuts #navOffers{color:#ffa8ba;font-weight:700;}
.campaign-carousel{position:relative;overflow:hidden;isolation:isolate;color:#292330;--campaign-bg:#f5dedd;--campaign-accent:#a32946;}
.campaign-carousel[hidden]{display:none;}
.campaign-carousel[data-theme="blue"]{--campaign-bg:#dce7f3;--campaign-accent:#235d92;color:#172e46;}
.campaign-carousel[data-theme="sand"]{--campaign-bg:#efe4cf;--campaign-accent:#76531b;color:#493b28;}
.campaign-carousel[data-theme="mint"]{--campaign-bg:#dce9df;--campaign-accent:#2c6850;color:#203e30;}
.hero-campaign{background:var(--campaign-bg);width:100%;}
.campaign-slide{position:relative;max-width:1240px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:340px;padding:35px 50px 48px;gap:45px;}
.campaign-copy{position:relative;z-index:2;}.campaign-copy .eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--campaign-accent);}
.campaign-copy h2{font:600 clamp(32px,3.6vw,49px)/1.08 var(--font-display);letter-spacing:-1.7px;white-space:pre-line;margin:15px 0;}
.campaign-copy p{font-size:13px;line-height:1.7;max-width:350px;margin:0 0 19px;opacity:.84;}
.campaign-cta{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;min-height:42px;padding:12px 23px;background:var(--campaign-accent);color:white;font:600 12px var(--font-sans);text-decoration:none;cursor:pointer;}
.campaign-visual{position:relative;min-width:0;display:flex;justify-content:center;align-items:center;height:255px;}
.campaign-visual:before{content:'';position:absolute;width:330px;height:330px;border:1px solid #ffffff85;border-radius:50%;}
.campaign-visual:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #ffffff65;border-radius:50%;z-index:-1;}
.product-pedestal{position:relative;display:grid;place-items:center;width:245px;height:245px;border-radius:50%;background:#fff;box-shadow:24px 24px 0 #ffffff48,0 20px 45px #56304c13;padding:22px;font:600 32px var(--font-display);color:var(--campaign-accent);}
.product-pedestal img{width:100%;height:100%;object-fit:contain;border-radius:18px;mix-blend-mode:multiply;}.product-pedestal:nth-child(2){margin-left:-35px;width:180px;height:180px;transform:translateY(35px);}.product-pedestal:nth-child(3){display:none;}
.campaign-custom-image{width:100%;height:100%;object-fit:contain;}
.campaign-label{position:absolute;right:24px;top:16px;font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.65;}
.campaign-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:55px;border:0;background:#ffffffc9;color:#333;font-size:34px;cursor:pointer;box-shadow:0 3px 12px #00000009;}
.campaign-arrow.previous{left:0;border-radius:0 9px 9px 0;}.campaign-arrow.next{right:0;border-radius:9px 0 0 9px;}
.campaign-pagination{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1px;z-index:3;}
.campaign-dot{width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;}.campaign-dot:after{content:'';width:7px;height:7px;border-radius:50%;background:#ffffffc0;border:1px solid #0004;}.campaign-dot[aria-current="true"]:after{background:var(--campaign-accent);width:20px;border-radius:8px;border-color:transparent;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.shopping-benefits{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.shopping-benefits span{display:flex;align-items:center;justify-content:center;gap:13px;font-size:12px;color:var(--muted);}.shopping-benefits b{font:600 22px var(--font-display);color:var(--teal);}
.popular-section{max-width:1200px;margin:0 auto 32px;}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;}.section-heading h2{font:600 27px var(--font-display);letter-spacing:-.6px;margin:6px 0;}.section-heading p{font-size:12px;color:var(--muted);line-height:1.6;margin:0;}.section-heading .eyebrow{font-size:9px;color:var(--teal);letter-spacing:1.4px;}
.rail-controls{display:flex;gap:8px;}.rail-controls button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer;}.rail-controls button:disabled{opacity:.4;cursor:default;}
.popular-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;}
.popular-rail .card{flex:0 0 220px;scroll-snap-align:start;}.popular-rail .card-img,.popular-rail .card-img.product-target{height:160px;}.popular-rail .card-stores{display:none;}.popular-rail .card-name{font-size:12px!important;min-height:36px;max-height:52px;}.popular-rail .card-price-amount{font-size:25px;}.popular-rail .card-utility-row{display:none;}.popular-rail .card-action,.popular-rail .card-link.card-cta{font-size:11px;min-height:36px;}
.catalog-heading{max-width:1200px;margin:4px auto 20px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:15px;}.catalog-offer-tag{padding:9px 14px;border-radius:30px;background:var(--accent-soft);color:var(--teal);font-size:11px;font-weight:600;white-space:nowrap;}
.controls{max-width:1240px;margin:0 auto;padding:0 20px;}.controls-card.search-hero{display:block;padding:14px 18px;}.quick-filter-row{grid-template-columns:minmax(200px,1fr) minmax(250px,1fr);}.quick-filter-row .advanced-filters{margin-top:21px;}
.catalog-toolbar,.planning-tools,.stock-notice,.grid,footer{max-width:1200px;}.grid{padding:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}.catalog-toolbar{margin-top:18px;}
@media(min-width:1450px){.campaign-slide{min-height:360px;}}
@media(max-width:1240px){.topbar-inner{grid-template-columns:195px minmax(200px,1fr) auto;gap:16px;}.popular-section,.catalog-heading,.shopping-benefits,.grid{margin-left:20px;margin-right:20px;}.header-actions .theme-toggle{padding:7px;}#languageToggle{max-width:95px;}}
@media(max-width:980px){.brand p{display:none;}.topbar-inner{grid-template-columns:1fr 1fr;gap:12px;}.topbar .search-field{grid-row:2;grid-column:1/-1;}.header-actions{justify-self:end;}.grid{grid-template-columns:repeat(3,minmax(0,1fr));}.campaign-slide{padding-inline:50px;gap:16px;}.campaign-copy h2{font-size:38px;}.product-pedestal{width:210px;height:210px;}.shopping-benefits{gap:8px;}.shopping-benefits span{font-size:11px;gap:8px;}}
@media(max-width:650px){.topbar{padding:12px 16px;}.topbar-inner{grid-template-columns:110px 1fr;gap:10px;}.brand :is(h1,.seo-brand-title){font-size:27px;}.brand-mark{display:none;}.header-actions{width:auto;gap:5px;}.header-actions .theme-toggle{font-size:10px;min-height:36px;}#languageToggle{max-width:76px;}.theme-mode{min-width:32px;}.header-list{font-size:0;gap:0;}.header-list>span:first-child{font-size:26px;}.category-shortcuts{padding:0 16px;gap:23px;margin:0;}.category-shortcuts button,.category-shortcuts a{font-size:11px;}.hero-campaign .campaign-slide{min-height:340px;padding:30px 32px 38px;grid-template-columns:1.25fr 1fr;gap:5px;}.campaign-copy h2{font-size:31px;letter-spacing:-1px;}.campaign-copy .eyebrow{font-size:8px;letter-spacing:1.1px;}.campaign-copy p{font-size:11px;}.campaign-cta{font-size:11px;padding:10px 13px;}.campaign-visual{height:180px;}.product-pedestal{width:150px;height:150px;padding:15px;box-shadow:10px 15px 0 #ffffff48;}.campaign-visual:before{width:200px;height:200px;}.campaign-visual:after{width:260px;height:260px;}.campaign-label{font-size:8px;right:14px;top:10px;}.campaign-arrow{width:25px;height:44px;font-size:26px;}.shopping-benefits{display:flex;overflow-x:auto;margin:0;padding:14px 16px;gap:24px;}.shopping-benefits span{white-space:nowrap;justify-content:flex-start;}.shopping-benefits b{font-size:19px;}.popular-section,.catalog-heading{margin-inline:16px;}.section-heading{gap:10px;}.section-heading h2{font-size:23px;}.section-heading p{font-size:11px;}.section-heading .eyebrow{font-size:8px;}.popular-rail .card{flex-basis:190px;}.rail-controls{gap:5px;}.rail-controls button{width:32px;height:32px;}.catalog-offer-tag{display:none;}.quick-filter-row{grid-template-columns:1fr;}.quick-filter-row .advanced-filters{margin-top:0;}.controls{padding:0 16px;}.grid{margin-inline:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.grid .card-img,.grid .card-img.product-target{height:155px;padding:8px 8px 0;}.grid .card-body{padding:8px;}.grid .card-stores{padding-inline:8px;}.grid .card-name{font-size:12px!important;}.grid .card-price-amount{font-size:24px;}.grid .card-action,.grid .card-link.card-cta{font-size:10px;margin:0 8px 10px;max-width:calc(100% - 16px);padding-inline:6px;}.grid .card-price-secondary{font-size:10px;}.grid .card-utility-row{gap:2px;}.grid .favorite-button{font-size:10px;}.grid .quantity-control button{width:30px;}.grid .quantity-control input{width:32px;}.catalog-toolbar,.planning-tools{margin-left:16px!important;margin-right:16px!important;}.popular-section{scroll-margin-top:15px;}}
@media(max-width:360px){.hero-campaign .campaign-slide{grid-template-columns:1.3fr .7fr;}.product-pedestal{width:115px;height:115px;}.campaign-copy h2{font-size:27px;}.header-actions{gap:2px;}}
/* Header positioning overrides the earlier form grid span. */
@media(min-width:981px){.topbar .search-field{grid-column:2;grid-row:1;}.topbar .header-actions{grid-column:3;grid-row:1;}}
@media(max-width:980px){.topbar .brand{grid-column:1;grid-row:1;}.topbar .header-actions{grid-column:2;grid-row:1;}}
#openStoreDirectory{white-space:nowrap;}.theme-mode-icon:before{content:'☾';font-size:19px;line-height:1;}:root[data-theme="dark"] .theme-mode-icon:before{content:'☀';}
.campaign-carousel[data-layout="banner"] .campaign-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0;}.campaign-carousel[data-layout="banner"] .campaign-visual:before,.campaign-carousel[data-layout="banner"] .campaign-visual:after{display:none;}.campaign-carousel[data-layout="banner"] .campaign-custom-image{object-fit:cover;}.campaign-carousel[data-layout="banner"] .campaign-copy{position:static;}.campaign-carousel[data-layout="banner"] .campaign-copy>h2,.campaign-carousel[data-layout="banner"] .campaign-copy>h3,.campaign-carousel[data-layout="banner"] .campaign-copy>p,.campaign-carousel[data-layout="banner"] .campaign-copy>.eyebrow{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.campaign-carousel[data-layout="banner"] .campaign-cta{position:absolute;inset:0;z-index:2;background:transparent;font-size:0;border-radius:0;}.campaign-carousel[data-layout="banner"] .campaign-cta:focus-visible{outline-offset:-5px;}.campaign-carousel[data-layout="banner"] .campaign-label{z-index:3;background:#fff;color:#20202a;padding:5px 8px;border-radius:4px;opacity:1;}
.topbar .search-row{grid-template-columns:minmax(0,1fr) 102px;}.topbar .search-button{display:flex;align-items:center;justify-content:center;gap:6px;}.theme-mode-label{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.category-shortcuts,.shopping-benefits{scrollbar-width:none;}.category-shortcuts::-webkit-scrollbar,.shopping-benefits::-webkit-scrollbar{display:none;}
@media(max-width:650px){.topbar .search-row{grid-template-columns:minmax(0,1fr) 48px;}.topbar .search-button>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.topbar .search-button{padding:10px;}}
.campaign-visual picture{display:block;width:100%;height:100%;}.campaign-cta:disabled{opacity:.55;cursor:wait;}.category-shortcuts button:disabled{opacity:.55;cursor:wait;}.catalog-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}.catalog-status .updated-badge{font-size:10px;padding:8px 10px;}
/* Five product cards on desktop; exactly two within the mobile viewport. */
.popular-rail .card{flex:0 0 calc((100% - 56px)/5);min-width:0;}.popular-rail{scroll-behavior:smooth;}.popular-rail .card-name{overflow-wrap:anywhere;}
.campaign-carousel{transition:background-color .6s ease;}.campaign-slide{animation:campaign-arrive .65s ease both;}.campaign-pause{position:absolute;bottom:14px;right:18px;border:1px solid #0002;background:#ffffffd9;color:#263346;border-radius:50%;width:32px;height:32px;z-index:4;cursor:pointer;}
@keyframes campaign-arrive{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
#discoverProducts{scroll-margin-top:20px;}#discoverProducts .rail-controls{flex-shrink:0;}
@media(max-width:980px){.popular-rail .card{flex-basis:calc((100% - 28px)/3);}}
@media(max-width:650px){.popular-rail{gap:10px;}.popular-rail .card{flex:0 0 calc((100% - 10px)/2);}.popular-rail .card-img,.popular-rail .card-img.product-target{height:140px;padding:8px 8px 0;}.popular-rail .card-body{padding:8px;}.popular-rail .card-name{font-size:11px!important;min-height:48px;max-height:48px;}.popular-rail .card-price-amount{font-size:22px;}.popular-rail .card-price-secondary{font-size:10px;}.popular-rail .card-action,.popular-rail .card-link.card-cta{margin:0 8px 10px;max-width:calc(100% - 16px);font-size:10px;padding-inline:4px;}.section-heading:has(.autoplay-toggle){flex-wrap:wrap;}.section-heading:has(.autoplay-toggle) .rail-controls{margin-left:auto;}.hero-campaign .campaign-slide{min-height:315px;}.campaign-pagination{bottom:8px;}.campaign-pause{bottom:10px;right:10px;}.campaign-dot{width:24px;}}
@media(prefers-reduced-motion:reduce){.campaign-slide{animation:none;}.campaign-carousel{transition:none;}.popular-rail{scroll-behavior:auto;}}
.popular-rail{scrollbar-width:none;}.popular-rail::-webkit-scrollbar{display:none;}

/* ===== 2026-09-23 · Professional UI polish ===== */
:root{
  --paper:#f3f5f8;
  --paper-dim:#e8edf3;
  --surface:#ffffff;
  --surface-muted:#f8fafc;
  --ink:#182234;
  --muted:#687487;
  --line:#dce3ec;
  --teal:#a9253f;
  --accent:#e84e69;
  --accent-soft:#fdecef;
  --shadow-soft:0 8px 28px rgba(20,36,59,.08);
  --shadow-card:0 8px 22px rgba(20,36,59,.07);
}
:root[data-theme="dark"]{
  --paper:#0d1623;
  --paper-dim:#121e2e;
  --surface:#172337;
  --surface-muted:#1d2b40;
  --ink:#f3f6fb;
  --muted:#aeb9ca;
  --line:#33435a;
  --teal:#ff9bae;
  --accent:#ff6f8a;
  --accent-soft:#3a2430;
  --shadow-soft:0 14px 34px rgba(0,0,0,.22);
  --shadow-card:0 10px 28px rgba(0,0,0,.18);
}
html{scroll-padding-top:18px;}
body{
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.005em;
  background:
    radial-gradient(circle at 15% 0,rgba(232,78,105,.035),transparent 26rem),
    var(--paper);
}
button,input,select,textarea{font-family:inherit;}
.topbar{box-shadow:0 8px 24px rgba(15,28,46,.12);}
.topbar-inner{row-gap:14px;}
.brand :is(h1,.seo-brand-title){font-size:34px;letter-spacing:-1.25px;}
.topbar .search-row{border:1px solid rgba(255,255,255,.12);box-shadow:0 7px 22px rgba(0,0,0,.10);}
.topbar .search-row input{font-size:14px!important;}
.header-actions .theme-toggle,.header-list{font-weight:600;}
.category-shortcuts{box-shadow:0 4px 14px rgba(9,22,38,.09);}
.category-shortcuts button,.category-shortcuts a{letter-spacing:.01em;}

/* Main campaign: richer in light mode, truly dark in dark mode. */
.campaign-carousel{--campaign-bg:#efd4da;--campaign-accent:#9f2942;color:#30212a;}
.campaign-carousel[data-theme="blue"]{--campaign-bg:#d8e5f3;--campaign-accent:#245f93;color:#192d45;}
.campaign-carousel[data-theme="sand"]{--campaign-bg:#eadcc3;--campaign-accent:#76511b;color:#463725;}
.campaign-carousel[data-theme="mint"]{--campaign-bg:#d7e7dd;--campaign-accent:#2e6b51;color:#203c30;}
:root[data-theme="dark"] .campaign-carousel{--campaign-bg:#38232e;--campaign-accent:#ff91a6;color:#f8edf0;}
:root[data-theme="dark"] .campaign-carousel[data-theme="blue"]{--campaign-bg:#192c45;--campaign-accent:#85baff;color:#ecf4ff;}
:root[data-theme="dark"] .campaign-carousel[data-theme="sand"]{--campaign-bg:#322b21;--campaign-accent:#e8c578;color:#f8f0de;}
:root[data-theme="dark"] .campaign-carousel[data-theme="mint"]{--campaign-bg:#1c332c;--campaign-accent:#85d4ad;color:#ecfaf3;}
.hero-campaign{border-bottom:1px solid color-mix(in srgb,var(--campaign-accent) 20%,transparent);}
.campaign-slide{min-height:352px;padding-top:44px;padding-bottom:54px;}
.campaign-copy h2{font-size:clamp(34px,3.7vw,52px);line-height:1.05;letter-spacing:-1.9px;}
.campaign-copy p{font-size:13.5px;line-height:1.75;}
.campaign-cta{border-radius:10px;box-shadow:0 7px 18px color-mix(in srgb,var(--campaign-accent) 22%,transparent);}
.campaign-arrow{border:1px solid rgba(28,39,55,.08);border-radius:10px!important;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);}
:root[data-theme="dark"] .campaign-arrow{background:rgba(14,24,38,.84);border-color:rgba(255,255,255,.12);color:#fff;}
:root[data-theme="dark"] .campaign-pause{background:rgba(14,24,38,.88);border-color:rgba(255,255,255,.14);color:#fff;}
:root[data-theme="dark"] .campaign-dot:after{background:#ffffff8f;border-color:#ffffff30;}
:root[data-theme="dark"] .product-pedestal{background:#f8fafc;box-shadow:22px 22px 0 #ffffff18,0 20px 45px #0005;}
:root[data-theme="dark"] .campaign-carousel[data-layout="banner"] .campaign-label{background:#172337;color:#f6f8fb;}

.shopping-benefits{
  margin-top:18px;
  margin-bottom:42px;
  padding:18px 22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(135deg,var(--surface) 0%,var(--surface-muted) 100%);
  box-shadow:var(--shadow-soft);
}
.shopping-benefits span{font-size:12.5px;line-height:1.45;}
.shopping-benefits b{font-size:21px;}

.popular-section{margin-bottom:46px;}
.section-heading{margin-bottom:20px;}
.section-heading h2{font-size:30px;line-height:1.15;letter-spacing:-.9px;margin:7px 0 8px;}
.section-heading p{font-size:13px;line-height:1.65;max-width:620px;}
.section-heading .eyebrow{font-size:9.5px;letter-spacing:1.6px;}
.rail-controls button{transition:transform .16s ease,background .16s ease,border-color .16s ease;box-shadow:0 3px 10px rgba(20,36,59,.05);}
.rail-controls button:not(:disabled):hover{transform:translateY(-1px);border-color:var(--teal);}

.controls-card.search-hero{border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft);padding:17px 20px;}
.field label{font-size:10.5px;letter-spacing:1.05px;font-weight:700;}
.field input[type=text],.field input[type=search],.field input[type=number],.field select{border-radius:9px;min-height:42px;font-size:13.5px;}
.advanced-filters summary{min-height:42px;border-radius:9px;}
.catalog-heading{padding-top:34px;margin-top:8px;margin-bottom:22px;}
.catalog-toolbar{margin-top:22px;margin-bottom:12px;}
.catalog-toolbar .results-meta{font-family:var(--font-sans);font-size:15px;font-weight:700;letter-spacing:-.01em;}

.card,.card.comparison-card,:root[data-theme="dark"] .card{
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-card);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(20,36,59,.12);border-color:color-mix(in srgb,var(--teal) 24%,var(--line));}
:root[data-theme="dark"] .card:hover{box-shadow:0 16px 36px rgba(0,0,0,.28);}
.card-img,.card-img.product-target,:root[data-theme="dark"] .card-img{background:var(--surface-muted);}
.card-body{gap:9px;}
.card-name{font-size:13.5px!important;line-height:1.45;font-weight:650;letter-spacing:-.01em;}
.card-price-amount{letter-spacing:-.8px;}
.card-store{border-radius:999px!important;transform:none!important;font-family:var(--font-sans)!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.65px!important;}
.card-action,.card-link.card-cta{border-radius:9px!important;font-weight:700!important;}

/* Banners/notices should feel designed in both themes, not like white strips. */
.stock-notice{margin-top:16px;}
.stock-notice-inner{
  padding:12px 14px!important;
  border:1px solid #edc7ce!important;
  border-left:4px solid var(--teal)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#fff0f3 0%,#f8e8ed 100%)!important;
  color:#5b3a44!important;
  box-shadow:0 6px 18px rgba(169,37,63,.06)!important;
}
.stock-notice-text strong{color:#8f2338!important;}
.stock-notice-icon{color:#a9253f;}
:root[data-theme="dark"] .stock-notice-inner{
  border-color:#553344!important;
  background:linear-gradient(135deg,#2b202b 0%,#24202c 100%)!important;
  color:#d8c7ce!important;
}
:root[data-theme="dark"] .stock-notice-text strong{color:#ff9bae!important;}
:root[data-theme="dark"] .stock-notice-icon{color:#ff9bae;}

.import-banner{
  max-width:1200px;
  border-color:#edc7ce;
  background:linear-gradient(135deg,#fff1f3 0%,#f8e9ed 100%);
  box-shadow:var(--shadow-soft);
}
:root[data-theme="dark"] .import-banner{border-color:#543446;background:linear-gradient(135deg,#2b202b 0%,#24202c 100%);}

.planning-tools{padding-block:12px!important;}
footer{font-size:12.5px;line-height:1.75;}
.footer-actions{margin-top:12px;}
.footer-actions button{border:0;background:transparent;color:var(--teal);font:700 12px var(--font-sans);padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}

.analytics-consent{
  position:fixed;
  left:50%;
  bottom:20px;
  z-index:1000;
  width:min(760px,calc(100% - 32px));
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:20px 22px;
  border:1px solid #e5c5cc;
  border-radius:16px;
  background:linear-gradient(135deg,#fff3f5 0%,#f5e6eb 100%);
  color:#35242b;
  box-shadow:0 24px 64px rgba(20,28,42,.22);
}
.analytics-consent[hidden]{display:none;}
.analytics-consent .eyebrow{color:#9c2940;margin-bottom:5px;}
.analytics-consent-copy strong{display:block;font:600 18px/1.3 var(--font-display);letter-spacing:-.3px;}
.analytics-consent-copy p{margin:6px 0 0;color:#69515a;font-size:11.5px;line-height:1.6;max-width:560px;}
.analytics-consent-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.analytics-consent-actions button{min-height:40px;padding:10px 14px;border-radius:9px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;}
.privacy-primary{border:1px solid #a9253f;background:#a9253f;color:#fff;}
.privacy-secondary{border:1px solid #cfaab2;background:rgba(255,255,255,.58);color:#5a3440;}
:root[data-theme="dark"] .analytics-consent{border-color:#533446;background:linear-gradient(135deg,#2c202b 0%,#22202b 100%);color:#f6edf1;box-shadow:0 26px 70px rgba(0,0,0,.45);}
:root[data-theme="dark"] .analytics-consent .eyebrow{color:#ff9bae;}
:root[data-theme="dark"] .analytics-consent-copy p{color:#c8b7bf;}
:root[data-theme="dark"] .privacy-secondary{border-color:#654556;background:#352a36;color:#eee2e7;}

@media(max-width:1240px){.shopping-benefits{margin-left:20px;margin-right:20px;}}
@media(max-width:650px){
  body{font-size:14px;}
  .shopping-benefits{margin:14px 12px 32px;padding:14px 16px;border-radius:13px;}
  .section-heading h2{font-size:25px;}
  .section-heading p{font-size:11.5px;}
  .controls-card.search-hero{border-radius:13px;padding:14px;}
  .card,.card.comparison-card{border-radius:12px;}
  .analytics-consent{bottom:10px;width:calc(100% - 20px);grid-template-columns:1fr;gap:14px;padding:16px;border-radius:14px;}
  .analytics-consent-actions{justify-content:stretch;}
  .analytics-consent-actions button{flex:1;}
}

/* Catalog browsing, product previews and store-specific favorites. */
.card{position:relative;}
.card > .heart-button{position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;font-size:28px!important;border-radius:50%;background:var(--surface)!important;box-shadow:0 2px 10px #00000012;color:var(--ink);}
.card > .heart-button[aria-pressed="true"]{background:var(--surface)!important;}
.card-img:is(button){width:100%;cursor:zoom-in;}
.card-utility-row{flex-wrap:wrap;}
.offer-favorite-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;grid-column:1/-1;}
#productDialog{width:min(720px,calc(100% - 24px));max-height:90dvh;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);overflow:auto;}
#productDialog::backdrop{background:#0b172baa;backdrop-filter:blur(3px);}
.product-preview-image{display:block;width:100%;height:min(45dvh,380px);object-fit:contain;background:#fff;border-radius:12px;margin-bottom:20px;}
.preview-offer{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-top:1px solid var(--line);}
.preview-offer p{margin:0;}.preview-offer a{grid-column:1/-1;color:var(--teal);}
#productPreviewTitle{font-size:22px;overflow-wrap:anywhere;}
dialog{overscroll-behavior:contain;}body:has(dialog[open]){overflow:hidden;}
.search-results-mode #heroCampaign,.search-results-mode #discoverProducts,.search-results-mode #popularProducts,.search-results-mode .shopping-benefits,.search-results-mode a[href="#discoverProducts"],.search-results-mode a[href="#popularProducts"]{display:none!important;}
#searchButton .search-button-icon{display:block;width:20px;height:20px;flex-shrink:0;background:none;border:0;}
:root .stock-notice-inner,:root[data-theme="dark"] .stock-notice-inner{background:color-mix(in srgb,var(--teal) 6%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--teal) 16%,transparent)!important;border-radius:12px!important;box-shadow:none!important;padding:12px 16px;color:var(--muted)!important;}
:root .stock-notice-text strong,:root[data-theme="dark"] .stock-notice-text strong{color:var(--ink)!important;}
:root .stock-notice-icon,:root[data-theme="dark"] .stock-notice-icon{color:var(--teal)!important;}
@media(max-width:650px){
 input,select,textarea,#categorySearch,#search,.quantity-control input,#languageToggle{font-size:16px!important;}
 .grid .card > .heart-button{top:6px;right:6px;}
 .grid .card-utility-row{gap:8px;}.grid .quantity-control{max-width:100%;}
 .grid .card-action,.grid .card-link.card-cta{min-height:44px;}
 #productDialog{padding:16px;}.offer-row{gap:12px;}.offer-name{overflow-wrap:anywhere;}
 .stock-notice-text{font-size:12px;line-height:1.5;}
}

/* Always-visible affordances, including touch browsers without a native clear button. */
.category-picker{position:relative;}
#categorySearch{padding-right:84px;}
.category-clear{position:absolute;right:5px;top:4px;min-height:36px;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:600 12px var(--font-sans);cursor:pointer;}
.category-clear[hidden]{display:none;}
#languageToggle{width:65px;min-width:65px;max-width:65px;font-size:14px;padding-inline:8px;}
#searchButton .search-button-icon{border-radius:0;overflow:visible;opacity:1;visibility:visible;}
#searchButton .search-button-icon::after{content:none;}
.privacy-policy-link{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.analytics-consent{max-height:85dvh;overflow:auto;}
.analytics-consent-actions button{flex:1;min-height:44px;}
.analytics-consent-actions .privacy-secondary,.analytics-consent-actions .privacy-primary{border:1px solid var(--teal);background:var(--surface);color:var(--ink);}
.footer-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;}
@media(max-width:650px){.category-clear{min-height:40px;top:2px;}#categorySearch{min-height:44px;}#languageToggle{font-size:16px!important;}}

/* Predictable space while the catalogue and product images load. */
#heroCampaign{min-height:390px;}
#heroCampaign .campaign-slide{min-height:390px;animation:none;}
#heroCampaign .campaign-copy h2{min-height:2.4em;}
.popular-rail{min-height:382px;}
.popular-section .section-heading{min-height:112px;}
.popular-rail.few-products{justify-content:center;}
.popular-rail .card{min-height:370px;}
.card-image-stage img{object-fit:contain;}
.step-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0;}
.price-availability{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface);width:fit-content;cursor:pointer;}
.price-availability input{width:19px;height:19px;accent-color:var(--teal);}
#stockNotice{background:#fff5db!important;border:1px solid #dca742!important;border-left:4px solid #c28b22!important;color:#674714!important;}
#stockNotice strong,#stockNotice p,#stockNotice .stock-notice-icon,#stockNotice button{color:inherit!important;}
[data-theme="dark"] #stockNotice{background:#382d19!important;border-color:#ac8134!important;color:#ffe1a3!important;}
.card-stores .card-store{border:1px solid var(--store-border)!important;background:var(--store-bg)!important;color:var(--store-fg)!important;box-shadow:0 1px 3px #0002;}
@media(max-width:650px){.popular-rail.few-products{justify-content:flex-start;}}
@media(max-width:650px){
 #heroCampaign,#heroCampaign .campaign-slide{min-height:370px;}
 .popular-rail{min-height:350px;}
 .popular-rail .card{min-height:340px;}
 .popular-section .section-heading{min-height:135px;}
 .popular-rail.few-products:has(.card:only-child){justify-content:center;}
 .shopping-benefits .step-icon{width:18px;height:18px;}
}
.price-availability{grid-column:1/-1;grid-row:2;margin:0;}
#stockNotice .stock-notice-inner{background:transparent!important;border:0!important;color:inherit!important;}
#stockNotice{border-radius:12px;}
.card-store[data-store="other"]{--store-bg:var(--surface);--store-fg:var(--ink);--store-border:var(--line);}
@media(max-width:760px){.price-availability{grid-row:auto;}}
/* Keep every slide within the same frame, including before its JSON arrives. */
#heroCampaign{height:440px;min-height:0;}
#heroCampaign .campaign-slide{height:100%;min-height:0;box-sizing:border-box;}
#heroCampaign .campaign-copy{min-height:0;max-height:100%;overflow:auto;}
.topbar #searchButton{min-width:0;}
@media(max-width:650px){#heroCampaign{height:480px;}.campaign-copy h2{font-size:32px;}}
@media(max-width:360px){#heroCampaign{height:500px;}.campaign-copy h2{font-size:28px;}}

/* Manual observations and publication sources */
.card-source-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:-2px;}
.source-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--paper-dim);color:var(--muted);font:700 10.5px/1.2 var(--font-sans);text-decoration:none;}
a.source-chip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--rf-red) 45%,var(--line));background:var(--accent-soft);}
.source-instagram{border-color:rgba(193,53,132,.28);background:color-mix(in srgb,#c13584 8%,var(--surface));color:color-mix(in srgb,#c13584 78%,var(--ink));}
.source-facebook{border-color:rgba(24,119,242,.25);background:color-mix(in srgb,#1877f2 7%,var(--surface));}
.source-whatsapp{border-color:rgba(37,211,102,.25);background:color-mix(in srgb,#25d366 7%,var(--surface));}
.source-more{min-width:30px;justify-content:center;}
.preview-offer .card-source-row,.offer-row .card-source-row{margin-top:6px;}
:root[data-theme="dark"] .source-instagram{background:rgba(193,53,132,.12);color:#f3a8d0;border-color:rgba(243,168,208,.25);}


/* Compact shared-list import: shown immediately when a shared URL is opened. */
.import-list-dialog{
  width:min(520px,calc(100% - 28px));
  max-width:520px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 28px 80px rgba(10,18,28,.30);
}
.import-list-dialog::backdrop{background:rgba(8,18,28,.72);backdrop-filter:blur(5px);}
.import-list-dialog .eyebrow{display:block;margin-bottom:8px;}
.import-list-dialog h2{margin:0 0 10px;font-size:clamp(25px,5vw,34px);letter-spacing:-.04em;}
.import-list-dialog p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;}
.import-list-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:20px;border-radius:16px;background:var(--accent-soft);color:var(--rf-red);font-size:30px;font-weight:700;}
.import-resolve-status{margin-top:12px!important;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:12px!important;}
.import-list-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;}
#importShoppingList{background:var(--rf-red);color:#fff;border:0;border-radius:10px;min-height:44px;padding:11px 18px;font:700 13px var(--font-sans);cursor:pointer;}
#importShoppingList:disabled{opacity:.6;cursor:wait;}
#dismissImport{min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font:700 13px var(--font-sans);cursor:pointer;}
@media(max-width:520px){.import-list-dialog{padding:22px;border-radius:18px;}.import-list-actions{display:grid;grid-template-columns:1fr;}.import-list-actions button{width:100%;}}

/* RivFree Studio: safe visual customisation hooks */
body[data-density="compact"] .card-body{padding:8px!important} body[data-density="compact"] .popular-section{padding-top:12px!important;padding-bottom:12px!important}
body[data-density="airy"] .card-body{padding:18px!important} body[data-density="airy"] .popular-section{padding-top:28px!important;padding-bottom:28px!important}
.catalog-section[hidden]{display:none!important}.studio-footer-text{display:inline}.shopping-benefits[hidden],.popular-section[hidden],#heroCampaign[hidden]{display:none!important}

/* Studio-configurable campaign palettes and transition behavior */
.campaign-carousel[data-theme="plum"]{--campaign-bg:#eadcf0;--campaign-accent:#74438a;color:#392844;}
.campaign-carousel[data-theme="graphite"]{--campaign-bg:#dfe3e8;--campaign-accent:#3f4a58;color:#232a32;}
.campaign-carousel[data-theme="amber"]{--campaign-bg:#f2dfb7;--campaign-accent:#8a5b12;color:#4b381d;}
.campaign-carousel[data-theme="ocean"]{--campaign-bg:#d7e9ed;--campaign-accent:#247287;color:#173d49;}
.campaign-carousel[data-theme="forest"]{--campaign-bg:#d8e7d7;--campaign-accent:#376b3d;color:#243d27;}
:root[data-theme="dark"] .campaign-carousel[data-theme="plum"]{--campaign-bg:#30223a;--campaign-accent:#d3a0eb;color:#f5ecf8;}
:root[data-theme="dark"] .campaign-carousel[data-theme="graphite"]{--campaign-bg:#22272e;--campaign-accent:#aeb9c8;color:#f1f4f7;}
:root[data-theme="dark"] .campaign-carousel[data-theme="amber"]{--campaign-bg:#342918;--campaign-accent:#f0c36d;color:#fff4dc;}
:root[data-theme="dark"] .campaign-carousel[data-theme="ocean"]{--campaign-bg:#17313a;--campaign-accent:#78c8db;color:#edfafd;}
:root[data-theme="dark"] .campaign-carousel[data-theme="forest"]{--campaign-bg:#1c3120;--campaign-accent:#8bd095;color:#eff9f0;}
.campaign-cta{background:var(--campaign-button-bg,var(--campaign-accent));color:var(--campaign-button-text,#fff);}
#heroCampaign[data-transition="smooth"] .campaign-slide{animation:campaign-studio-arrive var(--campaign-transition-ms,500ms) cubic-bezier(.22,.7,.2,1) both!important;}
#heroCampaign[data-transition="static"] .campaign-slide{animation:none!important;}
#heroCampaign[data-transition="smooth"]{transition:background-color var(--campaign-transition-ms,500ms) ease,color var(--campaign-transition-ms,500ms) ease;}
#heroCampaign[data-transition="static"]{transition:none;}
@keyframes campaign-studio-arrive{from{opacity:.15;transform:translateX(18px) scale(.995);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){#heroCampaign[data-transition="smooth"] .campaign-slide{animation:none!important;}#heroCampaign[data-transition="smooth"]{transition:none;}}
.category-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.category-chip{border:1px solid var(--teal);border-radius:20px;padding:5px 10px;background:var(--surface);color:var(--ink);cursor:pointer}
.search-field{position:relative}
.search-suggestions{position:absolute;top:70px;left:0;right:0;z-index:60;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 10px 30px #0003;overflow:hidden}
.search-suggestions [role=option]{padding:12px 16px;cursor:pointer;font-weight:500}
.search-suggestions [role=option]:hover,.search-suggestions [aria-selected=true]{background:var(--surface-muted);text-decoration:underline}
.badge-price-drop{padding:5px 8px;border:1px solid currentColor;border-radius:8px;color:var(--ink);background:var(--surface-muted);font-size:.72rem;font-weight:750}
.reference-currency-label{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;color:var(--ink)}
.reference-currency-label select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px}
.shopping-route-link{display:inline-block;margin:4px 8px 4px 0;padding:10px;border:1px solid var(--teal);border-radius:10px;font-weight:700}
#shoppingRoute p{font-size:.8rem;color:var(--muted)}
.shopping-row{grid-template-columns:minmax(140px,1fr) auto auto auto auto}
.shopping-row.purchased>div:first-child strong{text-decoration:line-through}
.purchased-control{display:flex;gap:5px;align-items:center;font-size:.8rem;cursor:pointer}
.purchased-control input{width:20px;height:20px;accent-color:var(--teal)}
.shopping-pending{font-weight:700}
.ios-install-hint{position:fixed;bottom:12px;left:12px;right:12px;max-width:580px;margin:auto;z-index:80;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 8px 35px #0003;display:flex;gap:12px;align-items:flex-start}
.ios-install-hint p{margin:0;font-size:.85rem;line-height:1.5}
.ios-install-hint button{background:transparent;color:inherit;border:0;font-size:24px;cursor:pointer;min-width:36px;min-height:36px}
.single-share-dialog input{width:100%;margin:12px 0}
@media(max-width:650px){.shopping-row{grid-template-columns:1fr auto}.shopping-row>div:first-child{grid-column:1/-1}.shopping-row .remove-item{justify-self:end}.search-suggestions{top:100%;}.ios-install-hint{bottom:env(safe-area-inset-bottom,12px)}}

/* Keep mobile carousel transitions on opacity/transform, without blur repainting. */
@media(max-width:650px){
 .campaign-arrow{backdrop-filter:none;-webkit-backdrop-filter:none;}
 #heroCampaign[data-transition="smooth"]{transition:none;}
 .campaign-visual img{filter:none;}
}

#heroCampaign{touch-action:pan-y pinch-zoom;}

/* Discovery controls sit at the rail edges; native touch scrolling loads more. */
.discovery-carousel{position:relative;padding:0 22px;}
.discovery-arrow{position:absolute;top:45%;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:0 3px 12px #0002;font-size:30px;line-height:1;cursor:pointer;}
.discovery-arrow.previous{left:0;}.discovery-arrow.next{right:0;}
.discovery-arrow:disabled{visibility:hidden;pointer-events:none;}
.discovery-arrow:focus-visible{outline:3px solid var(--accent,#b42335);outline-offset:3px;}
#discoverGrid{scroll-behavior:auto;overflow-anchor:none;overscroll-behavior-x:contain;}
@media(max-width:650px){.discovery-carousel{padding:0 14px;}.discovery-arrow{width:40px;height:44px;}}

.seo-brand-title{margin:0}
/* A compact introduction aligned with the campaign card. */
/* SEO text: placed by tools/build_seo.cjs just above the footer. Visible and readable (Google indexes it), but discreet. */
.seo-home-heading{box-sizing:border-box;width:calc(100% - 32px);max-width:1200px;margin:28px auto 0;padding:18px 8px 6px;text-align:center;color:var(--muted);border-top:1px solid var(--line);}
.seo-home-heading h1{max-width:1000px;margin:0 auto;font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:1.35;letter-spacing:0;color:var(--ink);text-wrap:balance;}
.seo-home-heading p{max-width:740px;margin:4px auto 4px;color:var(--muted);font-size:12.5px;line-height:1.5;text-wrap:balance;}
.seo-home-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 10px;font-size:12px;line-height:1.4;}
.seo-home-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--muted);}
:root[data-theme="dark"] .seo-home-links a{color:#ffb5c3;}
.seo-home-links a:hover{color:var(--ink);text-decoration-thickness:2px;}
.seo-home-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px;}
.seo-home-links>span{color:var(--muted);}

html[data-seo-home] main>#heroCampaign:not([hidden]){box-sizing:border-box;margin-top:16px!important;width:calc(100% - 32px);max-width:1200px;margin:0 auto;border-radius:16px!important;overflow:hidden;border:1px solid var(--line);}
@media(max-width:650px){.seo-home-heading h1{font-size:13.5px;}.seo-home-heading p{font-size:11.5px;}.seo-home-links{font-size:11px;gap:0 8px;}.seo-home-links a{min-height:40px;}}
