/*
Theme Name: Playset Child
Theme URI: https://www.playset.cl/
Description: Tema hijo de Astra para Playset TCG Store — versión 2026. Dark premium con dorado extraído del logo escudo (negro #0E0F12 + dorado #FFC20E). Réplica modernizada de playset.cl.
Author: Playset
Template: astra
Version: 1.0.0
Text Domain: playset-child
*/

/* ============================================================
   DESIGN SYSTEM 2026 — Playset TCG Store
   ============================================================ */
:root{
  --ps-black:#0E0F12;
  --ps-black-2:#141519;
  --ps-panel:#181A20;
  --ps-panel-2:#20232B;
  --ps-gold:#FFC20E;
  --ps-gold-2:#FFD64D;
  --ps-gold-deep:#E0A400;
  --ps-white:#FFFFFF;
  --ps-text:#EDEFF3;
  --ps-muted:#9BA1AE;
  --ps-border:rgba(255,255,255,.09);
  --ps-border-2:rgba(255,255,255,.14);
  --ps-red:#FF4757;
  --ps-green:#1ED98A;
  --ps-radius:16px;
  --ps-radius-sm:10px;
  --ps-shadow:0 18px 50px -20px rgba(0,0,0,.7);
  --ps-shadow-gold:0 10px 30px -10px rgba(255,194,14,.45);
  --ps-maxw:1280px;
  --ps-font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --ps-display:'Sora',var(--ps-font);
}

/* ---------- Reset / base sobre Astra ---------- */
body.ps{
  background:var(--ps-black);
  color:var(--ps-text);
  font-family:var(--ps-font);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body.ps a{color:inherit;text-decoration:none;transition:color .18s ease}
body.ps img{max-width:100%;display:block}
.ps *,.ps *::before,.ps *::after{box-sizing:border-box}
.ps h1,.ps h2,.ps h3,.ps h4{font-family:var(--ps-display);color:var(--ps-white);line-height:1.12;margin:0;letter-spacing:-.01em}
.ps .wrap{max-width:var(--ps-maxw);margin:0 auto;padding:0 22px}
.ps-site{overflow-x:hidden}

/* Quitar márgenes/containers de Astra en portada */
.ps.ps-home #primary,.ps.ps-home #content{padding:0!important;margin:0!important;max-width:none!important}
.ps.ps-home .ast-container{max-width:none;padding:0}
.ps #main{padding:0}
.ast-plain-container.ast-no-sidebar{max-width:none}

/* ============================================================
   TOP PROMO BAR
   ============================================================ */
.ps-promo{
  background:linear-gradient(90deg,var(--ps-gold-deep),var(--ps-gold) 50%,var(--ps-gold-deep));
  color:#1a1407;
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  text-align:center;
  padding:8px 14px;
  position:relative;
  z-index:60;
}
.ps-promo span{display:inline-block;margin:0 4px}
.ps-promo .dot{opacity:.45;margin:0 10px}

/* ============================================================
   HEADER
   ============================================================ */
.ps-header{
  position:sticky;top:0;z-index:50;
  background:rgba(14,15,18,.86);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--ps-border);
}
.ps-header__bar{display:flex;align-items:center;gap:26px;height:78px}
.ps-header .ps-logo{display:flex;align-items:center;height:78px}
.ps-header .ps-logo img{height:54px!important;width:auto!important}
.ps-header__spacer{flex:1}

/* Buscador */
.ps-search{flex:1;max-width:520px;position:relative}
.ps-search input{
  width:100%;height:46px;border-radius:999px;border:1px solid var(--ps-border-2);
  background:var(--ps-panel);color:var(--ps-text);padding:0 50px 0 20px;font-size:14px;font-family:inherit;
}
.ps-search input::placeholder{color:var(--ps-muted)}
.ps-search input:focus{outline:none;border-color:var(--ps-gold);box-shadow:0 0 0 3px rgba(255,194,14,.18)}
.ps-search button{
  position:absolute;right:5px;top:5px;height:36px;width:36px;border:0;border-radius:50%;
  background:var(--ps-gold);color:#161003;cursor:pointer;display:grid;place-items:center;
}
.ps-search button svg{width:18px;height:18px}

