/* ── PRO DIGITAL SAAS — FRONTEND CSS v1.1 ──────────────────────── */

:root {
    --pds-primary:   #1a1a2e;
    --pds-accent:    #e94560;
    --pds-accent-dk: #c73652;
    --pds-light:     #f8f9fa;
    --pds-text:      #2d2d2d;
    --pds-muted:     #6c757d;
    --pds-white:     #ffffff;
    --pds-radius:    12px;
    --pds-shadow:    0 4px 24px rgba(0,0,0,.09);
    --pds-shadow-lg: 0 12px 40px rgba(0,0,0,.14);
    --pds-tr:        .25s ease;
}

.pds-home *, .pds-dashboard * { box-sizing: border-box; }

/* ── BOTONES ────────────────────────────────────────────────────── */
.pds-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 32px; border-radius: 50px;
    font-weight: 700; font-size: 15px; cursor: pointer;
    border: none; text-decoration: none;
    transition: all var(--pds-tr); font-family: inherit;
}
.pds-btn--hero {
    background: var(--pds-accent); color: var(--pds-white);
    font-size: 17px; padding: 18px 40px;
    box-shadow: 0 8px 28px rgba(233,69,96,.35);
}
.pds-btn--hero:hover { background: var(--pds-accent-dk); transform: translateY(-2px); }
.pds-btn--full {
    background: var(--pds-accent); color: var(--pds-white);
    width: 100%; font-size: 16px; padding: 16px;
    border-radius: var(--pds-radius);
}
.pds-btn--full:hover { background: var(--pds-accent-dk); }

/* ── HOME LANDING ───────────────────────────────────────────────── */
.pds-home { font-family: 'Inter','Segoe UI',sans-serif; color: var(--pds-text); }

