/* Posicionamiento Digital · estilo de marca para módulos nativos de Divi 5.
   Todo va con clases pd- puestas en el campo «Clase CSS» de cada sección, fila o módulo.
   Tokens y medidas copiados de la maqueta (casos/posicionamientodigital/maqueta/). */

@font-face{font-family:"Onest";src:url("fonts/onest-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Gloock";src:url("fonts/gloock-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --pd-paper:#FCFAFD;--pd-paper-2:#F3EDF6;--pd-card:#FFFFFF;
  --pd-ink:#2B2032;--pd-ink-soft:#574B5F;--pd-head:#3A1748;
  --pd-plum:#602574;--pd-magenta:#CF007F;--pd-magenta-text:#A8006A;
  --pd-line:rgba(96,37,116,.14);--pd-shadow:0 18px 40px -26px rgba(60,20,70,.35);
  --pd-band-svc:#EFE3F5;--pd-band-proj:#FFF3F0;
  --pd-grad-btn:linear-gradient(100deg,#7A2A86 0%,#CF007F 55%,#D51130 100%);
  --pd-grad-brand:linear-gradient(180deg,#733188 0%,#8E2A82 100%);
  --pd-display:"Gloock",Georgia,"Times New Roman",serif;
  --pd-body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
/* el tema hijo dseo-divi-child impone Lato y Playfair con --dseo-font y --dseo-font-heading, y su hoja carga
   después de esta: se reapuntan en body, que gana a :root sea cual sea el orden */
html body{--dseo-font:var(--pd-body);--dseo-font-heading:var(--pd-body)}

/* ---------- base ---------- */
body{background:var(--pd-paper);color:var(--pd-ink);font-family:var(--pd-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
#page-container,#et-main-area,#main-content{background:transparent}
body h1,body h2,body h3,body h4{font-family:var(--pd-body);color:var(--pd-head)}
a:focus-visible,button:focus-visible,.et_pb_button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--pd-magenta);outline-offset:3px}
::selection{background:var(--pd-magenta);color:#fff}

/* botón de marca: degradado, píldora (Divi pinta los botones con body #page-container) */
body #page-container .pd-btn.et_pb_button,body .pd-btn.et_pb_button{background:var(--pd-grad-btn)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 28px!important;font:600 16px/1 var(--pd-body)!important;letter-spacing:0!important;box-shadow:0 10px 24px -12px #CF007F;transition:transform .2s ease}
body #page-container .pd-btn.et_pb_button:hover,body .pd-btn.et_pb_button:hover{transform:translateY(-1px);padding:15px 28px!important}
body #page-container .pd-btn.et_pb_button::after,body .pd-btn.et_pb_button::after{display:none!important}

/* ---------- cabecera (Theme Builder) ---------- */
.et-l--header{position:sticky;top:0;z-index:100}
body.admin-bar .et-l--header{top:32px}
@media (max-width:782px){body.admin-bar .et-l--header{top:46px}}
.pd-hdr.et_pb_section{background:color-mix(in srgb,var(--pd-paper) 90%,transparent)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--pd-line);padding:0!important}
.pd-hdr .et_pb_row.pd-hdr-row{display:flex;align-items:center;gap:24px;width:100%;max-width:1180px;min-height:70px;padding:0 clamp(16px,4vw,40px)!important;margin:0 auto}
.pd-hdr .pd-hdr-row>.et_pb_column{width:auto!important;margin:0!important;flex:0 0 auto}
.pd-hdr .pd-hdr-row>.et_pb_column:first-child{flex:1 1 auto;min-width:0}
.pd-hdr .pd-hdr-cta{display:flex;align-items:center;gap:22px}
.pd-hdr .pd-hdr-cta .et_pb_module{margin:0!important}
.pd-hdr .pd-menu.et_pb_menu{background:transparent!important}
.pd-hdr .pd-menu .et_pb_menu__logo-wrap{flex:none}
.pd-hdr .pd-menu .et_pb_menu__logo img{width:165px;height:auto;max-height:none}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li>a{font:500 15px/1 var(--pd-body);color:var(--pd-ink-soft);padding:26px 0}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li>a:hover{color:var(--pd-ink);opacity:1}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li.current-menu-item>a,.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li.current-menu-ancestor>a{color:var(--pd-plum);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li{padding-right:24px}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul>li:last-child{padding-right:0}
.pd-hdr .pd-menu .et_pb_menu_inner_container{justify-content:space-between}
.pd-hdr .pd-menu .et_pb_menu__menu>nav>ul{flex-wrap:nowrap}
.pd-hdr .pd-hdr-tel p{margin:0;padding:0}
.pd-hdr .pd-hdr-tel a{font:600 15px/1 var(--pd-body);color:var(--pd-ink);text-decoration:none;white-space:nowrap}
.pd-hdr .pd-btn.et_pb_button{padding:11px 18px!important;font-size:14px!important}
.pd-hdr .pd-btn.et_pb_button:hover{padding:11px 18px!important}
/* menú móvil de Divi con los colores de la marca */
.pd-hdr .mobile_menu_bar::before{color:var(--pd-plum)!important}
.pd-hdr .et_mobile_menu{border-top:3px solid var(--pd-magenta);background:var(--pd-card);box-shadow:var(--pd-shadow)}
.pd-hdr .et_mobile_menu li a{font:500 16px/1.3 var(--pd-body);color:var(--pd-ink);border-bottom:1px solid var(--pd-line)}
@media (max-width:980px){
  .pd-hdr .pd-hdr-tel{display:none}
}
@media (max-width:560px){
  .pd-hdr .pd-hdr-row>.et_pb_column.pd-hdr-cta{display:none}
  .pd-hdr .pd-menu .et_pb_menu__logo img{width:140px}
}

/* ---------- marca gigante antes del pie ---------- */
.pd-mega.et_pb_section{background:#8E2A82!important;padding:8px 0 0!important;overflow:hidden}
.pd-mega .et_pb_row{width:100%!important;max-width:none!important;padding:0!important}
.pd-mega .et_pb_text p{font:400 clamp(40px,9.4vw,150px)/.9 var(--pd-display);letter-spacing:-.03em;white-space:nowrap;text-align:center;color:#E7BCEA;margin:0;padding:0;user-select:none}

/* páginas tranquilas (gracias, legales, 404): sin la marca gigante, como en la maqueta.
   Se marcan con cualquier clase pd-gra- en el cuerpo, o con pd-quiet en una sección. */
body:has(.pd-quiet) .et-l--footer .pd-mega,body:has([class*="pd-gra-"]) .et-l--footer .pd-mega{display:none}

/* ---------- pie ---------- */
.pd-foot.et_pb_section{background:var(--pd-paper)!important;border-top:1px solid var(--pd-line);padding:0!important;font-size:14px;color:var(--pd-ink-soft)}
.pd-foot .et_pb_row{width:100%;max-width:1180px;padding-left:clamp(16px,4vw,40px)!important;padding-right:clamp(16px,4vw,40px)!important}
.pd-foot .pd-foot-grid{padding-top:48px!important;padding-bottom:28px!important}
.pd-foot .pd-foot-grid .et_pb_text{font-size:14px;line-height:1.7;color:var(--pd-ink-soft)}
.pd-foot .pd-foot-grid p{padding:0;margin:0 0 10px;max-width:34em}
.pd-foot .pd-foot-grid .pd-fh{font-weight:700;color:var(--pd-head);margin-bottom:10px}
.pd-foot address{font-style:normal;line-height:1.7}
.pd-foot ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}
.pd-foot ul li{padding:0}
.pd-foot a{color:var(--pd-ink-soft);text-decoration:none}
.pd-foot a:hover{color:var(--pd-ink)}
.pd-foot .pd-foot-bottom{border-top:1px solid var(--pd-line);padding-top:22px!important;padding-bottom:22px!important}
.pd-foot .pd-fb{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px}
.pd-foot .pd-fb nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.pd-foot .pd-fb p{margin:0;padding:0}
@media (max-width:980px){
  .pd-foot .pd-foot-grid>.et_pb_column{width:100%!important;margin-right:0!important;margin-bottom:24px}
}