/* Iconos header */
.ps-icons{display:flex;align-items:center;gap:8px}
.ps-icon{
  position:relative;display:grid;place-items:center;height:46px;min-width:46px;padding:0 12px;
  border-radius:12px;border:1px solid var(--ps-border);background:var(--ps-panel);color:var(--ps-text);
  font-weight:600;font-size:13px;gap:8px;
}
.ps-icon:hover{border-color:var(--ps-gold);color:var(--ps-white)}
.ps-icon svg{width:20px;height:20px}
.ps-icon .ps-cart-count{
  position:absolute;top:-7px;right:-7px;background:var(--ps-gold);color:#161003;
  font-size:11px;font-weight:800;height:20px;min-width:20px;border-radius:999px;display:grid;place-items:center;padding:0 5px;
}
.ps-cart-amount{font-variant-numeric:tabular-nums}

/* ---------- NAV ---------- */
.ps-nav{border-bottom:1px solid var(--ps-border);background:rgba(20,21,25,.6)}
.ps-nav__inner{display:flex;align-items:center;gap:4px;height:52px}
.ps-nav a.ps-nav__link{
  display:flex;align-items:center;gap:7px;height:52px;padding:0 16px;font-weight:600;font-size:14.5px;color:var(--ps-text);
  position:relative;
}
.ps-nav a.ps-nav__link:hover{color:var(--ps-gold)}
.ps-nav__item{position:relative}
.ps-nav__item.has-mega>a::after,.ps-nav__item.has-drop>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.ps-nav__link--hot{color:var(--ps-gold)!important}
.ps-nav__link--hot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ps-red);box-shadow:0 0 10px var(--ps-red)}