.pds-home__hero {
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; flex-wrap: wrap;
    padding: 80px 5% 100px;
    background: linear-gradient(135deg, var(--pds-primary) 0%, #16213e 100%);
    min-height: 85vh;
}
.pds-home__hero-content { flex: 1; min-width: 300px; max-width: 560px; }
.pds-home__eyebrow {
    display: inline-block;
    background: rgba(233,69,96,.15); color: var(--pds-accent);
    border: 1px solid rgba(233,69,96,.3);
    padding: 6px 16px; border-radius: 50px;
    font-size: 13px; font-weight: 700; letter-spacing: .5px;
    margin-bottom: 24px;
}
.pds-home__title {
    font-size: clamp(38px,5vw,62px); font-weight: 900;
    color: var(--pds-white); line-height: 1.05;
    letter-spacing: -2px; margin-bottom: 20px;
}
.pds-home__title span { color: var(--pds-accent); }
.pds-home__subtitle { font-size: 17px; color: rgba(255,255,255,.7); line-height: 1.7; margin-bottom: 28px; }
.pds-home__features { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 36px; }
.pds-home__features span { font-size: 13px; color: rgba(255,255,255,.65); font-weight: 500; }

/* Mockup */
.pds-home__hero-visual { flex: 1; min-width: 280px; max-width: 460px; }
.pds-home__mockup { background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(0,0,0,.4); overflow: hidden; }
.pds-home__mockup-bar { background: #f1f1f1; padding: 10px 14px; display: flex; align-items: center; gap: 6px; }
.pds-home__mockup-bar span { width: 12px; height: 12px; border-radius: 50%; display: block; }
.pds-home__mockup-bar span:nth-child(1){ background:#ff5f57; }
.pds-home__mockup-bar span:nth-child(2){ background:#ffbc2e; }
.pds-home__mockup-bar span:nth-child(3){ background:#28c840; }
.pds-home__mockup-url { flex:1; background:#fff; border-radius:6px; padding:4px 10px; font-size:11px; color:#999; margin-left:8px; }
.pds-home__mockup-body { padding:0 0 20px; }
.pds-home__mockup-hero-preview { height:140px; background:linear-gradient(135deg,var(--pds-primary),var(--pds-accent)); margin-bottom:16px; }
.pds-home__mockup-lines { padding:0 16px; margin-bottom:16px; }
.pds-home__mockup-lines div { height:10px; background:#eee; border-radius:4px; margin-bottom:8px; }
.pds-home__mockup-cards { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:0 16px; }
.pds-home__mockup-cards div { height:60px; background:#f5f5f5; border-radius:8px; }

/* STEPS */
.pds-home__steps { padding:80px 5%; background:var(--pds-light); text-align:center; }
.pds-home__steps h2 { font-size:clamp(28px,4vw,40px); font-weight:800; letter-spacing:-1px; margin-bottom:48px; }
.pds-home__steps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px; max-width:900px; margin:0 auto; }
.pds-home__step { background:#fff; padding:32px 24px; border-radius:var(--pds-radius); box-shadow:var(--pds-shadow); }
.pds-home__step-num { width:44px; height:44px; border-radius:50%; background:var(--pds-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; margin:0 auto 16px; }
.pds-home__step h3 { font-size:17px; font-weight:700; margin-bottom:8px; }
.pds-home__step p  { font-size:14px; color:var(--pds-muted); }

/* MODAL */
.pds-modal { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.pds-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); }
.pds-modal__box { position:relative; z-index:1; background:#fff; border-radius:20px; padding:48px 40px; width:100%; max-width:440px; box-shadow:0 24px 60px rgba(0,0,0,.25); animation:pdsSlideUp .3s ease; }
@keyframes pdsSlideUp { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }
.pds-modal__close { position:absolute; top:16px; right:16px; background:var(--pds-light); border:none; border-radius:50%; width:32px; height:32px; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; }
.pds-modal__header { margin-bottom:28px; }
.pds-modal__header h2 { font-size:26px; font-weight:800; letter-spacing:-.5px; }
.pds-modal__header p  { color:var(--pds-muted); font-size:14px; margin-top:4px; }

/* FORMS */
.pds-form-group { margin-bottom: 18px; }
.pds-form-group label { display:block; font-size:13px; font-weight:600; color:var(--pds-text); margin-bottom:6px; }
.pds-form-group label small { font-weight:400; color:var(--pds-muted); }
.pds-form-group input,
.pds-form-group textarea,
.pds-form-group select {
    width:100%; padding:12px 16px;
    border:2px solid #e9ecef; border-radius:var(--pds-radius);
    font-size:15px; font-family:inherit;
    transition:border-color var(--pds-tr); outline:none;
    background: #fff;
}
.pds-form-group input:focus,
.pds-form-group textarea:focus { border-color:var(--pds-accent); }
.pds-form-group textarea { resize:vertical; min-height:80px; }
.pds-input-wrap { position:relative; }
.pds-input-wrap input { padding-right:48px; }
.pds-toggle-pass { position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; font-size:16px; }
.pds-form__terms { font-size:12px; color:var(--pds-muted); text-align:center; margin-top:14px; }
.pds-form__terms a { color:var(--pds-accent); }

/* ALERTS */
.pds-alert { padding:12px 16px; border-radius:var(--pds-radius); font-size:14px; font-weight:500; margin-bottom:16px; }
.pds-alert--success { background:#d1f7c4; color:#1b7a3a; }
.pds-alert--error   { background:#ffe0e0; color:#b00020; }
.pds-alert--info    { background:#e8f4ff; color:#0c5fb0; }

/* ── DASHBOARD ──────────────────────────────────────────────────── */
.pds-dashboard {
    font-family: 'Inter','Segoe UI',sans-serif;
    max-width: 900px; margin: 0 auto; padding: 20px;
}
.pds-dash__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.pds-dash__header h1 { font-size:26px; font-weight:800; letter-spacing:-.5px; }
.pds-dash__header p  { color:var(--pds-muted); font-size:14px; }
.pds-dash__header-actions { display:flex; gap:10px; flex-wrap:wrap; }

.pds-dash-btn {
    padding:10px 22px; border-radius:50px;
    font-weight:600; font-size:14px; cursor:pointer;
    text-decoration:none; border:2px solid transparent;
    transition:all var(--pds-tr); font-family:inherit;
    display:inline-flex; align-items:center; gap:6px;
}
.pds-dash-btn--primary { background:var(--pds-accent); color:#fff; border-color:var(--pds-accent); }
.pds-dash-btn--primary:hover { background:var(--pds-accent-dk); }
.pds-dash-btn--outline { background:transparent; color:var(--pds-text); border-color:#dee2e6; }
.pds-dash-btn--outline:hover { border-color:var(--pds-text); }
.pds-dash-btn--ghost  { background:transparent; color:var(--pds-muted); border-color:transparent; }
.pds-dash-btn--ghost:hover { color:var(--pds-text); }

/* STATUS */
.pds-dash__status { padding:14px 20px; border-radius:var(--pds-radius); font-size:14px; margin-bottom:20px; }
.pds-dash__status--trial   { background:#fff8e1; color:#856404; border:1px solid #ffe69c; }
.pds-dash__status--activo  { background:#d1f7c4; color:#1b7a3a; border:1px solid #b4f0a0; }
.pds-dash__status--expirado,
.pds-dash__status--inactivo { background:#ffe0e0; color:#b00020; border:1px solid #ffb3b3; }
.pds-dash__status-link { color:inherit; font-weight:700; }

/* URL BOX */
.pds-dash__url-box { display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:var(--pds-light); border:1px solid #dee2e6; padding:12px 18px; border-radius:var(--pds-radius); margin-bottom:28px; font-size:14px; }
.pds-dash__url-label { font-weight:600; white-space:nowrap; }
.pds-dash__url { color:var(--pds-accent); font-weight:500; word-break:break-all; }
.pds-dash__copy { margin-left:auto; background:none; border:1px solid #dee2e6; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:13px; transition:background var(--pds-tr); }
.pds-dash__copy:hover { background:#fff; }

/* SECTIONS */
.pds-dash__section { background:#fff; border:1px solid #e9ecef; border-radius:16px; padding:32px; margin-bottom:24px; }
.pds-dash__section-title { font-size:18px; font-weight:700; margin-bottom:6px; }
.pds-dash__section-hint  { font-size:13px; color:var(--pds-muted); margin-bottom:24px; }
.pds-dash__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pds-form-group--full { grid-column:1 / -1; }

/* SERVICIOS */
.pds-dash__servicios { display:flex; flex-direction:column; gap:20px; }
.pds-dash__servicio { display:flex; gap:16px; align-items:flex-start; background:var(--pds-light); border-radius:var(--pds-radius); padding:20px; }
.pds-dash__servicio-num { width:36px; height:36px; border-radius:50%; background:var(--pds-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; flex-shrink:0; }
.pds-dash__servicio-fields { flex:1; display:flex; flex-direction:column; gap:12px; }
.pds-dash__servicio-fields .pds-form-group { margin-bottom:0; }

/* SERVICIOS IMÁGENES */
.pds-dash__servicios-imgs { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pds-dash__servicio-img-block { display:flex; flex-direction:column; gap:10px; }
.pds-dash__servicio-img-label { display:flex; align-items:center; gap:10px; font-weight:600; font-size:14px; color:var(--pds-text); }

/* SAVE BAR */
.pds-dash__save-bar { text-align:right; padding-top:8px; }

/* UPLOAD ZONE */
.pds-dash__hero-preview { width:100%; height:160px; border-radius:var(--pds-radius); overflow:hidden; background:var(--pds-light); margin-bottom:14px; position:relative; }
.pds-dash__hero-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.pds-dash__hero-empty { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--pds-muted); gap:8px; }
.pds-dash__hero-empty span { font-size:32px; }
.pds-dash__upload-zone { border:2px dashed #dee2e6; border-radius:var(--pds-radius); cursor:pointer; overflow:hidden; transition:border-color var(--pds-tr),background var(--pds-tr); margin-bottom:10px; }
.pds-dash__upload-zone:hover,
.pds-dash__upload-zone.dragover { border-color:var(--pds-accent); background:rgba(233,69,96,.03); }
.pds-dash__upload-zone-inner { padding:22px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:5px; }
.pds-dash__upload-zone-inner span { font-size:24px; }
.pds-dash__upload-zone-inner p { font-weight:600; font-size:14px; }
.pds-dash__upload-zone-inner small { color:var(--pds-muted); font-size:12px; }
.pds-dash__progress { padding:14px 20px; text-align:center; }
.pds-dash__progress-bar { background:#e9ecef; border-radius:4px; height:6px; margin-bottom:8px; }
.pds-dash__progress-fill { height:6px; background:var(--pds-accent); border-radius:4px; width:0; transition:width .3s; }

/* GALERÍA */
.pds-dash__gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:10px; }
.pds-dash__gallery-item { aspect-ratio:4/3; border-radius:var(--pds-radius); overflow:hidden; position:relative; }
.pds-dash__gallery-item img { width:100%; height:100%; object-fit:cover; }
.pds-dash__gallery-delete { position:absolute; top:6px; right:6px; background:rgba(0,0,0,.65); color:#fff; border:none; border-radius:50%; width:28px; height:28px; cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--pds-tr); }
.pds-dash__gallery-item:hover .pds-dash__gallery-delete { opacity:1; }
.pds-dash__gallery-add { aspect-ratio:4/3; border-radius:var(--pds-radius); border:2px dashed #dee2e6; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; transition:all var(--pds-tr); color:var(--pds-muted); }
.pds-dash__gallery-add:hover { border-color:var(--pds-accent); color:var(--pds-accent); }
.pds-dash__gallery-add span { font-size:28px; font-weight:300; }
.pds-dash__gallery-add small { font-size:12px; }

/* RESEÑAS */
.pds-dash__resenas-list { display:flex; flex-direction:column; gap:14px; }
.pds-dash__resena-card { background:var(--pds-light); border-radius:var(--pds-radius); padding:20px; border-left:4px solid var(--pds-accent); }
.pds-dash__resena-stars { color:#f59e0b; font-size:18px; letter-spacing:1px; margin-bottom:8px; }
.pds-dash__resena-texto { color:var(--pds-muted); font-size:14px; font-style:italic; margin-bottom:10px; line-height:1.6; }
.pds-dash__resena-autor { font-size:14px; margin-bottom:10px; }
.pds-dash__resena-autor strong { color:var(--pds-text); }
.pds-dash__resena-autor span { color:var(--pds-muted); }
.pds-dash__resena-actions { display:flex; gap:10px; }
.pds-btn-resena-edit,
.pds-btn-resena-del { background:none; border:1px solid #dee2e6; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:12px; font-family:inherit; transition:all var(--pds-tr); }
.pds-btn-resena-edit:hover { border-color:var(--pds-primary); background:var(--pds-primary); color:#fff; }
.pds-btn-resena-del:hover  { border-color:var(--pds-accent); background:var(--pds-accent); color:#fff; }

/* STARS PICKER */
.pds-stars-picker { display:flex; gap:6px; margin-top:6px; }
.pds-star { font-size:26px; cursor:pointer; color:#ddd; transition:color .15s; line-height:1; user-select:none; }
.pds-star.active { color:#f59e0b; }

/* ADMIN BADGES */
.pds-admin .pds-badge { padding:4px 10px; border-radius:50px; font-size:12px; font-weight:600; }
.pds-admin .pds-badge--trial    { background:#fff3cd; color:#856404; }
.pds-admin .pds-badge--activo   { background:#d4edda; color:#155724; }
.pds-admin .pds-badge--expirado,
.pds-admin .pds-badge--inactivo { background:#f8d7da; color:#721c24; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .pds-dash__grid { grid-template-columns:1fr; }
    .pds-dash__servicios-imgs { grid-template-columns:1fr; }
    .pds-dash__gallery-grid { grid-template-columns:repeat(2,1fr); }
    .pds-modal__box { padding:32px 20px; }
    .pds-home__hero { padding:60px 5% 80px; }
    .pds-home__hero-visual { display:none; }
}
@media (max-width: 480px) {
    .pds-dash__gallery-grid { grid-template-columns:1fr; }
}

/* ── BANNER LOGUEADO ─────────────────────────────────────────── */
.pds-logged-banner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap;
    background: linear-gradient(135deg, var(--pds-primary), #16213e);
    color: #fff; padding: 14px 5%;
    font-size: 15px; font-weight: 500;
    font-family: 'Inter','Segoe UI',sans-serif;
}
.pds-logged-banner__btn {
    background: var(--pds-accent); color: #fff;
    padding: 8px 22px; border-radius: 50px;
    font-size: 14px; font-weight: 700; text-decoration: none;
    transition: background .2s;
    white-space: nowrap;
}
.pds-logged-banner__btn:hover { background: var(--pds-accent-dk); }

/* ── MODAL TABS ──────────────────────────────────────────────── */
.pds-modal__tabs {
    display: flex; gap: 4px;
    margin-bottom: 28px;
    background: var(--pds-light);
    border-radius: 10px; padding: 4px;
}
.pds-modal__tab {
    flex: 1; padding: 10px; border: none; border-radius: 8px;
    font-size: 14px; font-weight: 600; cursor: pointer;
    background: transparent; color: var(--pds-muted);
    transition: all var(--pds-tr); font-family: inherit;
}
.pds-modal__tab.active {
    background: #fff; color: var(--pds-text);
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* ── SAVE BAR FIJO ───────────────────────────────────────────── */
.pds-dash__save-bar-fixed {
    position: sticky;
    bottom: 0;
    left: 0; right: 0;
    z-index: 100;
    background: #fff;
    border-top: 2px solid #e9ecef;
    padding: 16px 0;
    margin-top: 32px;
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
.pds-dash__save-bar-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.pds-dash__save-bar-hint {
    font-size: 13px;
    color: var(--pds-muted);
    flex: 1;
}
@media (max-width: 600px) {
    .pds-dash__save-bar-hint { display: none; }
    .pds-dash__save-bar-inner { justify-content: center; }
}

/* ── COLOR PICKER ────────────────────────────────────────────── */
.pds-color-picker { display:flex; flex-direction:column; gap:20px; }

.pds-color-presets {
    display: flex; flex-wrap: wrap; gap: 10px;
}
.pds-color-swatch {
    width: 40px; height: 40px; border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer; font-size: 16px; color: #fff;
    display: flex; align-items: center; justify-content: center;
    transition: transform .15s, border-color .15s;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
    font-weight: 700;
}
.pds-color-swatch:hover  { transform: scale(1.18); }
.pds-color-swatch.active { border-color: var(--pds-text); transform: scale(1.12); }

.pds-color-custom label { font-size: 13px; font-weight: 600; color: var(--pds-text); display:block; margin-bottom:10px; }
.pds-color-input-wrap {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.pds-color-input-wrap input[type="color"] {
    width: 48px; height: 48px; border-radius: 10px; border: 2px solid #e9ecef;
    cursor: pointer; padding: 2px; background: none;
}
.pds-color-input-wrap input[type="text"] {
    width: 120px; padding: 10px 14px; border: 2px solid #e9ecef;
    border-radius: var(--pds-radius); font-size: 15px; font-family: monospace;
    text-transform: uppercase;
}
.pds-color-input-wrap input[type="text"]:focus { border-color: var(--pds-accent); outline: none; }
.pds-color-preview {
    width: 48px; height: 48px; border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
    flex-shrink: 0; transition: background .2s;
}

/* ── SERVICIOS IMGS GRID — 4 items ───────────────────────────── */
.pds-dash__servicios-imgs { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pds-dash__servicio-img-block { display:flex; flex-direction:column; gap:10px; }
.pds-dash__servicio-img-label { display:flex; align-items:center; gap:8px; font-weight:600; font-size:13px; color:var(--pds-text); }

@media (max-width: 768px) {
    .pds-dash__servicios-imgs { grid-template-columns: repeat(2,1fr); }
    .pds-color-presets { gap: 8px; }
    .pds-color-swatch { width: 36px; height: 36px; }
}

/* ── STATS GRID DASHBOARD ───────────────────────────────────── */
.pds-dash__stats-grid {
    display: grid; grid-template-columns: repeat(4,1fr); gap: 16px;
}
.pds-dash__stat-item {
    background: var(--pds-light); border-radius: var(--pds-radius);
    padding: 16px; display: flex; flex-direction: column; align-items: center; text-align: center;
}
.pds-dash__stat-item .pds-form-group { width: 100%; margin-bottom: 10px; }
.pds-dash__stat-item input { text-align: center; }

/* ── PRECIOS DASHBOARD ──────────────────────────────────────── */
.pds-dash__precios-grid {
    display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.pds-dash__precio-card {
    border: 2px solid #e9ecef; border-radius: var(--pds-radius);
    padding: 20px; display: flex; flex-direction: column; gap: 0;
}
.pds-dash__precio-card--destacado { border-color: var(--pds-accent); }
.pds-dash__precio-num {
    font-size: 13px; font-weight: 700; color: var(--pds-accent);
    text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px;
}

/* Checkbox personalizado */
.pds-checkbox-label {
    display: flex !important; align-items: center; gap: 8px;
    cursor: pointer; font-size: 13px !important; font-weight: 500 !important;
}
.pds-checkbox-label input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; }

/* ── FAQ DASHBOARD ──────────────────────────────────────────── */
.pds-dash__faq-list { display: flex; flex-direction: column; gap: 12px; }
.pds-dash__faq-item {
    background: var(--pds-light); border-radius: var(--pds-radius);
    padding: 16px 20px; border-left: 4px solid var(--pds-accent);
}
.pds-dash__faq-q { font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.pds-dash__faq-a { font-size: 13px; color: var(--pds-muted); margin-bottom: 10px; line-height: 1.5; }
.pds-dash__faq-actions { display: flex; gap: 8px; }
.pds-btn-faq-edit,
.pds-btn-faq-del {
    background: none; border: 1px solid #dee2e6; padding: 5px 12px;
    border-radius: 6px; cursor: pointer; font-size: 12px; font-family: inherit;
    transition: all var(--pds-tr);
}
.pds-btn-faq-edit:hover { border-color: var(--pds-primary); background: var(--pds-primary); color: #fff; }
.pds-btn-faq-del:hover  { border-color: var(--pds-accent); background: var(--pds-accent); color: #fff; }

/* ── HORARIOS DASHBOARD ─────────────────────────────────────── */
.pds-dash__horarios-table { display: flex; flex-direction: column; gap: 0; }
.pds-dash__horarios-header {
    display: grid; grid-template-columns: 130px 80px 1fr 1fr;
    gap: 12px; padding: 10px 16px;
    font-size: 12px; font-weight: 700; color: var(--pds-muted);
    text-transform: uppercase; letter-spacing: .5px;
    background: var(--pds-light); border-radius: var(--pds-radius) var(--pds-radius) 0 0;
}
.pds-dash__horario-row {
    display: grid; grid-template-columns: 130px 80px 1fr 1fr;
    gap: 12px; align-items: center; padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
}
.pds-dash__horario-row:last-child { border-bottom: none; }
.pds-dash__horario-dia { font-weight: 600; font-size: 14px; }
.pds-dash__horario-row input[type="time"] {
    padding: 8px 10px; border: 2px solid #e9ecef;
    border-radius: 8px; font-size: 14px; font-family: inherit;
    outline: none; transition: border-color var(--pds-tr);
}
.pds-dash__horario-row input[type="time"]:focus { border-color: var(--pds-accent); }

/* Toggle switch */
.pds-switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.pds-switch input { opacity: 0; width: 0; height: 0; }
.pds-switch__slider {
    position: absolute; cursor: pointer; inset: 0;
    background: #dee2e6; border-radius: 24px;
    transition: background .2s;
}
.pds-switch__slider::before {
    content: ''; position: absolute;
    width: 18px; height: 18px; border-radius: 50%; background: #fff;
    left: 3px; bottom: 3px; transition: transform .2s;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.pds-switch input:checked + .pds-switch__slider { background: var(--pds-accent); }
.pds-switch input:checked + .pds-switch__slider::before { transform: translateX(20px); }

/* ── ALERT GLOBAL SECCIONES ─────────────────────────────────── */
.pds-section-alert {
    margin-top: 10px; padding: 10px 14px; border-radius: 8px;
    font-size: 13px; font-weight: 500; display: none;
}
.pds-section-alert.ok  { background: #d1f7c4; color: #1b7a3a; display: block; }
.pds-section-alert.err { background: #ffe0e0; color: #b00020; display: block; }

/* ── RESPONSIVE DASHBOARD NEW SECTIONS ──────────────────────── */
@media (max-width: 768px) {
    .pds-dash__stats-grid { grid-template-columns: repeat(2,1fr); }
    .pds-dash__precios-grid { grid-template-columns: 1fr; }
    .pds-dash__horarios-header { display: none; }
    .pds-dash__horario-row { grid-template-columns: 1fr 60px; grid-template-rows: auto auto; gap: 8px; }
    .pds-dash__horario-dia { grid-column: 1; grid-row: 1; }
    .pds-switch { grid-column: 2; grid-row: 1; }
    .pds-dash__horario-row input[type="time"] { grid-row: 2; }
}

/* ── SECTION COLORS GRID ─────────────────────────────────────── */
.pds-dash__section-colors-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.pds-dash__section-color-item {
    border: 1px solid #e9ecef;
    border-radius: var(--pds-radius);
    overflow: hidden;
}
.pds-dash__section-color-preview {
    height: 64px;
    display: flex; align-items: center; justify-content: center;
    transition: background .25s;
}
.pds-dash__section-color-preview span {
    font-size: 13px; font-weight: 700;
    color: rgba(128,128,128,.7);
    mix-blend-mode: difference;
    filter: invert(1);
    padding: 4px 10px;
    border-radius: 50px;
}
.pds-dash__section-color-controls {
    padding: 12px;
    background: #fff;
}

/* Mini swatches para colores de sección */
.pds-section-color-presets {
    display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 2px;
}
.pds-mini-swatch {
    width: 24px; height: 24px; border-radius: 50%;
    cursor: pointer; transition: transform .15s;
    flex-shrink: 0;
}
.pds-mini-swatch:hover { transform: scale(1.2); }
.pds-mini-swatch.active { outline: 3px solid var(--pds-text); outline-offset: 2px; }
.pds-section-color-native {
    width: 36px; height: 36px; border-radius: 8px;
    border: 2px solid #e9ecef; cursor: pointer; padding: 2px;
    flex-shrink: 0;
}

/* Hero color presets */
.pds-dash__hero-color-presets {
    display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px;
}

/* Logo upload preview más pequeño */
#pds-logo-preview-wrap {
    height: 80px !important;
    background: #1a1a2e !important;
}
#pds-logo-preview-img {
    object-fit: contain !important;
    padding: 8px;
}

@media (max-width: 640px) {
    .pds-dash__section-colors-grid { grid-template-columns: 1fr; }
}

/* ── PRECIOS CENTRADOS (1, 2 o 3 planes) ─────────────────────── */
.pds-pricing__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    align-items: start;
}
.pds-pricing__grid .pds-plan {
    flex: 0 1 320px;    /* base 320px, no crece, puede achicarse */
    min-width: 260px;
    max-width: 380px;
}
/* 1 plan: centrado con max-width razonable */
.pds-pricing__grid[data-count="1"] .pds-plan { flex-basis: 360px; }
/* 2 planes: 2 columnas centradas */
.pds-pricing__grid[data-count="2"] .pds-plan { flex-basis: 340px; }
/* 3 planes: 3 columnas */
.pds-pricing__grid[data-count="3"] .pds-plan { flex-basis: 300px; }

/* ── VIDEOS SECTION ──────────────────────────────────────────── */
.pds-videos__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 960px;
    margin: 0 auto;
}
/* Si solo hay 1 video, centrarlo */
.pds-videos__grid:has(> :only-child) {
    grid-template-columns: 1fr;
    max-width: 640px;
}
.pds-video-embed {
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.pds-video-embed iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* ── RESEÑAS: grid 2x2 fijo ──────────────────────────────────── */
.pds-reviews__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

/* ── STATS separado ──────────────────────────────────────────── */
.pds-stats-section {
    background: var(--primary);
    border-radius: 28px;
    margin: 16px 2% !important;
}

@media (max-width: 768px) {
    .pds-videos__grid { grid-template-columns: 1fr; }
    .pds-videos__grid:has(> :only-child) { max-width: 100%; }
    .pds-reviews__grid { grid-template-columns: 1fr; }
    .pds-pricing__grid .pds-plan { flex-basis: 100% !important; max-width: 100%; }
    .pds-stats-section { margin: 12px 0 !important; border-radius: 0; }
}
