/* =========================================================
   SOM · Rediseño 2026 · todo bajo body.som-rd (se apaga con el interruptor)
   ========================================================= */
:root{
  --som-bg:#FBFAF8;--som-alt:#EEF3F4;--som-ink:#0F2A35;--som-body:#3F525B;--som-line:#D6E0E3;
  --som-petrol:#003E52;--som-deep:#022A38;--som-gold:#C9A574;--som-gold-hi:#DCC197;--som-gold-ink:#8A6A3E;--som-gold-soft:#E9DCC6;
  --som-ease:cubic-bezier(.23,1,.32,1);--som-ease-io:cubic-bezier(.77,0,.175,1);
  --som-head:'Schibsted Grotesk','Figtree',system-ui,sans-serif;--som-text:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bm-accent:#C9A574;
}
body.som-rd ::selection{background:var(--som-gold-soft);color:var(--som-ink)}

/* ---------- Tipografía ---------- */
body.som-rd,body.som-rd p,body.som-rd li,body.som-rd input,body.som-rd select,body.som-rd textarea,body.som-rd .et_pb_text,body.som-rd .et_pb_blurb_description{font-family:var(--som-text)!important}
body.som-rd{color:var(--som-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.som-rd :is(h1,h2,h3,h4,h5,h6,.et_pb_module_header,.et_pb_module_header a,.entry-title){font-family:var(--som-head)!important;letter-spacing:-.02em!important;text-wrap:balance}
body.som-rd h1{font-weight:700!important;line-height:1.06!important;letter-spacing:-.03em!important}
body.som-rd h2{font-weight:600!important;line-height:1.14!important}
body.som-rd h3,body.som-rd h4{font-weight:600!important;line-height:1.25!important}
body.som-rd #et-main-area .et_pb_text p{text-wrap:pretty}
/* el cuerpo de texto con tamaño legible donde Divi lo dejaba en 14-15px */
body.som-rd #et-main-area .et_pb_text_inner p,body.som-rd #et-main-area .et_pb_blurb_description p{font-size:max(1em,17px);line-height:1.65}
body.som-rd #et-main-area .et_pb_text_inner :is(ul,ol) li{line-height:1.6}

/* Enlaces de texto: petróleo con subrayado fino que se vuelve dorado (fuera el azul por defecto) */
body.som-rd #main-content .et_pb_bg_layout_light:is(.et_pb_text,.et_pb_blurb) a:not(.et_pb_button),body.som-rd #main-content :is(.et_pb_post_content,.entry-content) .et_pb_bg_layout_light a:not(.et_pb_button){color:var(--som-petrol);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(0,62,82,.35);transition:color .18s ease,text-decoration-color .18s ease}
body.som-rd .et_pb_bg_layout_dark :is(.et_pb_text,.et_pb_blurb_description) a:not(.et_pb_button){color:#fff!important;text-decoration-color:rgba(255,255,255,.45)}
@media (hover:hover){body.som-rd #main-content .et_pb_bg_layout_light:is(.et_pb_text,.et_pb_blurb) a:not(.et_pb_button):hover{color:var(--som-gold-ink);text-decoration-color:var(--som-gold)}}

/* ---------- Cabecera píldora (cabecera clásica de Divi) ---------- */
body.som-rd #main-header{top:12px!important;left:50%!important;right:auto;width:94%;max-width:1160px;transform:translateX(-50%);border-radius:999px;background:rgba(251,250,248,.80)!important;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(15,42,53,.08);box-shadow:0 10px 30px -18px rgba(2,42,56,.35);transition:box-shadow .3s var(--som-ease),background-color .3s ease}
body.som-rd.admin-bar #main-header{top:44px!important}
@media (max-width:782px){body.som-rd.admin-bar #main-header{top:58px!important}}
body.som-rd.som-scrolled #main-header{background:rgba(251,250,248,.92)!important;box-shadow:0 18px 40px -22px rgba(2,42,56,.45)}
body.som-rd #main-header .container{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:none;height:72px;padding:0 12px 0 24px}
body.som-rd #main-header .container:after{display:none}
body.som-rd #main-header .logo_container{position:static!important;width:auto!important;height:100%!important;float:none;flex:none}
body.som-rd #main-header .logo_helper{display:none}
body.som-rd #et-top-navigation{float:none!important;padding:0!important;padding-left:0!important;display:flex;align-items:center;height:100%}
@media (min-width:981px){body.som-rd #top-menu-nav,body.som-rd #top-menu{display:flex!important;align-items:center}}
@media (max-width:980px){body.som-rd #top-menu-nav{display:none!important}body.som-rd #main-header .container{height:64px;padding:0 10px 0 18px}}
body.som-rd #top-menu>li>a{padding-bottom:10px!important}
body.som-rd.et_header_style_left .et-fixed-header #et-top-navigation,body.som-rd.et_header_style_left #et-top-navigation{padding-top:0!important}
body.som-rd #et_mobile_nav_menu{margin:0!important;float:none}
body.som-rd #page-container{padding-top:0!important}
body.som-rd #et-main-area>#main-content>article>.entry-content>.et-l>.et_builder_inner_content>.et_pb_section:first-child,body.som-rd #et-main-area .et_pb_section.et_pb_section_0:not(.et_pb_fullwidth_section){padding-top:calc(var(--som-hh,80px) + 44px)!important}
body.som-rd:not(.et_pb_pagebuilder_layout) #main-content{padding-top:calc(var(--som-hh,80px) + 32px)}
body.som-rd #top-menu li{padding-right:6px}
body.som-rd #top-menu>li>a{font-family:var(--som-text)!important;font-size:15px!important;font-weight:600!important;color:var(--som-ink)!important;padding:10px 12px!important;border-radius:999px;transition:background-color .18s ease,color .18s ease;opacity:1!important}
@media (hover:hover){body.som-rd #top-menu>li>a:hover{background:rgba(0,62,82,.07)}}
body.som-rd #top-menu>li.current-menu-item>a,body.som-rd #top-menu>li.current-menu-ancestor>a{color:var(--som-petrol)!important;background:rgba(0,62,82,.06)}
body.som-rd #top-menu .menu-item-has-children>a:first-child:after{right:12px;top:10px;color:var(--som-gold-ink)}
body.som-rd #top-menu .menu-item-has-children>a:first-child{padding-right:30px!important}
/* CTA de teléfono que ya existe en el menú (botón dorado) */
body.som-rd #top-menu>li>a[href^="tel:"],body.som-rd #top-menu>li.som-menu-cta>a{background:var(--som-gold)!important;color:var(--som-deep)!important;padding:11px 20px!important;margin-left:6px;transition:background-color .18s ease,transform .12s ease}
@media (hover:hover){body.som-rd #top-menu>li>a[href^="tel:"]:hover{background:var(--som-gold-hi)!important}}
body.som-rd #top-menu>li>a[href^="tel:"]:active{transform:scale(.97)}
/* Desplegables */
body.som-rd #top-menu li ul.sub-menu{top:calc(100% + 6px);border:0;border-radius:18px;padding:10px;width:270px;background:#fff;box-shadow:0 24px 48px -20px rgba(2,42,56,.35);border-top:0!important}
body.som-rd #top-menu li li{padding:0}
body.som-rd #top-menu li li a{width:100%;padding:10px 14px!important;border-radius:12px;font-size:15px!important;font-weight:500!important;color:var(--som-ink)!important;transition:background-color .15s ease,padding-left .2s var(--som-ease)}
@media (hover:hover){body.som-rd #top-menu li li a:hover{background:var(--som-alt);padding-left:18px!important;opacity:1}}

/* ---------- Logo ---------- */
body.som-rd .som-logo{display:block;height:46px!important;width:auto!important;max-height:none!important;overflow:visible}
body.som-rd .logo_container a{display:inline-flex;align-items:center;height:100%}
body.som-rd .logo_container{display:flex;align-items:center}
@media (max-width:980px){body.som-rd .som-logo{height:46px!important}}
.som-logo .som-bubble{transform-box:fill-box;transform-origin:15% 100%}
.som-logo .som-glyph path{stroke-dasharray:1;stroke-dashoffset:0}
html.som-logo-play .som-logo .som-bubble{animation:somBubble .7s var(--som-ease) both}
html.som-logo-play .som-logo .som-c{animation:somDraw .9s var(--som-ease-io) .35s both}
html.som-logo-play .som-logo .som-j{animation:somDraw 1.1s var(--som-ease-io) .55s both}
html.som-logo-play .som-logo .som-words text{animation:somWord .7s var(--som-ease) both}
html.som-logo-play .som-logo .som-words text:nth-child(1){animation-delay:.25s}
html.som-logo-play .som-logo .som-words text:nth-child(2){animation-delay:.33s}
html.som-logo-play .som-logo .som-words text:nth-child(3){animation-delay:.55s}
@keyframes somBubble{from{opacity:0;transform:scale(.86) rotate(-6deg)}to{opacity:1;transform:none}}
@keyframes somDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes somWord{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
/* Al pasar el ratón por el logo: el monograma se vuelve a dibujar y la burbuja gira un poco */
@media (hover:hover) and (pointer:fine){
  .logo_container a:hover .som-logo .som-c{animation:somDraw .7s var(--som-ease-io) both}
  .logo_container a:hover .som-logo .som-j{animation:somDraw .85s var(--som-ease-io) .1s both}
  .som-logo .som-bubble{transition:transform .5s var(--som-ease)}
  .logo_container a:hover .som-logo .som-bubble{transform:rotate(-4deg) scale(1.04)}
}
.som-logo text{transform-box:fill-box}

/* ---------- Menú móvil ---------- */
@media (max-width:980px){
  body.som-rd #main-header{border-radius:28px}
  body.som-rd #et_mobile_nav_menu .mobile_menu_bar{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:rgba(0,62,82,.07);padding:0!important;margin-top:4px}
  body.som-rd #et_mobile_nav_menu .mobile_menu_bar:before{color:var(--som-petrol)!important;position:static;font-size:28px}
  body.som-rd .mobile_nav.opened .mobile_menu_bar:before{content:"\4d"}
  body.som-rd #mobile_menu{top:calc(100% + 12px)!important;left:0!important;right:0!important;width:auto!important;padding:10px 22px 22px!important;border:0!important;border-radius:24px;background:#fff!important;box-shadow:0 30px 60px -26px rgba(2,42,56,.5);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;animation:somMenuIn .26s var(--som-ease)}
  body.som-rd #mobile_menu li a{display:flex!important;align-items:center;justify-content:space-between;min-height:54px;padding:12px 2px!important;font-family:var(--som-head)!important;font-size:22px!important;font-weight:600!important;letter-spacing:-.01em;color:var(--som-ink)!important;border-bottom:1px solid var(--som-line)!important;background:none!important;opacity:1!important}
  body.som-rd #mobile_menu .menu-item-has-children>a:after{content:"";width:9px;height:9px;margin:0 6px 4px 12px;border-right:2px solid var(--som-gold-ink);border-bottom:2px solid var(--som-gold-ink);transform:rotate(45deg);transition:transform .25s ease}
  body.som-rd #mobile_menu .menu-item-has-children.is-open>a:after{transform:rotate(-135deg);margin-bottom:-4px}
  body.som-rd #mobile_menu .sub-menu{display:none!important;grid-template-columns:1fr 1fr;column-gap:14px;padding:4px 0 12px!important;margin:0!important;border-bottom:1px solid var(--som-line)}
  body.som-rd #mobile_menu .menu-item-has-children.is-open>.sub-menu{display:grid!important}
  body.som-rd #mobile_menu .sub-menu li{padding:0!important}
  body.som-rd #mobile_menu .sub-menu li a{min-height:44px;font-family:var(--som-text)!important;font-size:16px!important;font-weight:500!important;color:var(--som-body)!important;border:0!important;padding:8px 0!important}
  body.som-rd #mobile_menu li a[href^="tel:"]{justify-content:center;margin-top:16px;border:0!important;border-radius:999px;background:var(--som-gold)!important;color:var(--som-deep)!important;font-family:var(--som-text)!important;font-size:17px!important;font-weight:700!important}
}
@keyframes somMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- Botones ---------- */
body.som-rd #page-container #et-main-area .et_pb_button,body.som-rd #page-container .et-l--footer .et_pb_button{display:inline-flex;align-items:center;gap:10px;font-family:var(--som-text)!important;font-weight:700!important;font-size:16px!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;padding:16px 28px!important;border:0!important;border-radius:999px!important;color:var(--som-deep)!important;background-color:var(--som-gold)!important;background-image:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%)!important;background-size:250% 100%!important;background-position:120% 0!important;background-repeat:no-repeat!important;box-shadow:0 10px 24px -14px rgba(138,106,62,.7);transition:background-position .7s var(--som-ease),background-color .2s ease,transform .14s ease,box-shadow .25s ease!important}
body.som-rd #page-container #et-main-area .et_pb_button:after,body.som-rd #page-container .et-l--footer .et_pb_button:after{content:"→"!important;font-family:var(--som-text)!important;position:static!important;transform:none!important;opacity:1!important;margin:0!important;font-size:18px!important;line-height:1!important;display:inline-block!important;transition:transform .25s var(--som-ease)!important;color:inherit!important}
body.som-rd #page-container #et-main-area .et_pb_button:before,body.som-rd #page-container .et-l--footer .et_pb_button:before{display:none!important}
@media (hover:hover) and (pointer:fine){
  body.som-rd #page-container #et-main-area .et_pb_button:hover,body.som-rd #page-container .et-l--footer .et_pb_button:hover{background-position:-20% 0!important;background-color:var(--som-gold-hi)!important;padding:16px 28px!important;box-shadow:0 16px 32px -14px rgba(138,106,62,.8)}
  body.som-rd #page-container #et-main-area .et_pb_button:hover:after,body.som-rd #page-container .et-l--footer .et_pb_button:hover:after{transform:translateX(4px)!important}
}
body.som-rd #page-container #et-main-area .et_pb_button:active{transform:scale(.97)}
body.som-rd .et_pb_button:focus-visible{outline:3px solid var(--som-petrol);outline-offset:3px}
@media (max-width:767px){body.som-rd #page-container #et-main-area .et_pb_button{padding:15px 24px!important}}

/* ---------- Tarjetas y blurbs: planos en reposo, suben al pasar el ratón ---------- */
body.som-rd #et-main-area .et_pb_blurb{transition:transform .3s var(--som-ease),box-shadow .3s var(--som-ease)}
body.som-rd #et-main-area .et_pb_blurb .et-pb-icon{color:var(--som-gold-ink)!important;transition:transform .35s var(--som-ease)}
@media (hover:hover) and (pointer:fine){
  body.som-rd #et-main-area .et_pb_blurb:hover .et-pb-icon{transform:translateY(-3px) scale(1.06)}
  body.som-rd #et-main-area .et_pb_column[class*="et_pb_column_"]:has(>.et_pb_blurb:only-child):hover{transform:none}
}
body.som-rd #et-main-area .et_pb_image .et_pb_image_wrap{overflow:hidden;border-radius:inherit}
body.som-rd #et-main-area .et_pb_image img{transition:transform .9s var(--som-ease)}
@media (hover:hover) and (pointer:fine){body.som-rd #et-main-area .et_pb_image a:hover img{transform:scale(1.04)}}

/* Blog: tarjetas */
body.som-rd .et_pb_blog_grid .et_pb_post,body.som-rd .et_pb_posts .et_pb_post{border:1px solid var(--som-line)!important;border-radius:20px;overflow:hidden;background:#fff;transition:transform .3s var(--som-ease),box-shadow .3s var(--som-ease)}
@media (hover:hover) and (pointer:fine){
  body.som-rd .et_pb_blog_grid .et_pb_post:hover{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(2,42,56,.28)}
  body.som-rd .et_pb_blog_grid .et_pb_post:hover .et_pb_image_container img{transform:scale(1.04)}
}
body.som-rd .et_pb_blog_grid .et_pb_image_container img{transition:transform .9s var(--som-ease)}
body.som-rd .et_pb_blog_grid .entry-title a{color:var(--som-ink)!important}
body.som-rd .et_pb_blog_grid .more-link{color:var(--som-gold-ink)!important;font-weight:700}

/* Acordeones y toggles (FAQ) */
body.som-rd .et_pb_toggle{border:0!important;border-radius:16px;background:#fff!important;padding:20px 24px!important;margin-bottom:10px!important;box-shadow:inset 0 0 0 1px var(--som-line);transition:box-shadow .2s ease}
body.som-rd .et_pb_toggle_open{box-shadow:inset 0 0 0 1.5px var(--som-petrol)}
body.som-rd .et_pb_toggle_title{color:var(--som-ink)!important;font-size:18px!important;padding-right:40px}
body.som-rd .et_pb_toggle_title:before{color:var(--som-gold-ink)!important;transition:transform .25s var(--som-ease)}
body.som-rd .et_pb_toggle_open .et_pb_toggle_title:before{transform:translateY(-50%) rotate(180deg)}

/* ---------- Formularios Fluent ---------- */
body.som-rd .fluentform .ff-el-form-control{min-height:52px;padding:12px 16px;font-size:16px!important;color:var(--som-ink);background:#F4F7F8;border:1px solid var(--som-line);border-radius:12px;box-shadow:none;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
body.som-rd .fluentform textarea.ff-el-form-control{min-height:104px}
body.som-rd .fluentform .ff-el-form-control:focus{background:#fff;border-color:var(--som-petrol);box-shadow:0 0 0 4px rgba(0,62,82,.14);outline:0}
body.som-rd .fluentform .ff-el-input--label label{font-size:14px;font-weight:700;color:var(--som-ink)}
body.som-rd .fluentform .ff-btn-submit{width:100%;min-height:56px;border:0!important;border-radius:999px!important;background-color:var(--som-gold)!important;color:var(--som-deep)!important;font-family:var(--som-text)!important;font-weight:700;font-size:16px;background-image:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%)!important;background-size:250% 100%!important;background-position:120% 0!important;transition:background-position .7s var(--som-ease),background-color .2s ease,transform .12s ease}
@media (hover:hover){body.som-rd .fluentform .ff-btn-submit:hover{background-position:-20% 0!important;background-color:var(--som-gold-hi)!important;opacity:1}}
body.som-rd .fluentform .ff-btn-submit:active{transform:scale(.98)}
body.som-rd .fluentform .ff-el-tc label,body.som-rd .fluentform .ff_t_c{font-size:14px;line-height:1.5;color:var(--som-body)}

/* ---------- Popup #cita ---------- */
.som-popup{display:none;position:fixed;inset:0;z-index:100000;padding:24px 16px;background:rgba(2,42,56,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.som-popup.is-open{display:flex;align-items:flex-start;justify-content:center}
.som-popup-dialog{display:grid;grid-template-columns:5fr 7fr;width:100%;max-width:980px;margin:auto;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px rgba(2,42,56,.55);animation:somPopIn .26s var(--som-ease);flex-shrink:0}
.som-popup-aside{background:var(--som-deep);color:#F2F5F6;padding:clamp(28px,4vw,48px);background-image:radial-gradient(120% 80% at 0% 0%,rgba(201,165,116,.18),transparent 60%)}
.som-popup-form{position:relative;padding:clamp(28px,4vw,48px)}
.som-k{font-size:12px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold)!important;margin:0 0 10px!important;padding:0!important}
.som-popup-h{font-family:var(--som-head);font-size:clamp(24px,2.4vw,30px)!important;font-weight:600;line-height:1.15!important;letter-spacing:-.02em;color:#fff!important;margin:0 0 22px!important;padding:0!important}
.som-check{list-style:none!important;padding:0!important;margin:0 0 26px!important}
.som-check li{position:relative;padding:0 0 12px 28px!important;line-height:1.5;color:rgba(242,245,246,.9);list-style:none!important}
.som-check li:before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2px solid var(--som-gold);border-bottom:2px solid var(--som-gold);transform:rotate(-45deg)}
.som-k-tel{margin-top:6px!important}
.som-popup-tel{margin:0!important;padding:0!important}
.som-popup-tel a{font-family:var(--som-head);font-size:34px;font-weight:700;letter-spacing:-.02em;color:#fff!important;text-decoration:none}
.som-popup-hours{font-size:14px!important;color:rgba(242,245,246,.7)!important;margin-top:4px!important}
.som-popup-ft{font-family:var(--som-head);font-size:24px!important;font-weight:600;color:var(--som-ink)!important;margin:0 0 18px!important;padding:0!important}
.som-popup-close{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:999px;font-size:17px;line-height:1;color:var(--som-ink);background:rgba(0,62,82,.07);cursor:pointer;transition:background-color .18s ease,transform .18s var(--som-ease)}
@media (hover:hover){.som-popup-close:hover{background:rgba(0,62,82,.14);transform:rotate(90deg)}}
.som-popup-close:focus-visible{outline:3px solid var(--som-petrol);outline-offset:2px}
html.som-popup-open{overflow:hidden}
html.som-popup-open #main-header{visibility:hidden}
@keyframes somPopIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:767px){
  .som-popup{padding:0}
  .som-popup-dialog{grid-template-columns:1fr;border-radius:0;min-height:100%;margin:0}
  .som-popup-aside{padding:26px 20px 22px}
  .som-popup-aside .som-check,.som-popup-aside .som-k-tel,.som-popup-tel,.som-popup-hours{display:none}
  .som-popup-h{margin:0!important;font-size:22px!important;padding-right:44px!important}
  .som-popup-form{padding:22px 20px 40px}
  .som-popup-close{position:fixed;top:12px;right:12px;background:#fff;box-shadow:0 8px 20px -10px rgba(2,42,56,.45)}
}

/* ---------- Barra de contacto móvil ---------- */
.som-mbar{display:none}
@media (max-width:767px){
  .som-mbar{display:grid;grid-template-columns:auto 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:9990;padding:8px;border-radius:999px;background:rgba(2,42,56,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -16px rgba(2,42,56,.6);transform:translateY(140%);transition:transform .35s var(--som-ease)}
  body.som-mbar-show .som-mbar{transform:none}
  html.som-popup-open .som-mbar{display:none}
  .som-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;font-family:var(--som-text);font-weight:700;font-size:15px;text-decoration:none}
  .som-mbar-call{color:#fff!important;background:rgba(255,255,255,.1)}
  .som-mbar-cta{color:var(--som-deep)!important;background:var(--som-gold)}
  /* el botón de WhatsApp sube para no solaparse */
  body.som-mbar-show .joinchat{transform:translateY(-72px);transition:transform .35s var(--som-ease)}
}

/* ---------- Movimiento ---------- */
.som-split .som-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.som-split .som-w>span{display:inline-block;animation:somUp .9s var(--som-ease) both}
@keyframes somUp{from{transform:translateY(105%)}to{transform:none}}
.som-rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--som-ease),transform .8s var(--som-ease)}
.som-rv.som-stg{opacity:1;transform:none}
.som-rv.som-stg>.et_pb_column{opacity:0;transform:translateY(24px);transition:opacity .8s var(--som-ease),transform .8s var(--som-ease);transition-delay:calc(var(--som-i,0) * 70ms)}
.som-rv.som-in,.som-rv.som-stg.som-in>.et_pb_column{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .som-rv,.som-rv.som-stg>.et_pb_column{opacity:1!important;transform:none!important;transition:none!important}
  .som-split .som-w>span,.som-popup-dialog,#mobile_menu{animation:none!important}
}

/* ---------- Legibilidad global (sin tocar contenido) ---------- */
/* títulos dorados sobre fondo claro (contraste 2,2:1) -> tinta; el dorado queda para lo que se pulsa */
body.som-rd #et-main-area .som-ink,body.som-rd #et-main-area .som-ink a{color:var(--som-ink)!important}
/* texto justificado: en pantallas estrechas crea ríos de espacio */



/* Hero: el separador dorado centrado bajo el titular centrado */


/* ---------- Pie 2026 ---------- */
.som-footer{position:relative;overflow:hidden;padding:clamp(64px,8vw,104px) 0 28px!important;background:#022A38!important;background-image:radial-gradient(70% 90% at 100% 0%,rgba(201,165,116,.14),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(10,80,104,.55),transparent 60%)!important;color:rgba(242,245,246,.78)}
.som-footer .et_pb_row{width:92%!important;max-width:1200px!important;padding:0!important}
.som-footer .som-ft-main{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px}
.som-footer .som-ft-main>.et_pb_column{width:auto!important;margin:0!important}
.som-footer p,.som-footer li{color:rgba(242,245,246,.78)!important;font-size:15px!important;line-height:1.6!important}
.som-ft-logo img{max-width:220px!important;width:220px}
.som-ft-claim{margin-top:22px!important;max-width:34ch}
.som-ft-btn{margin-top:22px!important}
.som-ft-seal{margin-top:28px!important}
.som-ft-seal img{width:92px!important;transition:transform .5s var(--som-ease)}
@media (hover:hover){.som-ft-seal a:hover img{transform:rotate(-8deg) scale(1.06)}}
.som-ft-h{font-family:var(--som-text)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold)!important;margin:6px 0 16px!important;padding:0!important}
.som-ft-list,.som-ft-contact{list-style:none!important;padding:0!important;margin:0!important}
.som-ft-list li,.som-ft-contact li{list-style:none!important;padding:0 0 10px!important}
.som-footer a{color:#F2F5F6!important;text-decoration:none!important;background:linear-gradient(var(--som-gold),var(--som-gold)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--som-ease),color .2s ease}
@media (hover:hover){.som-footer a:hover{color:var(--som-gold-soft)!important;background-size:100% 1px}}
.som-ft-contact span{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,245,246,.5);margin-bottom:2px}
.som-ft-contact li:first-child a{font-family:var(--som-head);font-size:26px;font-weight:700;letter-spacing:-.02em}
.som-ft-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px!important}
.som-ft-social a{padding:7px 14px!important;border:1px solid rgba(242,245,246,.2);border-radius:999px;font-size:13px;background:none!important;transition:border-color .2s ease,background-color .2s ease!important}
@media (hover:hover){.som-ft-social a:hover{border-color:var(--som-gold);background-color:rgba(201,165,116,.12)!important}}
.som-ft-zones{margin-top:56px!important;padding-top:24px!important;border-top:1px solid rgba(242,245,246,.12)}
.som-fz{font-size:13px!important;color:rgba(242,245,246,.55)!important}
.som-fz a{color:rgba(242,245,246,.72)!important;white-space:nowrap}
.som-fz-label{color:var(--som-gold);font-weight:700;letter-spacing:.04em;margin-right:4px}
.som-ft-legal{margin-top:20px!important}
.som-legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px!important;color:rgba(242,245,246,.5)!important}
.som-legal-links{display:flex;gap:18px}
.som-legal a{color:rgba(242,245,246,.72)!important}
@media (max-width:980px){.som-footer .som-ft-main{grid-template-columns:1fr 1fr;gap:36px}.som-footer .som-ft-brand{grid-column:1/-1}}
@media (max-width:600px){.som-footer .som-ft-main{grid-template-columns:1fr}.som-legal{flex-direction:column}.som-footer{padding-bottom:96px!important}}

.som-ft-brand .et_pb_button_module_wrapper,.som-ft-brand .et_pb_module:has(>.som-ft-btn){text-align:left!important;justify-content:flex-start!important}
.som-ft-brand .et_pb_button_module_wrapper{margin-top:22px!important}
.som-ft-brand .et_pb_image{margin-bottom:0!important;text-align:left!important}
.som-footer .et_pb_column>.et_pb_module{margin-bottom:0!important}

/* ---------- Secciones nuevas (FAQ y CTA final) ---------- */
.som-faq-sec,.som-cta-sec{padding:clamp(72px,9vw,120px) 0!important}
.som-faq-sec .et_pb_row,.som-cta-sec .et_pb_row{width:92%!important;max-width:1200px!important}
.som-faq-row{align-items:flex-start;gap:clamp(32px,5vw,72px)}
@media (min-width:981px){.som-sticky{position:sticky!important;top:120px;align-self:flex-start}}
.som-k-dark{font-size:12px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin:0 0 12px!important;padding:0!important}
.som-faq-intro h2,.som-cta-copy h2{font-size:clamp(1.9rem,3vw,2.75rem)!important;color:var(--som-ink)!important;margin:0 0 16px!important;padding:0!important}
.som-faq-intro p{font-size:17px!important}
.som-cta-sec{background:#003E52!important;background-image:radial-gradient(80% 120% at 100% 0%,rgba(201,165,116,.2),transparent 55%)!important}
.som-cta-copy h2{color:#fff!important;max-width:20ch}
.som-cta-copy p{color:rgba(242,245,246,.82)!important;font-size:18px!important;max-width:52ch}
.som-cta-row{align-items:center}
.som-cta-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.som-cta-tel{color:rgba(242,245,246,.8)!important;font-size:16px!important;margin:0!important;padding:0!important}
.som-cta-tel a{font-family:var(--som-head);font-size:28px;font-weight:700;color:#fff!important;text-decoration:none!important;margin-left:4px}
.som-cta-hours{color:rgba(242,245,246,.6)!important;font-size:14px!important}


.som-local-sec{padding:clamp(72px,9vw,120px) 0!important;border-top:1px solid var(--som-line)}
.som-local-sec .et_pb_row{width:92%!important;max-width:1200px!important}
.som-local-row{align-items:flex-start;gap:clamp(32px,5vw,72px)}
.som-local-head h2{font-size:clamp(1.8rem,2.8vw,2.5rem)!important;color:var(--som-ink)!important;margin:0!important;padding:0!important}
.som-prose p,.som-prose li{font-size:17px!important;line-height:1.7!important;color:var(--som-body)}
.som-prose h3{font-size:1.35rem!important;color:var(--som-ink)!important;margin:28px 0 8px!important;padding:0!important}
.som-prose ul{padding-left:0!important;list-style:none!important}
.som-prose ul li{position:relative;padding:0 0 8px 26px!important;list-style:none!important}
.som-prose ul li:before{content:"";position:absolute;left:2px;top:.6em;width:12px;height:7px;border-left:2px solid var(--som-gold-ink);border-bottom:2px solid var(--som-gold-ink);transform:rotate(-45deg)}



/* Hero de la home: separador centrado bajo el titular centrado */
body.som-rd.home #main-content .et_pb_section_0 .et_pb_divider{margin-left:auto!important;margin-right:auto!important}

/* Submenús: puente invisible para que no se cierren al bajar el ratón */
@media (min-width:981px){
  body.som-rd #top-menu li.menu-item-has-children{position:relative}
  body.som-rd #top-menu li ul.sub-menu::before{content:"";position:absolute;left:-10px;right:-10px;top:-22px;height:22px}
  body.som-rd #top-menu>li.menu-item-has-children::after{content:"";position:absolute;left:-8px;right:-8px;top:100%;height:26px}
  body.som-rd #top-menu li.menu-item-has-children:hover>ul.sub-menu,body.som-rd #top-menu li.menu-item-has-children:focus-within>ul.sub-menu{visibility:visible!important;opacity:1!important;pointer-events:auto}
  body.som-rd #top-menu li ul.sub-menu{transition:opacity .18s ease,visibility 0s linear .25s!important}
  body.som-rd #top-menu li.menu-item-has-children:hover>ul.sub-menu{transition-delay:0s!important}
}

/* Radio de borde homogéneo */
:root{--som-r:20px}
body.som-rd #main-content :is(.et_pb_image_wrap,.et_pb_image img,.et_pb_gallery_image img,.et_pb_video_box,.et_pb_video iframe,iframe[src*="google.com/maps"]),
body.som-rd .som-r{border-radius:var(--som-r)!important}
body.som-rd #main-content .et_pb_image_wrap{overflow:hidden}
body.som-rd #main-content .et_pb_toggle{border-radius:var(--som-r)!important}
body.som-rd .fluentform .ff-el-form-control{border-radius:12px}
body.som-rd .som-popup-dialog{border-radius:var(--som-r)}
@media (max-width:767px){body.som-rd .som-popup-dialog{border-radius:0}}

/* Variantes de popup */
.som-popup--short .som-popup-dialog{max-width:820px}
.som-popup--conv .som-popup-form{min-height:540px}
.som-popup--conv .ffc_conv_form,.som-popup--conv .ff_conv_app{min-height:460px}

/* Páginas legales */
.som-legal-sec{padding:calc(var(--som-hh,80px) + 56px) 0 96px!important}
.som-legal-sec .et_pb_row{max-width:820px!important;width:92%!important}
.som-legal-h1 h1{font-size:clamp(2.2rem,4vw,3.4rem)!important;color:var(--som-ink)!important;margin-bottom:24px!important}
.som-legal-body h2{font-size:1.35rem!important;color:var(--som-ink)!important;margin:34px 0 10px!important;padding:0!important}
.som-legal-body p,.som-legal-body li{font-size:17px!important;line-height:1.7!important}
.som-legal-body ul{padding-left:20px!important}

/* =========================================================
   Blog · entrada (lectura moderna, progreso, índice, relacionados)
   ========================================================= */
.som-progress{position:fixed;top:var(--wp-admin--admin-bar--height,0);left:0;right:0;height:3px;z-index:100001;pointer-events:none}
.som-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--som-gold),var(--som-gold-hi));transform:scaleX(0);transform-origin:0 50%;will-change:transform;border-radius:0 2px 2px 0}
.som-readchip{position:fixed;left:50%;bottom:clamp(16px,2vw,24px);z-index:9989;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:999px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--som-line);box-shadow:0 12px 30px -12px rgba(2,42,56,.35);font:600 14px/1 var(--som-text);color:var(--som-ink);white-space:nowrap;opacity:0;transform:translate(-50%,10px);transition:opacity .25s var(--som-ease),transform .25s var(--som-ease);pointer-events:none;font-variant-numeric:tabular-nums}
.som-readchip.is-on{opacity:1;transform:translate(-50%,0)}
.som-readchip svg{width:24px;height:24px;flex:0 0 24px;transform:rotate(-90deg)}
.som-readchip circle{fill:none;stroke:var(--som-alt);stroke-width:4}
.som-readchip .som-arc{stroke:var(--som-gold);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.som-readchip.is-done .som-arc{stroke:#2E7D5B}
html.som-popup-open .som-readchip{display:none}
@media (max-width:980px){.som-readchip{font-size:13px;bottom:calc(84px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.som-readchip,.som-readchip.is-on{transition:none;transform:translate(-50%,0)}}
@media print{.som-progress,.som-readchip,.som-aside .som-toc{display:none}}
body.som-rd .som-rt{white-space:nowrap}

/* Cuerpo del artículo */
body.som-rd.single-post .et_pb_post_content{background:#fff;border:1px solid var(--som-line);box-shadow:0 30px 60px -40px rgba(2,42,56,.25)!important;padding:clamp(26px,4.5vw,64px)!important}
body.som-rd.single-post .et_pb_post_content :is(p,li){font-size:clamp(17px,1.1vw + 4px,18.5px)!important;line-height:1.75!important;color:var(--som-body)}
body.som-rd.single-post .et_pb_post_content p{margin:0 0 1.15em}
body.som-rd.single-post .et_pb_post_content h2{font-size:clamp(25px,2.2vw,32px)!important;color:var(--som-ink)!important;margin:2em 0 .6em!important;padding-top:0!important;scroll-margin-top:calc(var(--som-hh,80px) + 28px)}
body.som-rd.single-post .et_pb_post_content h3{font-size:clamp(20px,1.5vw,23px)!important;color:var(--som-ink)!important;margin:1.6em 0 .5em!important;scroll-margin-top:calc(var(--som-hh,80px) + 28px)}
body.som-rd.single-post .et_pb_post_content :is(h2,h3):first-child{margin-top:0!important}
body.som-rd.single-post .et_pb_post_content ul,body.som-rd.single-post .et_pb_post_content ol{padding-left:1.3em!important;margin:0 0 1.3em!important}
body.som-rd.single-post .et_pb_post_content ul li{list-style:none;position:relative;padding-left:.2em;margin-bottom:.45em}
body.som-rd.single-post .et_pb_post_content ul li::before{content:"";position:absolute;left:-1.05em;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--som-gold)}
body.som-rd.single-post .et_pb_post_content ol li{margin-bottom:.45em}
body.som-rd.single-post .et_pb_post_content ol li::marker{color:var(--som-gold-ink);font-weight:700}
body.som-rd.single-post .et_pb_post_content strong{color:var(--som-ink)}
body.som-rd.single-post .et_pb_post_content blockquote{margin:1.6em 0;padding:18px 24px;border-left:3px solid var(--som-gold);background:var(--som-bg);border-radius:0 var(--som-r,20px) var(--som-r,20px) 0;font-size:1.05em;color:var(--som-ink)}
body.som-rd.single-post .et_pb_post_content img{border-radius:var(--som-r,20px)}
body.som-rd.single-post .et_pb_post_content table{width:100%;border-collapse:separate;border-spacing:0;margin:1.6em 0;font-size:16px;border:1px solid var(--som-line);border-radius:14px;overflow:hidden;display:block;overflow-x:auto}
body.som-rd.single-post .et_pb_post_content :is(th,td){padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--som-line);line-height:1.5}
body.som-rd.single-post .et_pb_post_content th{background:var(--som-petrol);color:#fff;font-family:var(--som-head);font-weight:600}
body.som-rd.single-post .et_pb_post_content tr:nth-child(even) td{background:var(--som-bg)}
body.som-rd.single-post .et_pb_post_content tr:last-child td{border-bottom:0}
body.som-rd.single-post .som-summary{background:var(--som-alt);border:1px solid var(--som-line);border-radius:var(--som-r,20px);padding:22px 26px 10px;margin:0 0 2em}
body.som-rd.single-post .som-summary p:first-child{font-family:var(--som-head);font-size:13px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin-bottom:.6em}
body.som-rd.single-post .som-cta-inline{background:var(--som-petrol);color:#E6EEF0!important;border-radius:var(--som-r,20px);padding:24px 28px;margin-top:2em}
body.som-rd.single-post .som-cta-inline a{color:var(--som-gold-hi)!important;font-weight:700}
/* Índice: lateral fijo en escritorio, desplegable en móvil */
body.som-rd .som-aside{position:sticky;top:calc(var(--som-hh,80px) + 24px);margin-top:28px}
body.som-rd .som-toc{background:#fff;border:1px solid var(--som-line);border-radius:var(--som-r,20px);padding:20px 22px;margin-bottom:24px}
body.som-rd .som-toc-h{font:700 12px/1 var(--som-head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin:0 0 12px!important;padding:0!important}
body.som-rd .som-toc ol{list-style:none!important;margin:0!important;padding:0!important;counter-reset:toc;max-height:46vh;overflow:auto}
body.som-rd .som-toc li{counter-increment:toc;margin:0!important;padding:0!important}
body.som-rd .som-toc li::before{display:none!important}
body.som-rd .som-toc a{display:grid;grid-template-columns:26px 1fr;padding:7px 0;font-size:15px!important;line-height:1.35;color:var(--som-body)!important;text-decoration:none!important;border-left:2px solid transparent;transition:color .2s ease}
body.som-rd .som-toc a::before{content:counter(toc,decimal-leading-zero);font:600 12px/1.6 var(--som-head);color:var(--som-line)}
body.som-rd .som-toc a:hover,body.som-rd .som-toc a.is-active{color:var(--som-petrol)!important}
body.som-rd .som-toc a.is-active::before{color:var(--som-gold)}
body.som-rd .som-toc-m{display:none}
@media (max-width:980px){
  body.som-rd .som-aside{position:static}
  body.som-rd .som-aside .som-toc{display:none}
  body.som-rd .som-toc-m{display:block;margin:0 0 1.8em;border:1px solid var(--som-line);border-radius:16px;background:var(--som-bg)}
  body.som-rd .som-toc-m summary{cursor:pointer;padding:14px 18px;font:600 15px var(--som-head);color:var(--som-ink);list-style:none}
  body.som-rd .som-toc-m summary::after{content:"+";float:right;color:var(--som-gold-ink)}
  body.som-rd .som-toc-m[open] summary::after{content:"–"}
  body.som-rd .som-toc-m .som-toc{border:0;margin:0;padding:0 18px 12px;background:transparent}
  body.som-rd .som-toc-m .som-toc-h{display:none}
}

/* Relacionados (sustituye al portfolio antiguo) */
body.som-rd .som-old-related{display:none!important}
.som-rel{position:relative}
.som-rel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.som-rel-head .som-k{margin:0 0 8px!important}
.som-rel-head h2{margin:0!important;padding:0!important;font-size:clamp(28px,3vw,40px)!important;color:var(--som-ink)!important}
.som-rel-nav{display:flex;gap:10px;align-items:center}
.som-rel-nav a{font-weight:700;color:var(--som-petrol)!important;margin-right:8px;white-space:nowrap}
.som-rel-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--som-line);background:#fff;color:var(--som-ink);font-size:18px;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}
.som-rel-nav button:hover:not(:disabled){background:var(--som-petrol);color:#fff;border-color:var(--som-petrol)}
.som-rel-nav button:disabled{opacity:.35;cursor:default}
.som-rel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 60px)/4));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 24px;margin:0 -2px}
.som-rel-track::-webkit-scrollbar{display:none}
.som-rel-card{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--som-line);border-radius:var(--som-r,20px);overflow:hidden;text-decoration:none!important;color:inherit;transition:transform .35s var(--som-ease),box-shadow .35s var(--som-ease)}
.som-rel-img{aspect-ratio:16/10;overflow:hidden;background:var(--som-alt)}
.som-rel-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--som-ease)}
.som-rel-body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.som-rel-cat{font:700 11px/1 var(--som-head);letter-spacing:.12em;text-transform:uppercase;color:var(--som-gold-ink)}
.som-rel-t{font:600 18px/1.3 var(--som-head);letter-spacing:-.01em;color:var(--som-ink);margin:0}
.som-rel-m{margin-top:auto;font-size:13px;color:#6B7C83;display:flex;justify-content:space-between;gap:8px}
.som-rel-m b{color:var(--som-petrol);font-weight:700}
@media (hover:hover){
  .som-rel-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -20px rgba(2,42,56,.3)}
  .som-rel-card:hover .som-rel-img img{transform:scale(1.05)}
}
@media (max-width:980px){.som-rel-track{grid-auto-columns:minmax(250px,72%)}.som-rel-nav a{display:none}}
@media (max-width:600px){.som-rel-head{align-items:center}.som-rel-nav button{width:40px;height:40px}}
body.som-rd.single-post .et_pb_post_content p{padding-bottom:0!important}
body.som-rd.single-post .et_pb_post_content li p{margin:0}
@media (max-width:980px){
  body.som-rd.single-post .et_pb_section_1_tb_body > .et_pb_row{width:94%!important}
  body.som-rd.single-post .et_pb_post_content{padding:26px 20px!important}
  body.som-rd.single-post .et_pb_post_content table{font-size:14.5px}
  body.som-rd.single-post .et_pb_post_content :is(th,td){padding:10px 12px}
}

/* Mapa · del espacio al despacho */
.som-geo{overflow:hidden}
.som-geo-ov{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,#0B3B4C 0%,#04202B 45%,#010D12 100%);transition:opacity .9s var(--som-ease),transform 1.1s var(--som-ease)}
.som-geo-stars{position:absolute;inset:-10%;background-image:radial-gradient(1px 1px at 12% 22%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 72% 14%,#fff9 50%,transparent 51%),radial-gradient(1.5px 1.5px at 38% 78%,#ffffff70 50%,transparent 51%),radial-gradient(1px 1px at 88% 66%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 22% 58%,#fff6 50%,transparent 51%),radial-gradient(1.2px 1.2px at 58% 36%,#fff7 50%,transparent 51%),radial-gradient(1px 1px at 6% 90%,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 94% 30%,#fff7 50%,transparent 51%);background-size:420px 420px;animation:som-drift 40s linear infinite;opacity:.8}
@keyframes som-drift{to{transform:translate3d(-60px,-30px,0)}}
.som-geo-c{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.som-geo-ov.is-run .som-geo-c{opacity:1}
.som-geo-pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;opacity:0;transition:opacity .4s ease}
.som-geo-pin span,.som-geo-pin::after{position:absolute;inset:0;border-radius:50%;background:var(--som-gold)}
.som-geo-pin::after{content:"";animation:som-ping 1.6s cubic-bezier(0,0,.2,1) infinite;opacity:.6}
@keyframes som-ping{to{transform:scale(3.4);opacity:0}}
.som-geo-ov.is-pin .som-geo-pin{opacity:1}
.som-geo-cap{position:absolute;left:0;right:0;bottom:9%;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--som-ease)}
.som-geo-cap .som-k{color:var(--som-gold)!important;margin:0 0 6px!important}
.som-geo-t{font:600 clamp(20px,2.4vw,30px)/1.2 var(--som-head)!important;color:#fff!important;margin:0!important;padding:0!important;letter-spacing:-.02em}
.som-geo-ov.is-pin .som-geo-cap{opacity:1;transform:none}
.som-geo-ov.is-out{opacity:0;pointer-events:none}
.som-geo-card{position:absolute;z-index:2;left:clamp(14px,3vw,40px);bottom:clamp(14px,3vw,40px);display:flex;align-items:center;gap:14px;max-width:calc(100% - 28px);padding:14px 18px;border-radius:var(--som-r,20px);background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 40px -18px rgba(2,42,56,.45);color:var(--som-body)!important;text-decoration:none!important;font-size:14px;line-height:1.45;opacity:0;transform:translateY(14px);transition:opacity .6s var(--som-ease) .2s,transform .6s var(--som-ease) .2s}
.som-geo-card.is-on{opacity:1;transform:none}
.som-geo-card b{color:var(--som-ink);font-family:var(--som-head)}
.som-geo-dot{width:12px;height:12px;border-radius:50%;background:var(--som-gold);box-shadow:0 0 0 6px rgba(201,165,116,.25);flex:0 0 12px}
.som-geo-go{font-weight:700;color:var(--som-petrol);white-space:nowrap;margin-left:6px}
@media (max-width:600px){.som-geo-go{display:none}}
@media (prefers-reduced-motion:reduce){.som-geo-ov{display:none}.som-geo-card{opacity:1;transform:none}}

/* =========================================================
   Zonas: mega menú, chips de barrios, situaciones, enlazado entre zonas
   ========================================================= */
@media (min-width:981px){
  body.som-rd #top-menu{position:relative}
  body.som-rd #top-menu>li.som-mega{position:static!important}
  body.som-rd #top-menu>li.som-mega>ul.sub-menu{left:auto!important;right:-12px;width:min(900px,86vw);display:grid!important;grid-template-columns:1.25fr 1fr .8fr 1fr;gap:6px 18px;padding:22px 22px 18px}
  body.som-rd #top-menu>li.som-mega>ul.sub-menu>li{position:static;width:auto!important}
  body.som-rd #top-menu>li.som-mega>ul.sub-menu>li>a{font:700 11px/1 var(--som-head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;padding:6px 14px 10px!important;pointer-events:auto}
  body.som-rd #top-menu>li.som-mega>ul.sub-menu>li>a:hover{background:none!important;padding-left:14px!important}
  body.som-rd #top-menu>li.som-mega>ul.sub-menu>li::after,body.som-rd #top-menu>li.som-mega>ul.sub-menu>li>a::after{display:none!important}
  body.som-rd #top-menu li.som-mega ul ul{position:static!important;visibility:inherit!important;opacity:inherit!important;box-shadow:none!important;width:auto!important;padding:0!important;margin:0!important;background:none!important;transform:none!important;display:block!important;border-radius:0}
  body.som-rd #top-menu li.som-mega ul ul::before{display:none}
  body.som-rd #top-menu li.som-mega ul ul li{display:block!important;float:none!important;width:100%!important;margin:0!important}
  body.som-rd #top-menu li.som-mega ul ul li a{display:block;padding:6px 14px!important;font-size:14.5px!important;line-height:1.35!important}
}
@media (max-width:980px){
  body.som-rd #mobile_menu .som-mega>.sub-menu{grid-template-columns:1fr!important}
  body.som-rd #mobile_menu .som-mega .sub-menu .sub-menu{display:grid!important;grid-template-columns:1fr 1fr;border-bottom:0;padding:0 0 8px!important}
  body.som-rd #mobile_menu .som-mega>.sub-menu>li>a{font:700 11px/1 var(--som-head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;min-height:34px;pointer-events:none}
}
body.som-rd .som-chips-h{font:700 11px/1 var(--som-head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin:22px 0 10px!important}
body.som-rd .som-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none!important;margin:0!important;padding:0!important}
body.som-rd .som-chips li{list-style:none;margin:0!important;padding:6px 12px!important;border-radius:999px;background:#fff;border:1px solid var(--som-line);font-size:14px!important;line-height:1.2!important;color:var(--som-ink)}
body.som-rd .som-chips li::before{display:none!important}
body.som-rd .som-sit{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
body.som-rd .som-sit article{position:relative;background:var(--som-bg);border:1px solid var(--som-line);border-radius:var(--som-r,20px);padding:24px 22px 22px;transition:transform .3s var(--som-ease),box-shadow .3s var(--som-ease),border-color .3s ease}
body.som-rd .som-sit-n{display:block;font:700 13px/1 var(--som-head);color:var(--som-gold);margin-bottom:16px;letter-spacing:.06em}
body.som-rd .som-sit h3{font-size:19px!important;color:var(--som-ink)!important;margin:0 0 8px!important;padding:0!important}
body.som-rd .som-sit p{font-size:15.5px!important;line-height:1.6!important;margin:0!important;padding:0!important}
@media (hover:hover){body.som-rd .som-sit article:hover{transform:translateY(-4px);border-color:var(--som-gold-soft);box-shadow:0 20px 40px -24px rgba(2,42,56,.3)}}
body.som-rd .som-sit-cta{margin-top:26px!important;text-align:center;font-size:17px!important}
body.som-rd .som-sit-cta a{font-weight:700;color:var(--som-petrol)!important}
@media (max-width:980px){body.som-rd .som-sit{grid-template-columns:1fr 1fr}}
@media (max-width:600px){body.som-rd .som-sit{grid-template-columns:1fr}}
body.som-rd .som-zones-head{max-width:720px}
body.som-rd .som-znear{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none!important;margin:28px 0!important;padding:0!important}
body.som-rd .som-znear li{margin:0!important;padding:0!important;list-style:none}
body.som-rd .som-znear li::before{display:none!important}
body.som-rd .som-znear a{display:flex;flex-direction:column;gap:8px;height:100%;padding:18px 20px;border-radius:var(--som-r,20px);background:#fff;border:1px solid var(--som-line);font:600 16.5px/1.3 var(--som-head);color:var(--som-ink)!important;text-decoration:none!important;transition:transform .3s var(--som-ease),box-shadow .3s var(--som-ease)}
body.som-rd .som-znear a span{font:700 10.5px/1 var(--som-head);letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)}
body.som-rd .som-znear a::after{content:"→";margin-top:auto;color:var(--som-gold-ink);transition:transform .3s var(--som-ease)}
@media (hover:hover){body.som-rd .som-znear a:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(2,42,56,.3)}body.som-rd .som-znear a:hover::after{transform:translateX(4px)}}
body.som-rd .som-zall{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:24px;margin-top:10px;padding:26px;border-radius:var(--som-r,20px);background:#fff;border:1px solid var(--som-line)}
body.som-rd .som-zall-h{font:700 11px/1 var(--som-head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin:0 0 10px!important;padding:0!important}
body.som-rd .som-zall ul{list-style:none!important;margin:0!important;padding:0!important}
body.som-rd .som-zall li{list-style:none;margin:0!important;padding:3px 0!important;font-size:15px!important}
body.som-rd .som-zall li::before{display:none!important}
body.som-rd .som-zall a{color:var(--som-body)!important;text-decoration:none!important}
body.som-rd .som-zall a:hover{color:var(--som-petrol)!important;text-decoration:underline!important}
body.som-rd .som-zall [aria-current]{font-weight:700;color:var(--som-ink)}
body.som-rd .som-zall-more{margin-top:18px!important;font-size:15px!important}
body.som-rd .som-zall-more a{font-weight:700;color:var(--som-petrol)!important}
@media (max-width:980px){body.som-rd .som-znear{grid-template-columns:1fr 1fr}body.som-rd .som-zall{grid-template-columns:1fr 1fr}}
@media (max-width:520px){body.som-rd .som-znear{grid-template-columns:1fr}}

/* Abierto / cerrado */
.som-open{display:inline-flex;align-items:center;gap:8px;font:600 13px/1.2 var(--som-text);color:var(--som-body);white-space:nowrap}
.som-open i{position:relative;width:8px;height:8px;border-radius:50%;background:#B4483C;flex:0 0 8px}
.som-open.is-open i{background:#2E9B62}
.som-open.is-open i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#2E9B62;animation:som-ping 1.8s cubic-bezier(0,0,.2,1) infinite}
.som-popup-aside .som-open{color:rgba(242,245,246,.85);margin-top:10px}
.som-cta-sec .som-open{color:#D9E6EA;margin-top:8px}
.som-open--bar{position:absolute;left:50%;top:-34px;transform:translateX(-50%);background:#fff;padding:6px 12px;border-radius:999px;box-shadow:0 8px 20px -10px rgba(2,42,56,.4);font-size:12px}
@media (prefers-reduced-motion:reduce){.som-open.is-open i::after{animation:none}}

/* CTA final de las entradas: contraste */
body.som-rd.single-post .et_pb_post_content .som-post-cta p{color:#DCE7EB!important}
body.som-rd.single-post .et_pb_post_content .som-post-cta .som-post-cta-h{color:#fff!important}
body.som-rd.single-post .et_pb_post_content .som-post-cta a:not(.som-post-cta-btn){color:#fff!important;text-decoration-color:rgba(255,255,255,.5)!important}
body.som-rd.single-post .et_pb_post_content .som-post-cta a.som-post-cta-btn{color:var(--som-deep)!important;text-decoration:none!important}

/* Índice de Rank Math */
body.som-rd #rank-math-toc{background:var(--som-bg);border:1px solid var(--som-line);border-radius:var(--som-r,20px);padding:22px 26px;margin:0 0 2em}
body.som-rd #rank-math-toc h2{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--som-gold-ink)!important;margin:0 0 12px!important}
body.som-rd #rank-math-toc nav ul{list-style:none!important;margin:0!important;padding:0!important;counter-reset:rmtoc}
body.som-rd #rank-math-toc nav li{counter-increment:rmtoc;margin:0!important;padding:0!important}
body.som-rd #rank-math-toc nav li::before{display:none!important}
body.som-rd #rank-math-toc nav a{display:grid;grid-template-columns:30px 1fr;padding:6px 0;font-size:16px!important;line-height:1.4;color:var(--som-ink)!important;text-decoration:none!important}
body.som-rd #rank-math-toc nav a::before{content:counter(rmtoc,decimal-leading-zero);font:600 13px/1.6 var(--som-head);color:var(--som-gold)}
body.som-rd #rank-math-toc nav a:hover{color:var(--som-petrol)!important}

/* Migas de pan (Rank Math) */
.som-bc{position:absolute;left:0;right:0;z-index:5;top:calc(var(--som-hh,96px) + 14px);pointer-events:none}
.som-bc .rank-math-breadcrumb{width:min(1180px,90%);margin:0 auto;pointer-events:auto}
.som-bc p{margin:0!important;padding:0!important;font:500 13.5px/1.4 var(--som-text)!important;color:rgba(255,255,255,.78)!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.som-bc a{color:#fff!important;text-decoration:none!important}
.som-bc a:hover{text-decoration:underline!important}
.som-bc .separator{margin:0 8px;opacity:.6}
.som-bc.is-light p{color:var(--som-body)!important;text-shadow:none}
.som-bc.is-light a{color:var(--som-petrol)!important}
@media (max-width:980px){.som-bc{top:calc(var(--som-hh,80px) + 8px)}.som-bc p{font-size:12.5px!important}}

/* Estado abierto/cerrado en el hero, discreto, a la derecha de las migas */
.som-bc{display:flex;justify-content:space-between;align-items:center;gap:16px;width:min(1180px,90%);margin:0 auto;left:0;right:0}
.som-bc .rank-math-breadcrumb{width:auto;margin:0;flex:1 1 auto;min-width:0}
.som-hero-status{flex:0 0 auto;pointer-events:auto}
.som-hero-status .som-open{padding:6px 12px;border-radius:999px;background:rgba(2,42,56,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:rgba(255,255,255,.9);font-size:12.5px;border:1px solid rgba(255,255,255,.18)}
.som-bc--status{justify-content:flex-end}
.som-bc.is-light .som-hero-status .som-open{background:#fff;color:var(--som-body);border-color:var(--som-line)}
@media (max-width:980px){.som-bc{flex-direction:column;align-items:flex-start;gap:6px}.som-bc--status{align-items:flex-end}.som-hero-status .som-open{font-size:12px;padding:5px 10px}}
@media (max-width:980px){.som-hero-status{display:none}.som-bc--status{display:none}}
.som-mbar .som-open--bar{opacity:0;transition:opacity .3s ease}
body.som-mbar-show .som-mbar .som-open--bar{opacity:1}

/* Estado en el hero sin migas: bajo el CTA principal */
.som-hero-status--cta{display:flex!important;justify-content:center;margin-top:14px;position:relative;z-index:2}
.som-hero-status--cta .som-open{font-size:13px}
