/*
Theme Name: 24Digital
Theme URI: https://24digital.com.ar
Author: 24DigitalWeb
Description: Tema liviano y responsive para el catálogo de productos y servicios de 24Digital (Argentina y Paraguay). Colores, textos, banner y planes se editan en Apariencia → Personalizar. Funciona con los módulos de 24DigitalWeb.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: 24digital
*/

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--d24-bg);color:var(--d24-ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
body>main,body>.d24-main,body>#dw24-pub,body>#dw24-account{flex:1 0 auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--d24-primary)}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0;font-weight:800}
p{margin:0 0 1rem}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.d24-wrap{width:min(1180px,100% - 2rem);margin-inline:auto}

/* Botones */
.d24-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem 1.15rem;border-radius:calc(var(--d24-r) - 2px);border:1.5px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s,border-color .15s;white-space:nowrap}
.d24-btn--primary{background:var(--d24-primary);color:#fff}
.d24-btn--primary:hover{background:color-mix(in srgb,var(--d24-primary) 86%,#000)}
.d24-btn--ghost{background:transparent;color:var(--d24-ink);border-color:var(--d24-line)}
.d24-btn--ghost:hover{border-color:var(--d24-ink)}
.d24-btn--light{background:#fff;color:var(--d24-ink)}
.d24-btn--light:hover{background:#eef1fb}
.d24-btn--link{background:none;border:0;color:var(--d24-ink);padding:.55rem .6rem}
.d24-btn--link:hover{color:var(--d24-primary)}
.d24-btn:focus-visible,.d24-pill:focus-visible,input:focus-visible,select:focus-visible,.d24-card a:focus-visible{outline:3px solid color-mix(in srgb,var(--d24-primary) 55%,#fff);outline-offset:2px}

/* Cabecera */
.d24-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--d24-line);padding-top:env(safe-area-inset-top,0)}
.d24-head__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.d24-logo{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;color:var(--d24-ink);text-decoration:none;display:flex;align-items:center}
.d24-logo img{max-height:38px;width:auto}
.d24-nav{display:none;align-items:center;gap:.25rem}
.d24-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:.25rem}
.d24-nav a:not(.d24-btn){color:var(--d24-ink);text-decoration:none;font-weight:600;padding:.55rem .75rem;border-radius:10px}
.d24-nav a:not(.d24-btn):hover{background:#eef1fb}
.d24-burger{display:inline-flex;width:44px;height:44px;border:1px solid var(--d24-line);background:#fff;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;color:var(--d24-ink)}
.d24-head__cta{display:none}
.d24-nav.is-open{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--d24-line);padding:.75rem 1rem 1rem;box-shadow:0 14px 24px rgba(28,42,90,.08)}
.d24-nav.is-open ul{flex-direction:column}
@media(min-width:860px){
  .d24-burger{display:none}
  .d24-nav{display:flex}
  .d24-head__cta{display:inline-flex}
}

/* Inicio */
.d24-hero{padding:clamp(2.25rem,6vw,4.75rem) 0 clamp(1.5rem,4vw,2.75rem);text-align:center;background:radial-gradient(1100px 380px at 50% -10%,color-mix(in srgb,var(--d24-primary) 13%,transparent),transparent 70%)}
.d24-hero h1{font-size:clamp(2.1rem,6.4vw,3.7rem)}
.d24-hero p.d24-sub{color:color-mix(in srgb,var(--d24-ink) 62%,#fff);font-size:clamp(1rem,2.4vw,1.2rem);margin:.8rem auto 0;max-width:34rem}
.d24-search{max-width:780px;margin:1.6rem auto 0;background:#fff;border-radius:calc(var(--d24-r) + 8px);box-shadow:0 12px 34px rgba(28,42,90,.11);padding:.8rem;text-align:left}
.d24-pills{display:flex;gap:.4rem;justify-content:center;margin-bottom:.65rem;flex-wrap:wrap}
.d24-pill{display:inline-flex;align-items:center;min-height:38px;padding:.3rem 1rem;border-radius:999px;background:#eceff7;color:var(--d24-ink);font-weight:700;font-size:.93rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.d24-pill[aria-current="true"],.d24-pill.is-on,input[type=radio]:checked+.d24-pill{background:var(--d24-ink);color:#fff}
.d24-pills input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.d24-searchrow{display:flex;gap:.55rem}
.d24-field{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;border:2px solid var(--d24-line);border-radius:calc(var(--d24-r) - 2px);padding:0 .9rem;background:#fff}
.d24-field:focus-within{border-color:var(--d24-primary)}
.d24-field input{flex:1;min-width:0;border:0;outline:0;font:inherit;padding:.8rem 0;background:transparent;color:inherit}
.d24-searchrow .d24-btn{padding-inline:1.5rem}
@media(max-width:520px){.d24-searchrow{flex-direction:column}.d24-searchrow .d24-btn{width:100%}}

.d24-section{padding:clamp(1.5rem,4vw,2.75rem) 0}
.d24-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.d24-section__head h2{font-size:clamp(1.25rem,3.4vw,1.65rem)}
.d24-more{font-weight:700;text-decoration:none;white-space:nowrap}

.d24-chips{display:flex;gap:.55rem;overflow-x:auto;padding:.2rem .1rem .6rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.d24-chips::-webkit-scrollbar{display:none}
.d24-chip{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem 1.05rem;background:#fff;border:1px solid var(--d24-line);border-radius:999px;color:var(--d24-ink);font-weight:700;text-decoration:none;font-size:.95rem}
.d24-chip:hover{border-color:var(--d24-primary);color:var(--d24-primary)}
@media(min-width:900px){.d24-chips{flex-wrap:wrap;overflow:visible}}

/* Tarjetas */
.d24-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.d24-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}
@media(min-width:1024px){.d24-grid--home{grid-template-columns:repeat(4,minmax(0,1fr))}}
.d24-card{position:relative;background:#fff;border:1px solid var(--d24-line);border-radius:var(--d24-r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
@media(hover:hover){.d24-card:hover{box-shadow:0 12px 28px rgba(28,42,90,.12);transform:translateY(-2px)}}
.d24-card__media{aspect-ratio:4/3;background:#e9edf7;display:block;overflow:hidden}
.d24-card__media img{width:100%;height:100%;object-fit:cover}
.d24-card__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#b2bbd3}
.d24-card__body{padding:.7rem .8rem .85rem;display:flex;flex-direction:column;gap:.2rem;flex:1}
.d24-price{font-weight:800;font-size:1.1rem;letter-spacing:-.02em}
.d24-price s{font-weight:500;font-size:.82rem;color:#8a93ad;margin-left:.35rem}
.d24-price--ask{font-size:.95rem;color:color-mix(in srgb,var(--d24-ink) 70%,#fff)}
.d24-card__title{font-size:.94rem;font-weight:600;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.d24-card__title a{color:inherit;text-decoration:none}
.d24-card__title a::after{content:"";position:absolute;inset:0}
.d24-card__meta{margin-top:auto;padding-top:.35rem;font-size:.8rem;color:#7b849f;display:flex;align-items:center;gap:.3rem;min-width:0}
.d24-card__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d24-tick{color:var(--d24-primary);flex:0 0 auto}
.d24-tag{position:absolute;top:.5rem;left:.5rem;background:var(--d24-accent);color:#fff;font-size:.72rem;font-weight:800;padding:.18rem .55rem;border-radius:999px}
.d24-card--merchant .d24-card__media{aspect-ratio:auto;height:92px;display:flex;align-items:center;justify-content:center;background:#eef1fb}
.d24-card--merchant .d24-card__media img{width:auto;height:64px;max-width:80%;object-fit:contain}

/* Banner Plus */
.d24-banner{background:var(--d24-ink);color:#fff;border-radius:calc(var(--d24-r) + 8px);padding:clamp(1.25rem,4vw,2.25rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem}
.d24-banner__txt{max-width:44rem}
.d24-badge{display:inline-block;background:var(--d24-primary);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.04em;padding:.32rem .8rem;border-radius:999px;margin-bottom:.7rem}
.d24-banner h2{font-size:clamp(1.3rem,3.6vw,1.95rem);margin-bottom:.5rem}
.d24-banner p{color:rgba(255,255,255,.82);margin:0}

/* Pasos */
.d24-steps{display:grid;gap:.8rem}
@media(min-width:720px){.d24-steps{grid-template-columns:repeat(3,1fr)}}
.d24-step{background:#fff;border:1px solid var(--d24-line);border-radius:var(--d24-r);padding:1.1rem 1.2rem}
.d24-step b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--d24-primary) 14%,#fff);color:var(--d24-primary);margin-bottom:.6rem}
.d24-step h3{font-size:1.05rem;margin-bottom:.25rem}
.d24-step p{margin:0;color:#6b7491;font-size:.94rem}

/* Resultados */
.d24-results-top{padding:1rem 0 .25rem}
.d24-results-top .d24-search{margin:0;max-width:none;box-shadow:0 4px 16px rgba(28,42,90,.07);padding:.55rem}
.d24-results-top .d24-searchrow{align-items:stretch}
.d24-results-top select.d24-country{border:2px solid var(--d24-line);border-radius:calc(var(--d24-r) - 2px);padding:0 .7rem;font:inherit;font-weight:700;background:#fff;color:inherit;min-height:48px}
.d24-title{font-size:clamp(1.3rem,3.6vw,1.9rem);margin:1.1rem 0 .15rem}
.d24-count{color:#7b849f;font-size:.92rem;margin:0 0 .7rem}
.d24-tabs{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
.d24-tabs::-webkit-scrollbar{display:none}
.d24-layout{display:grid;gap:1rem;padding:.5rem 0 2.5rem}
@media(min-width:900px){.d24-layout{grid-template-columns:250px minmax(0,1fr);gap:1.5rem;align-items:start}.d24-filters{position:sticky;top:5rem}.d24-filters summary{display:none}}
@media(min-width:900px) and (max-width:1199px){.d24-layout .d24-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.d24-layout .d24-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.d24-filters{background:#fff;border:1px solid var(--d24-line);border-radius:var(--d24-r);padding:.2rem 1rem}
.d24-filters summary{cursor:pointer;font-weight:800;padding:.8rem 0;list-style:none;display:flex;align-items:center;justify-content:space-between}
.d24-filters summary::-webkit-details-marker{display:none}
.d24-filters__body{padding:.2rem 0 1rem;display:grid;gap:.85rem}
.d24-filters label{display:block;font-weight:700;font-size:.86rem;margin-bottom:.3rem}
.d24-filters input[type=text],.d24-filters select{width:100%;min-height:44px;border:1.5px solid var(--d24-line);border-radius:calc(var(--d24-r) - 4px);padding:.45rem .7rem;font:inherit;background:#fff;color:inherit}
.d24-check{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem}
.d24-check input{width:18px;height:18px;accent-color:var(--d24-primary)}
.d24-filters__actions{display:flex;gap:.6rem;align-items:center}
.d24-empty{background:#fff;border:1px dashed #cfd6ea;border-radius:var(--d24-r);padding:2rem 1.25rem;text-align:center}
.d24-empty h2{font-size:clamp(1.2rem,3.4vw,1.6rem);margin-bottom:.4rem}
.d24-empty p{color:#6b7491;max-width:30rem;margin:0 auto 1rem}
.d24-empty .d24-btn+.d24-btn{margin-left:.4rem}
.d24-note{background:#fff7e6;border:1px solid #f3d9a4;border-radius:12px;padding:.7rem .9rem;font-size:.92rem;margin-bottom:.8rem}
.d24-pager{display:flex;gap:.35rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.d24-pager a,.d24-pager span{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--d24-line);background:#fff;color:var(--d24-ink);text-decoration:none;font-weight:700;padding:0 .7rem}
.d24-pager .is-cur{background:var(--d24-ink);color:#fff;border-color:var(--d24-ink)}

/* Planes */
.d24-plans{display:grid;gap:1rem;padding:1rem 0 3rem}
@media(min-width:760px){.d24-plans{grid-template-columns:repeat(2,1fr)}}
.d24-plan{background:#fff;border:1px solid var(--d24-line);border-radius:calc(var(--d24-r) + 4px);padding:1.5rem}
.d24-plan--plus{border:2px solid var(--d24-primary);box-shadow:0 14px 34px color-mix(in srgb,var(--d24-primary) 16%,transparent)}
.d24-plan h2{font-size:1.4rem}
.d24-plan .d24-big{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;margin:.4rem 0 1rem}
.d24-plan .d24-big small{font-size:1rem;font-weight:600;color:#7b849f}
.d24-plan ul{list-style:none;padding:0;margin:0 0 1.3rem;display:grid;gap:.55rem}
.d24-plan li{padding-left:1.7rem;position:relative}
.d24-plan li::before{content:"✓";position:absolute;left:0;color:var(--d24-primary);font-weight:800}
.d24-pagehead{padding:clamp(1.75rem,5vw,3rem) 0 .5rem;text-align:center}
.d24-pagehead h1{font-size:clamp(1.8rem,5vw,2.7rem)}
.d24-pagehead p{color:#6b7491;margin:.6rem auto 0;max-width:34rem}
.d24-content{background:#fff;border:1px solid var(--d24-line);border-radius:var(--d24-r);padding:clamp(1.1rem,3vw,2rem);margin:1.5rem auto 3rem;max-width:820px}

/* Pie */
.d24-foot{background:var(--d24-ink);color:#fff;margin-top:auto;padding:2rem 0 calc(1.5rem + env(safe-area-inset-bottom,0))}
.d24-foot a{color:#fff}
.d24-foot__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.16)}
.d24-foot .d24-logo{color:#fff}
.d24-foot ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.d24-foot ul a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.d24-foot__note{font-size:.88rem;color:rgba(255,255,255,.78);margin:1rem 0 .4rem}
.d24-foot__copy{font-size:.88rem;color:rgba(255,255,255,.7);margin:0}

/* Páginas de los módulos (fichas, cuenta, mis publicaciones): ancho y aire */
.dw24-pub-wrap,.dw24-account-wrap{width:min(1180px,100% - 2rem);margin:1.25rem auto 3rem}
.dw24-pub-wrap img,.dw24-account-wrap img{max-width:100%;height:auto}
.dw24-pub-wrap table,.dw24-account-wrap table{display:block;overflow-x:auto;max-width:100%}
.dw24-pub-wrap input,.dw24-pub-wrap select,.dw24-pub-wrap textarea,.dw24-account-wrap input,.dw24-account-wrap select,.dw24-account-wrap textarea{max-width:100%;font-size:16px}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Foco visible en los botones de país */
.d24-pills input[type=radio]:focus-visible+.d24-pill{outline:3px solid color-mix(in srgb,var(--d24-primary) 55%,#fff);outline-offset:2px}
.d24-tabs .d24-pill{flex:0 0 auto}
.d24-filters__actions a{font-weight:700}