/* dropdown / mega */
.ps-drop{
  position:absolute;top:100%;left:0;min-width:230px;background:var(--ps-panel-2);
  border:1px solid var(--ps-border-2);border-radius:14px;padding:8px;box-shadow:var(--ps-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:40;
}
.ps-nav__item:hover>.ps-drop{opacity:1;visibility:visible;transform:translateY(0)}
.ps-drop a{display:block;padding:9px 14px;border-radius:9px;font-size:14px;color:var(--ps-text)}
.ps-drop a:hover{background:rgba(255,194,14,.12);color:var(--ps-gold)}
.ps-mega{left:0;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:2px;min-width:520px}

/* ============================================================
   HERO / CARRUSEL
   ============================================================ */
.ps-hero{padding:30px 0 8px}
.ps-hero__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;height:360px}
.ps-hero__grid>*{min-width:0;min-height:0;max-width:100%;overflow:hidden}
.swiper.ps-slider{border-radius:var(--ps-radius);overflow:hidden;border:1px solid var(--ps-border);height:360px;width:100%;max-width:100%;min-width:0}
.ps-slider .swiper-wrapper{max-width:100%}
.ps-slider .swiper-slide{background:var(--ps-panel);display:block;height:360px}
.ps-slider .swiper-slide img{width:100%;height:360px;object-fit:cover;display:block}
.ps-slider .swiper-pagination-bullet{background:#fff;opacity:.5}
.ps-slider .swiper-pagination-bullet-active{background:var(--ps-gold);opacity:1}
.ps-hero__side{display:grid;grid-template-rows:1fr 1fr;gap:18px;height:360px}
.ps-hero__card{position:relative;border-radius:var(--ps-radius);overflow:hidden;border:1px solid var(--ps-border);display:block;min-height:0}
.ps-hero__card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ps-hero__card:hover img{transform:scale(1.05)}

/* ============================================================
   CATEGORY TILES
   ============================================================ */
.ps-cats{padding:34px 0}
.ps-cats__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ps-cat-tile{
  display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 12px;border-radius:var(--ps-radius);
  background:linear-gradient(180deg,var(--ps-panel),var(--ps-black-2));border:1px solid var(--ps-border);text-align:center;
  transition:.2s ease;
}
.ps-cat-tile:hover{border-color:var(--ps-gold);transform:translateY(-4px);box-shadow:var(--ps-shadow)}
.ps-cat-tile__ic{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,194,14,.12);color:var(--ps-gold)}
.ps-cat-tile__ic svg{width:28px;height:28px}
.ps-cat-tile span{font-weight:600;font-size:13.5px;color:var(--ps-text);line-height:1.25}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.ps-section{padding:30px 0}
.ps-section__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:16px}
.ps-section__title{font-size:clamp(22px,3vw,30px);display:flex;align-items:center;gap:12px}
.ps-section__title .bar{width:6px;height:30px;border-radius:4px;background:linear-gradient(var(--ps-gold),var(--ps-gold-deep))}
.ps-section__title small{display:block;font-family:var(--ps-font);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ps-gold);font-weight:700;margin-bottom:4px}
.ps-seeall{color:var(--ps-muted);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ps-seeall:hover{color:var(--ps-gold)}

/* ============================================================
   PRODUCT GRID + CARD
   ============================================================ */
.ps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ps-card{
  background:var(--ps-panel);border:1px solid var(--ps-border);border-radius:var(--ps-radius);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s ease;position:relative;
}
.ps-card:hover{border-color:var(--ps-gold);transform:translateY(-5px);box-shadow:var(--ps-shadow)}
.ps-card__media{position:relative;aspect-ratio:1/1;background:#fff;overflow:hidden}
.ps-card__media img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .4s ease}
.ps-card:hover .ps-card__media img{transform:scale(1.06)}
.ps-card__badge{position:absolute;top:10px;left:10px;background:var(--ps-red);color:#fff;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;letter-spacing:.03em}
.ps-card__badge--out{background:#555;}
.ps-card__brand{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.62);color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px;backdrop-filter:blur(4px)}
.ps-card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.ps-card__cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ps-gold);font-weight:700}
.ps-card__title{font-family:var(--ps-font);font-size:14px;font-weight:600;color:var(--ps-text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.ps-card__title:hover{color:var(--ps-white)}
.ps-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ps-card__price{display:flex;flex-direction:column}
.ps-card__price .now{font-family:var(--ps-display);font-weight:800;font-size:17px;color:var(--ps-white)}
.ps-card__price .was{font-size:12px;color:var(--ps-muted);text-decoration:line-through}
.ps-card__price .ask{font-size:13px;color:var(--ps-muted);font-weight:600}
.ps-add{
  height:40px;min-width:40px;border-radius:11px;border:0;background:var(--ps-gold);color:#161003;font-weight:800;
  cursor:pointer;display:grid;place-items:center;transition:.18s ease;flex-shrink:0;
}
.ps-add:hover{background:var(--ps-gold-2);box-shadow:var(--ps-shadow-gold)}
.ps-add svg{width:19px;height:19px}
.ps-add.loading{opacity:.6;pointer-events:none}
.ps-add.added{background:var(--ps-green);color:#04210f}

/* ============================================================
   STRIP / TRUST
   ============================================================ */
.ps-trust{border-top:1px solid var(--ps-border);border-bottom:1px solid var(--ps-border);background:var(--ps-black-2);margin-top:20px}
.ps-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 0}
.ps-trust__item{display:flex;align-items:center;gap:14px}
.ps-trust__ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(255,194,14,.12);color:var(--ps-gold);flex-shrink:0}
.ps-trust__ic svg{width:24px;height:24px}
.ps-trust__t{font-weight:700;color:var(--ps-white);font-size:14.5px}
.ps-trust__s{font-size:12.5px;color:var(--ps-muted)}

/* ============================================================
   CTA COMPRAMOS
   ============================================================ */
.ps-buy{padding:40px 0}
.ps-buy__box{
  border-radius:24px;padding:46px;background:
    radial-gradient(120% 140% at 100% 0%,rgba(255,194,14,.16),transparent 55%),
    linear-gradient(135deg,#16181d,#0c0d10);
  border:1px solid var(--ps-border-2);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
}
.ps-buy__box h2{font-size:clamp(24px,3.4vw,36px);margin-bottom:10px}
.ps-buy__box p{color:var(--ps-muted);max-width:560px}
.ps-buy__box .ps-btn{flex-shrink:0}

.ps-btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 28px;border-radius:13px;font-weight:800;font-size:15px;background:var(--ps-gold);color:#161003;border:0;cursor:pointer;transition:.18s ease}
.ps-btn:hover{background:var(--ps-gold-2);box-shadow:var(--ps-shadow-gold);transform:translateY(-2px)}
.ps-btn--ghost{background:transparent;color:var(--ps-text);border:1px solid var(--ps-border-2)}
.ps-btn--ghost:hover{border-color:var(--ps-gold);color:var(--ps-gold);background:transparent;box-shadow:none}

/* ============================================================
   FOOTER
   ============================================================ */
.ps-footer{background:var(--ps-black-2);border-top:1px solid var(--ps-border);margin-top:40px;padding:54px 0 0}
.ps-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.ps-footer h4{font-size:15px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px;color:var(--ps-white)}
.ps-footer__logo{height:70px!important;width:auto!important;margin-bottom:16px}
.ps-footer p,.ps-footer li{color:var(--ps-muted);font-size:14px;line-height:1.75}
.ps-footer ul{list-style:none;margin:0;padding:0}
.ps-footer li a:hover{color:var(--ps-gold)}
.ps-footer__contact li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.ps-footer__contact svg{width:18px;height:18px;color:var(--ps-gold);flex-shrink:0;margin-top:3px}
.ps-social{display:flex;gap:10px;margin-top:16px}
.ps-social a{width:42px;height:42px;border-radius:11px;border:1px solid var(--ps-border);display:grid;place-items:center;color:var(--ps-text)}
.ps-social a:hover{border-color:var(--ps-gold);color:var(--ps-gold)}
.ps-social svg{width:20px;height:20px}
.ps-footer__bottom{border-top:1px solid var(--ps-border);margin-top:46px;padding:22px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--ps-muted);font-size:13px}

/* ============================================================
   MOBILE
   ============================================================ */
.ps-burger{display:none;height:46px;width:46px;border-radius:12px;border:1px solid var(--ps-border);background:var(--ps-panel);color:#fff;place-items:center;cursor:pointer}
.ps-burger svg{width:24px;height:24px}
.ps-mnav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--ps-black-2);border-left:1px solid var(--ps-border);z-index:120;transform:translateX(100%);transition:transform .28s ease;overflow-y:auto;padding:18px}
.ps-mnav.open{transform:translateX(0)}
.ps-mnav__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ps-mnav a{display:block;padding:13px 8px;border-bottom:1px solid var(--ps-border);font-weight:600;color:var(--ps-text)}
.ps-mnav a.sub{padding-left:22px;font-weight:400;font-size:14px;color:var(--ps-muted)}
.ps-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:110;opacity:0;visibility:hidden;transition:.25s}
.ps-overlay.open{opacity:1;visibility:visible}
.ps-mclose{background:none;border:0;color:#fff;cursor:pointer}
.ps-mclose svg{width:26px;height:26px}

@media(max-width:1080px){
  .ps-cats__grid{grid-template-columns:repeat(3,1fr)}
  .ps-grid{grid-template-columns:repeat(3,1fr)}
  .ps-trust__grid{grid-template-columns:repeat(2,1fr)}
  .ps-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .ps-nav{display:none}
  .ps-burger{display:grid}
  .ps-search{display:none}
  .ps-hero__grid{grid-template-columns:1fr;height:auto}
  .swiper.ps-slider,.ps-slider .swiper-slide,.ps-slider .swiper-slide img{height:230px}
  .ps-hero__side{grid-template-rows:none;grid-template-columns:1fr 1fr;height:150px}
}
@media(max-width:640px){
  .ps-header__bar{height:64px;gap:14px}
  .ps-header .ps-logo img{height:42px!important}
  .ps-icon span{display:none}
  .ps-cats__grid{grid-template-columns:repeat(2,1fr)}
  .ps-grid{grid-template-columns:repeat(2,1fr)}
  .ps-footer__grid{grid-template-columns:1fr}
  .ps-buy__box{padding:30px 22px}
  .ps-section__head{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ============================================================
   WooCommerce: search results / archives keep dark theme
   ============================================================ */
.ps .woocommerce-result-count,.ps .woocommerce-ordering{color:var(--ps-muted)}
.ps-archive-head{padding:34px 0 6px}
.ps-archive-head h1{font-size:clamp(26px,4vw,40px)}
.ps-archive-head .crumbs{color:var(--ps-muted);font-size:13px;margin-bottom:10px}
.ps-archive-head .crumbs a:hover{color:var(--ps-gold)}

/* Grilla de loops WooCommerce (archivos / búsqueda / related) */
.ps ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:16px;list-style:none;margin:0 0 26px;padding:0}
.ps ul.products::before,.ps ul.products::after{display:none!important}
.ps ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important}
.ps .woocommerce{padding:0}
.ps-shop-wrap{padding:8px 0 40px}
@media(max-width:640px){.ps ul.products{grid-template-columns:repeat(2,1fr)}}

/* Single product en dark */
.ps.single-product .product .price{color:var(--ps-white)}
.ps.single-product .product .price del{color:var(--ps-muted)}
.ps.single-product h1.product_title{color:var(--ps-white)}
.ps .woocommerce-message,.ps .woocommerce-info,.ps .woocommerce-error{background:var(--ps-panel);border-top:3px solid var(--ps-gold);color:var(--ps-text)}
.ps .button,.ps button.button,.ps .single_add_to_cart_button{background:var(--ps-gold)!important;color:#161003!important;border-radius:11px!important;font-weight:800!important}
.ps .button:hover{background:var(--ps-gold-2)!important}

/* Galería de producto (externa) */
.ps-gallery__main{background:#fff;border-radius:var(--ps-radius);overflow:hidden;border:1px solid var(--ps-border);aspect-ratio:1/1;display:grid;place-items:center}
.ps-gallery__main img{width:100%;height:100%;object-fit:contain;padding:18px}
.ps-gallery__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.ps-gallery__thumb{width:70px;height:70px;border-radius:10px;overflow:hidden;border:1px solid var(--ps-border);background:#fff;cursor:pointer;padding:0}
.ps-gallery__thumb.active{border-color:var(--ps-gold);box-shadow:0 0 0 2px rgba(255,194,14,.3)}
.ps-gallery__thumb img{width:100%;height:100%;object-fit:contain;padding:4px}
.ps.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:38px;align-items:start;padding:30px 0}
.ps.single-product .summary{margin:0!important;width:auto!important;float:none!important}
.ps.single-product div.product .ps-gallery{width:auto!important;float:none!important;margin:0!important}
@media(max-width:840px){.ps.single-product div.product{grid-template-columns:1fr}}

/* Páginas de contenido */
.ps-page{max-width:900px;margin:0 auto;padding:44px 22px 30px}
.ps-page h1{font-size:clamp(28px,4vw,42px);margin-bottom:14px}
.ps-page h2{font-size:22px;margin:30px 0 10px;color:var(--ps-gold)}
.ps-page h3{font-size:16px;margin-bottom:6px;color:var(--ps-white)}
.ps-page .lead{font-size:18px;color:var(--ps-muted);margin-bottom:20px}
.ps-page p{color:var(--ps-text);margin:0 0 14px}
.ps-page ul{margin:0 0 18px;padding-left:20px;color:var(--ps-text)}
.ps-page li{margin-bottom:7px}
.ps-page a{color:var(--ps-gold)}
.ps-page a.ps-btn{color:#161003;margin:10px 0}
.ps-page .ps-muted{color:var(--ps-muted);font-size:14px}
.ps-legal p{color:var(--ps-muted)}
.ps-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:24px 0}
.ps-contact-grid>div{background:var(--ps-panel);border:1px solid var(--ps-border);border-radius:14px;padding:20px}
.ps-page--shop{max-width:var(--ps-maxw)}
.ps-shop-title{padding:30px 0 0}
@media(max-width:640px){.ps-contact-grid{grid-template-columns:1fr}}

/* Archivo de categoría: título */
.ps .woocommerce-products-header{padding:34px 0 4px;max-width:var(--ps-maxw);margin:0 auto}
.ps .woocommerce-products-header__title,.ps h1.page-title{font-size:clamp(26px,4vw,40px);color:var(--ps-white)}
.ps .term-description{color:var(--ps-muted);max-width:760px}
.ps .woocommerce{max-width:var(--ps-maxw);margin:0 auto;padding:0 22px}
.ps .woocommerce-result-count,.ps .woocommerce-ordering{margin-bottom:14px}
.ps .woocommerce-ordering select{background:var(--ps-panel);color:var(--ps-text);border:1px solid var(--ps-border-2);border-radius:8px;padding:8px 12px}
.ps nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.ps nav.woocommerce-pagination ul li{border:0}
.ps nav.woocommerce-pagination a,.ps nav.woocommerce-pagination span{background:var(--ps-panel);border:1px solid var(--ps-border)!important;border-radius:10px;color:var(--ps-text)!important;padding:10px 14px!important}
.ps nav.woocommerce-pagination .current{background:var(--ps-gold)!important;color:#161003!important;border-color:var(--ps-gold)!important}
