/* Recovery Shop · estilos específicos de sublimacion.html.
   Tipografía, tokens, cabecera, pie, botones y contenedores comunes
   se normalizan después desde recovery-global.css. */

:root{
      --rs-green:#52ff2f;
      --rs-green-dark:#1fa83b;
      --rs-black:#0b0f0b;
      --rs-ink:#111611;
      --rs-muted:#61705d;
      --rs-soft:#f5f7f2;
      --rs-line:rgba(17,22,17,.10);
      --rs-shadow:0 18px 55px rgba(16,22,16,.12);
      --rs-max:1180px;
      --rs-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;padding:0;background:#fff;color:var(--rs-ink);font-family:var(--rs-font)}
    a{color:inherit}
    img{max-width:100%;height:auto;display:block}

    .rs-sub-page{overflow:hidden;background:#fff}
    .rs-container{width:min(var(--rs-max),calc(100% - 34px));margin-inline:auto}
    .rs-section{padding:clamp(54px,7vw,86px) 0}
    .rs-section-soft{background:var(--rs-soft)}
    .rs-section-dark{
      color:#fff;
      background:
        radial-gradient(circle at 18% 0%,rgba(82,255,47,.16),transparent 30%),
        linear-gradient(135deg,#0b0f0b,#171f16);
    }

    .rs-kicker{
      margin:0 0 9px;
      color:var(--rs-green-dark);
      font-size:13px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
    }

    .rs-heading{max-width:760px;margin-bottom:28px}
    .rs-heading h2{
      margin:0;
      font-size:clamp(30px,4.2vw,52px);
      line-height:1.04;
      letter-spacing:-.055em;
      text-wrap:balance;
    }
    .rs-heading p{
      margin:14px 0 0;
      color:var(--rs-muted);
      font-size:17px;
      line-height:1.58;
    }

    button.rs-btn{font-family:inherit;cursor:pointer}
    .rs-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:48px;
      padding:13px 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:950;
      text-decoration:none;
      line-height:1;
      transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
      white-space:nowrap;
    }
    .rs-btn:hover{transform:translateY(-2px)}
    .rs-btn:focus-visible{
      outline:3px solid rgba(31,168,59,.28);
      outline-offset:3px;
    }
    .rs-btn-whatsapp{
      gap:10px;
      font-weight:1000;
    }
    .rs-btn-whatsapp img{
      width:20px;
      height:20px;
      object-fit:contain;
      flex:0 0 auto;
      display:block;
    }
    .rs-btn-primary{
      color:#061006;
      background:linear-gradient(135deg,var(--rs-green),#d4ff4d);
      box-shadow:0 16px 36px rgba(82,255,47,.22);
    }
    .rs-btn-outline{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.18);
    }

    /* HERO */
    .rs-hero{
      position:relative;
      min-height:520px;
      display:grid;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 78% 18%,rgba(82,255,47,.18),transparent 28%),
        linear-gradient(135deg,#070a07 0%,#111811 58%,#071007 100%);
      overflow:hidden;
      border-bottom:1px solid rgba(82,255,47,.16);
    }
    .rs-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:58px 58px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 88%);
      pointer-events:none;
    }
    .rs-hero::after{
      content:"";
      position:absolute;
      right:-210px;
      bottom:-260px;
      width:560px;
      height:560px;
      border-radius:50%;
      background:rgba(82,255,47,.10);
      filter:blur(8px);
      pointer-events:none;
    }
    .rs-hero-inner{
      position:relative;
      z-index:1;
      padding:96px 0 88px;
      text-align:center;
    }
    .rs-hero-simple{
      max-width:760px;
      margin:0 auto;
    }
    .rs-hero-label{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:18px;
      padding:9px 12px;
      border-radius:999px;
      color:#dfffda;
      background:rgba(82,255,47,.10);
      border:1px solid rgba(82,255,47,.28);
      font-size:13px;
      font-weight:950;
    }
    .rs-hero-label span{
      display:grid;
      place-items:center;
      width:24px;
      height:24px;
      border-radius:50%;
      color:#061006;
      background:var(--rs-green);
      font-weight:1000;
    }
    .rs-hero h1{
      margin:0;
      font-size:clamp(44px,6.6vw,82px);
      line-height:.93;
      letter-spacing:-.075em;
      text-wrap:balance;
    }
    .rs-hero h1 mark{color:var(--rs-green);background:transparent}
    .rs-hero-lead{
      max-width:620px;
      margin:20px auto 0;
      color:#dce5d8;
      font-size:clamp(16px,2vw,20px);
      line-height:1.55;
    }
    .rs-hero-actions{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:12px;
      margin-top:28px;
    }

    /* MUGS SECTION */
    .rs-mugs-section{
      background:var(--rs-soft);
    }
    .rs-mugs-wrap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:stretch;
    }
    .rs-mugs-copy{
      padding-right:10px;
    }
    .rs-mugs-copy h2{
      margin:0;
      font-size:clamp(34px,4.8vw,58px);
      line-height:1.03;
      letter-spacing:-.06em;
      text-wrap:balance;
    }
    .rs-mugs-copy p{
      margin:16px 0 0;
      color:var(--rs-muted);
      font-size:17px;
      line-height:1.58;
      max-width:620px;
    }
    .rs-mugs-list{
      display:grid;
      gap:10px;
      margin:22px 0 0;
      padding:0;
      list-style:none;
    }
    .rs-mugs-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#364031;
      font-size:15px;
      font-weight:780;
      line-height:1.45;
    }
    .rs-mugs-list li::before{
      content:"✓";
      color:#168a22;
      font-weight:1000;
      flex:0 0 auto;
    }
    .rs-mug-card{
      overflow:hidden;
      border-radius:30px;
      background:#fff;
      border:1px solid rgba(17,22,17,.09);
      box-shadow:0 16px 42px rgba(10,16,10,.07);
    }
    .rs-mug-media{
      position:relative;
      min-height:320px;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 70% 24%,rgba(82,255,47,.30),transparent 28%),
        linear-gradient(135deg,#111611,#293326);
      color:#fff;
      overflow:hidden;
    }
    .rs-mug-media::after{
      content:"Taza";
      position:relative;
      z-index:1;
      display:grid;
      place-items:center;
      width:108px;
      height:108px;
      border-radius:30px;
      background:var(--rs-green);
      color:#061006;
      font-size:26px;
      font-weight:1000;
      box-shadow:0 24px 70px rgba(0,0,0,.28);
    }
    .rs-mug-badge{
      position:absolute;
      top:18px;
      left:18px;
      z-index:2;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.92);
      color:#111611;
      font-size:12px;
      font-weight:1000;
    }
    .rs-mug-body{
      padding:24px;
    }
    .rs-mug-body h3{
      margin:0 0 10px;
      font-size:28px;
      line-height:1.06;
      letter-spacing:-.05em;
    }
    .rs-mug-body p{
      margin:0;
      color:#5f6b59;
      line-height:1.56;
      font-size:15px;
    }

    .rs-mugs-slider-block{
      margin-top:34px;
    }
    .rs-mugs-slider-head{
      max-width:760px;
      margin:0 auto 18px;
      text-align:center;
    }
    .rs-mugs-slider-head h3{
      margin:0;
      font-size:clamp(24px,3.2vw,34px);
      line-height:1.08;
      letter-spacing:-.045em;
    }
    .rs-mugs-slider-head p{
      margin:10px 0 0;
      color:var(--rs-muted);
      font-size:15px;
      line-height:1.55;
    }
    .rs-mug-slider-wrap{
      position:relative;
      max-width:100%;
      margin:0 auto;
      overflow:hidden;
    }
    .rs-mug-slider{
      display:flex;
      gap:20px;
      overflow-x:auto;
      padding:4px 2px 12px;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
      scrollbar-color:rgba(17,22,17,.20) transparent;
    }
    .rs-mug-slider::-webkit-scrollbar{height:8px}
    .rs-mug-slider::-webkit-scrollbar-thumb{
      background:rgba(17,22,17,.18);
      border-radius:999px;
    }
    .rs-mug-slide{
      flex:0 0 340px;
      min-width:340px;
      scroll-snap-align:start;
      overflow:hidden;
      border-radius:26px;
      background:#fff;
      border:1px solid rgba(17,22,17,.08);
      box-shadow:0 18px 44px rgba(10,16,10,.06);
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .rs-mug-slide:hover{
      transform:translateY(-4px);
      border-color:rgba(82,255,47,.40);
      box-shadow:0 24px 56px rgba(10,16,10,.10);
    }
    .rs-mug-slide-media{
      position:relative;
      min-height:240px;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 70% 24%,rgba(82,255,47,.26),transparent 28%),
        linear-gradient(135deg,#111611,#293326);
      overflow:hidden;
    }
    .rs-mug-slide-media::after{
      content:"Taza";
      position:relative;
      z-index:1;
      display:grid;
      place-items:center;
      width:88px;
      height:88px;
      border-radius:24px;
      background:var(--rs-green);
      color:#061006;
      font-size:22px;
      font-weight:1000;
      box-shadow:0 24px 70px rgba(0,0,0,.24);
    }
    .rs-mug-slide-badge{
      position:absolute;
      top:16px;
      left:16px;
      z-index:2;
      padding:8px 11px;
      border-radius:999px;
      background:rgba(255,255,255,.94);
      color:#111611;
      font-size:12px;
      font-weight:1000;
    }
    .rs-mug-slide-body{
      padding:20px;
    }
    .rs-mug-slide-body h4{
      margin:0 0 8px;
      font-size:21px;
      line-height:1.1;
      letter-spacing:-.04em;
    }
    .rs-mug-slide-body p{
      margin:0;
      color:#5f6b59;
      line-height:1.52;
      font-size:14px;
    }

    /* CTA */
    .rs-cta{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:28px;
      align-items:center;
    }
    .rs-cta h2{
      margin:0;
      font-size:clamp(34px,4.8vw,58px);
      line-height:1.03;
      letter-spacing:-.06em;
      text-wrap:balance;
    }
    .rs-cta p{
      margin:16px 0 0;
      color:#c9d3c5;
      font-size:17px;
      line-height:1.58;
      max-width:610px;
    }
    .rs-cta-box{
      padding:24px;
      border-radius:28px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.11);
    }
    .rs-cta-box h3{
      margin:0 0 10px;
      font-size:28px;
      line-height:1.05;
      letter-spacing:-.05em;
    }
    .rs-cta-box p{margin:0;color:#dce5d8;font-size:15px;line-height:1.55}
    .rs-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

    /* FAQ */
    .rs-faq{display:grid;gap:12px;max-width:900px}
    .rs-faq details{
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(17,22,17,.09);
      box-shadow:0 12px 30px rgba(10,16,10,.045);
      overflow:hidden;
    }
    .rs-faq summary{cursor:pointer;padding:20px 22px;font-weight:950;letter-spacing:-.02em}
    .rs-faq p{margin:0;padding:0 22px 22px;color:#5f6b59;line-height:1.55}

    @media (max-width:1020px){
      .rs-mugs-wrap,.rs-cta{grid-template-columns:1fr}
      .rs-hero{min-height:auto}
      .rs-hero-inner{padding:76px 0}
    }

    @media (max-width:760px){
      .rs-container{width:min(100% - 24px,var(--rs-max))}
      .rs-section{padding:58px 0}
      .rs-hero-inner{padding:50px 0 62px}
      .rs-hero-label{font-size:12px;max-width:100%}
      .rs-hero h1{font-size:clamp(36px,11vw,46px);letter-spacing:-.065em}
      .rs-hero-lead{font-size:16px;line-height:1.55}
      .rs-hero-actions,.rs-cta-actions{display:grid;grid-template-columns:1fr}
      .rs-btn{width:100%}
      .rs-mugs-wrap{grid-template-columns:1fr}
      .rs-mug-card{border-radius:24px}
      .rs-mug-media{min-height:220px}
      .rs-mug-media::after{width:80px;height:80px;border-radius:22px;font-size:20px}
      .rs-mug-slide{flex:0 0 84vw;min-width:84vw}
      .rs-cta-box{padding:20px;border-radius:24px}
    }

    @media (max-width:420px){
      .rs-container{width:min(100% - 20px,var(--rs-max))}
      .rs-hero-inner{padding-top:42px}
    }
