/* RockMed: pulsera, publicidad, demos, carrito */
.cart-btn{position:relative;background:#fff;border:1px solid var(--line);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--navy)}
.cart-btn .count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--rose);color:#fff;font-size:.7rem;font-weight:800;display:grid;place-items:center}
.cart-btn .count:empty{display:none}
.nav-right{display:flex;align-items:center;gap:10px}

/* Ad banner seniors */
.ad{position:relative;border-radius:32px;overflow:hidden;min-height:520px;display:flex;align-items:flex-end;background:#0B2B55}
.ad img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ad::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,61,.92) 0%,rgba(7,30,61,.65) 40%,rgba(7,30,61,0) 75%)}
.ad-copy{position:relative;z-index:1;padding:56px;max-width:560px;color:#fff}
.ad-copy h2{color:#fff}
.ad-copy .sub{color:#D3E6FF}
.ad-copy .eyebrow{color:var(--cyan)}
.ad-price{display:flex;align-items:baseline;gap:10px;margin:22px 0}
.ad-price b{font-size:2.6rem;letter-spacing:-.03em}
.ad-price span{color:#BBD3F2;font-weight:600}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.badges span{font-size:.78rem;font-weight:700;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}

/* Pulsera feature */
.band{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.band-img{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;background:var(--sky)}
.band-img img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;display:grid;gap:12px;margin:22px 0}
.checks li{display:flex;gap:10px}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#DDF8F1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C8C72' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.price-tag{display:inline-flex;align-items:baseline;gap:8px;background:var(--sky);border-radius:16px;padding:10px 16px;margin-bottom:18px}
.price-tag b{font-size:1.8rem;color:var(--navy)}
.price-tag span{color:var(--muted);font-weight:600;font-size:.9rem}

/* Demos */
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.demo-card{border-radius:28px;padding:30px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.demo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.demo-card.dark{background:linear-gradient(160deg,#0B2B55,#071E3D);color:#DCEBFF;border-color:transparent}
.demo-card.dark h3{color:#fff}.demo-card.dark p{color:#A9C2E3}
.demo-card h3{font-size:1.4rem;color:var(--navy)}
.demo-card p{color:var(--muted)}
.demo-tag{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:6px 12px;border-radius:999px;background:#DDF8F1;color:#0C8C72}
.demo-card.dark .demo-tag{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#fff}
.demo-chips{display:flex;flex-wrap:wrap;gap:8px}
.demo-chips span{font-size:.8rem;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--sky);color:var(--navy)}
.demo-card.dark .demo-chips span{background:rgba(255,255,255,.1);color:#DCEBFF}
.demo-card .btn{align-self:flex-start;margin-top:auto}

/* Product page */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;padding:56px 0 80px}
.gallery-main{border-radius:28px;overflow:hidden;background:var(--sky);aspect-ratio:1/1;box-shadow:var(--shadow)}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:12px}
.thumbs button{width:76px;height:76px;border-radius:14px;overflow:hidden;border:2px solid transparent;background:var(--sky);padding:0}
.thumbs button[aria-pressed="true"]{border-color:var(--blue)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pdp h1{font-size:clamp(2rem,4vw,2.8rem);margin:12px 0 8px}
.pdp .price{font-size:2.4rem;margin:8px 0 4px}
.pdp .was{color:var(--muted);text-decoration:line-through;font-weight:600}
.pdp .desc-html{color:var(--muted);margin:18px 0}
.pdp .desc-html p{margin-bottom:10px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff}
.qty button{width:42px;height:42px;background:none;font-size:1.2rem;color:var(--navy)}
.qty span{min-width:28px;text-align:center;font-weight:800}
.buy-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0 8px}
.buy-row .btn{flex:1;min-width:200px;padding:15px 22px}
.note{font-size:.85rem;color:var(--muted)}
.info-sec{border-top:1px solid var(--line);padding:16px 0}
.info-sec h3{color:var(--navy);font-size:1rem;margin-bottom:6px}
.info-sec div{color:var(--muted);font-size:.92rem}
.ribbon{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff}

/* Cart drawer */
.cart-backdrop{position:fixed;inset:0;background:rgba(7,30,61,.45);z-index:100;display:flex;justify-content:flex-end}
.cart-backdrop[hidden]{display:none}
.cart-panel{width:min(420px,100%);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(7,30,61,.5)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.cart-head h2{font-size:1.2rem;margin:0}
.cart-close{background:var(--sky);width:38px;height:38px;border-radius:12px;font-size:1.2rem;color:var(--navy)}
.cart-body{flex:1;overflow:auto;padding:16px 22px}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-line img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--sky)}
.cart-line b{color:var(--navy);font-size:.92rem}
.cart-line small{display:block;color:var(--muted)}
.cart-line .qty button{width:30px;height:30px;font-size:1rem}
.cart-remove{background:none;color:var(--muted);font-size:.78rem;text-decoration:underline;margin-top:4px}
.cart-foot{padding:18px 22px;border-top:1px solid var(--line);display:grid;gap:8px}
.cart-row{display:flex;justify-content:space-between;font-size:.92rem;color:var(--muted)}
.cart-row.total{color:var(--navy);font-weight:800;font-size:1.1rem}
.cart-empty{text-align:center;color:var(--muted);padding:40px 0}
.cart-error{color:#B42318;background:#FEF3F2;border:1px solid #FECDCA;border-radius:12px;padding:10px 12px;font-size:.85rem;margin-bottom:10px}

/* Demo pages */
.demo-bar{background:linear-gradient(90deg,var(--violet),var(--blue));color:#fff;text-align:center;font-size:.85rem;font-weight:700;padding:9px 16px}
.demo-bar a{text-decoration:underline}
.app{display:grid;grid-template-columns:250px 1fr;gap:24px;padding:32px 0 70px;align-items:start}
.side{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;position:sticky;top:90px}
.side .who{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.side .who b{display:block;color:var(--navy)}
.side .who span{font-size:.8rem;color:var(--muted)}
.side nav{display:grid;gap:4px}
.side nav button{text-align:left;background:none;padding:11px 12px;border-radius:12px;font-weight:600;color:var(--muted);display:flex;gap:10px;align-items:center}
.side nav button.on{background:var(--sky);color:var(--blue)}
.side nav button .lock{margin-left:auto;font-size:.65rem;font-weight:800;padding:3px 7px;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--violet));color:#fff}
.panel{display:none}
.panel.on{display:block}
.panel h2{font-size:1.6rem;margin:0 0 6px}
.panel > .sub{margin-bottom:22px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}
.card h3{color:var(--navy);font-size:1rem;margin-bottom:10px}
.card .big{font-size:1.8rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.card .muted{color:var(--muted);font-size:.85rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.9rem}
.kv dt{color:var(--muted)}
.kv dd{color:var(--navy);font-weight:700}
.timeline{list-style:none;position:relative;padding-left:22px}
.timeline::before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--line)}
.timeline li{position:relative;padding:0 0 18px}
.timeline li::before{content:"";position:absolute;left:-21px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--blue)}
.timeline b{color:var(--navy)}
.timeline span{display:block;color:var(--muted);font-size:.85rem}
.moods{display:flex;gap:8px;flex-wrap:wrap}
.moods button{font-size:1.6rem;width:56px;height:56px;border-radius:16px;background:var(--sky);border:2px solid transparent}
.moods button[aria-pressed="true"]{border-color:var(--blue);background:#fff}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px;text-align:center;font-size:.75rem;color:var(--muted)}
.week i{display:block;height:70px;border-radius:10px;background:var(--sky);position:relative;overflow:hidden;margin-bottom:4px}
.week i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--h);background:linear-gradient(180deg,var(--cyan),var(--blue));border-radius:10px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;font-size:.78rem;text-align:center}
.cal span{padding:8px 0;border-radius:10px;background:var(--ice)}
.cal .p{background:#FDECF2;color:#C2185B;font-weight:800}
.cal .f{background:#F0EEFF;color:#5B4FE0;font-weight:800}
.cal .t{outline:2px solid var(--blue)}
.pill-list{display:grid;gap:10px}
.pill-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid var(--line)}
.pill-item .dot{background:var(--sky)}
.pill-item b{color:var(--navy);display:block}
.pill-item span{color:var(--muted);font-size:.82rem}
.pill-item .chip{margin-left:auto}
.chip.warn{background:#FFF4DC;color:#A86B00}
.chip.blue{background:var(--sky);color:var(--blue)}
.lockbox{border:1.5px dashed #B9D6F3;background:linear-gradient(135deg,#F5FAFF,#fff);border-radius:22px;padding:22px;text-align:center}
.lockbox b{color:var(--navy)}
.lockbox p{color:var(--muted);font-size:.9rem;margin:6px 0 14px}
.pro-head{border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);margin-bottom:20px}
.pro-cover{height:140px;background:linear-gradient(120deg,#0B6BCB,#12B5E5 60%,#18C2A0)}
.pro-id{display:flex;gap:18px;align-items:flex-end;padding:0 24px 20px;margin-top:-44px;flex-wrap:wrap}
.pro-avatar{width:96px;height:96px;border-radius:26px;background:#fff;display:grid;place-items:center;font-size:2.4rem;box-shadow:var(--shadow);border:4px solid #fff}
.pro-id h1{font-size:1.6rem;margin:0}
.pro-id .muted{color:var(--muted);font-size:.9rem}
.stars{color:var(--amber);font-weight:800}
.svc{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.svc b{color:var(--navy)}
.svc span{color:var(--muted)}
.pos{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.pos-items{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pos-items button{background:var(--ice);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:left}
.pos-items button b{display:block;color:var(--navy);font-size:.92rem}
.pos-items button span{color:var(--blue);font-weight:800;font-size:.9rem}
.ticket{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}
.ticket .row{display:flex;justify-content:space-between;font-size:.88rem;padding:6px 0}
.ticket .row.total{border-top:1px dashed var(--line);margin-top:8px;padding-top:12px;font-weight:800;color:var(--navy);font-size:1.05rem}
.bars{display:flex;align-items:flex-end;gap:10px;height:150px;margin-top:10px}
.bars div{flex:1;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--cyan),var(--blue));position:relative}
.bars div span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:.72rem;color:var(--muted)}
.teeth{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.teeth span{aspect-ratio:1/1.2;border-radius:10px 10px 14px 14px;background:var(--ice);border:1px solid var(--line);display:grid;place-items:center;font-size:.7rem;color:var(--muted)}
.teeth .c{background:#FDECF2;border-color:#F7B9CF;color:#C2185B;font-weight:800}
.teeth .r{background:#DDF8F1;border-color:#9FE3D2;color:#0C8C72;font-weight:800}
@media (max-width:1020px){
  .band,.demo-grid,.pdp,.app,.pos{grid-template-columns:1fr}
  .side{position:static}
  .side nav{grid-template-columns:repeat(2,1fr)}
  .cards.three{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .ad{min-height:600px}
  .ad::after{background:linear-gradient(0deg,rgba(7,30,61,.95) 0%,rgba(7,30,61,.7) 50%,rgba(7,30,61,.1) 100%)}
  .ad-copy{padding:28px}
  .cards,.cards.three{grid-template-columns:1fr}
}
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.who-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.who-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.who-card div{padding:18px}
.who-card h3{color:var(--navy);font-size:1.05rem;margin-bottom:6px}
.who-card p{color:var(--muted);font-size:.9rem}
.switch-ver{display:inline-flex;gap:6px;background:var(--sky);border-radius:999px;padding:5px;margin-bottom:12px}
.switch-ver a{padding:8px 14px;border-radius:999px;font-weight:700;font-size:.85rem;color:var(--muted)}
.switch-ver a.on{background:#fff;color:var(--navy);box-shadow:0 6px 16px -8px rgba(11,43,85,.35)}
@media (max-width:1020px){.who-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.who-grid{grid-template-columns:1fr}}