/* Cristal legible, imágenes pequeñas y controles independientes del enlace padre. */
.svp-mega-parent { position:relative!important; }
.svp-mega-control { display:flex; align-items:center; border-radius:10px; background:transparent; }
.main-navigation .main-nav .svp-mega-control > a { display:flex; align-items:center; flex:1; min-width:0; padding-right:4px; background:transparent!important; }
.svp-mega-control:hover,.svp-mega-control:focus-within,.svp-mega-open > .svp-mega-control { background:#26323f; box-shadow:inset 0 0 0 1px #69e6dc; }
.svp-mega-control > .svp-mega-toggle { display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; padding:0; width:44px; min-height:48px; border:0; border-radius:10px; background:transparent; color:#f2f4f7; font-size:22px; cursor:pointer; }
.svp-mega-control > .svp-mega-toggle:is(:hover,[aria-expanded=true]) { background:transparent; }
.svp-mega-toggle:focus-visible,.svp-mega-panel a:focus-visible { outline:3px solid #c9a5ee; outline-offset:3px; }
.svp-mega-toggle span { display:grid; place-items:center; width:16px; height:16px; line-height:0; transform-origin:center; transition:transform .18s; }
.svp-mega-toggle svg { display:block; width:16px; height:16px; }
.svp-mega-toggle[aria-expanded=true] span { transform:rotate(180deg); }
.main-navigation .main-nav ul .svp-mega-panel { display:none!important; opacity:1!important; visibility:visible!important; pointer-events:auto!important; left:0!important; top:100%!important; width:100%!important; max-height:calc(100dvh - 136px); overflow:auto; padding:24px!important; margin:0!important; background:rgba(15,19,28,.94)!important; backdrop-filter:blur(18px); border:1px solid #515d70; border-radius:20px; box-shadow:0 24px 64px #0006; box-sizing:border-box; z-index:1100; }
.main-navigation .main-nav ul .svp-mega-open > .svp-mega-panel,
.main-navigation .main-nav ul .svp-mega-parent:not(.svp-mega-ready):is(:hover,:focus-within) > .svp-mega-panel { display:grid!important; height:auto!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.main-navigation .main-nav .svp-mega-panel > li { width:auto!important; min-width:0; float:none; list-style:none; background:transparent!important; border:0; }
.main-navigation .main-nav .svp-mega-card > a { display:flex; align-items:center; gap:14px; padding:16px!important; min-height:120px; height:100%; white-space:normal; line-height:1.45!important; border:1px solid #3a4658; border-radius:14px; background:rgba(30,37,50,.58)!important; color:#f2f4f7!important; box-sizing:border-box; transition:border-color .18s,background .18s; }
.main-navigation .main-nav .svp-mega-card > a:hover { border-color:#69e6dc; background:#253440!important; }
.svp-mega-panel strong { display:block; color:#f2f4f7; font-size:16px; line-height:1.4; }
.svp-mega-panel small { display:block; margin-top:6px; color:#c1cad9; font-size:13px; line-height:1.5; font-weight:400; }
.svp-mega-panel .svp-mega-image { display:block; width:72px; height:80px; aspect-ratio:9/10; object-fit:cover; border-radius:12px; flex-shrink:0; }
.svp-mega-brand{display:grid;place-items:center;width:96px;flex-shrink:0;overflow:hidden;}
.svp-mega-brand .svp-brand-logo{width:96px;height:40px;object-fit:contain;margin:0;}
.svp-mega-brand .svp-family-logo{transform:scale(.5);transform-origin:center;width:192px;flex-shrink:0;}
.svp-mega-project-logo{display:block;width:80px;height:48px;object-fit:contain;flex-shrink:0;}
@media(min-width:1101px){
  #masthead .main-nav > ul { align-items:center; flex-wrap:nowrap; }
  #masthead .main-navigation { flex-shrink:0; }
  #masthead .header-widget .wp-block-buttons { flex-wrap:nowrap; }
  #masthead .main-nav > ul > li { display:flex; align-items:center; }
  #masthead .main-nav > ul > li > a,#masthead .svp-mega-control > a { display:flex; align-items:center; height:52px; line-height:1.35; padding-inline:10px; font-size:14px; }
  #masthead .svp-mega-control > a { padding-right:4px; }
  #masthead .svp-mega-toggle { flex:0 0 44px; width:44px; height:52px; min-height:52px; box-sizing:border-box; }
}
@media(min-width:1101px) and (max-width:1200px){
  body #masthead .inside-header { padding-inline:24px; }
}
.svp-mega-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; color:#69e6dc; }
.main-navigation .main-nav .svp-mega-feature { padding:16px; border:1px solid #665175; border-radius:14px; background:linear-gradient(130deg,#361b4966,#183e3b44)!important; }
.svp-mega-feature p { font-size:13px; line-height:1.55; color:#c1cad9; margin:8px 0; }
.svp-mega-feature .svp-eyebrow { color:#ff89c8; font-size:11px; }
.main-navigation .main-nav .svp-mega-feature > a,.main-navigation .main-nav .svp-mega-more a { display:block; color:#69e6dc!important; background:transparent!important; line-height:1.5!important; padding:8px 0!important; font-size:13px; white-space:normal; text-decoration:underline; }
.svp-mega-rating { margin-top:8px; border-top:1px solid #515d70; }
.svp-mega-rating > span { color:#f5d78c; }
.svp-mega-panel .svp-mega-rating small { font-size:11px; }
.svp-mega-more { grid-column:1/-1; padding:8px 16px; }
.svp-mega-more > div { display:flex; flex-wrap:wrap; gap:8px 24px; }
@media(min-width:1101px) {
  #masthead :is(.inside-header,.main-navigation,.inside-navigation,.main-nav,.main-nav>ul) { position:static; }
  #masthead .svp-mega-parent { position:static!important; }
  #masthead .svp-mega-panel { left:50%!important; transform:translateX(-50%); width:calc(100% - 32px)!important; max-width:1120px; }
}
@media(max-width:1100px) {
  .main-navigation .main-nav .svp-mega-control { width:100%; min-height:60px; }
  .main-navigation .main-nav .svp-mega-control > a { width:auto; }
  .main-navigation .main-nav ul .svp-mega-panel { position:static!important; max-height:none; box-shadow:none; padding:12px!important; clear:both; }
  .main-navigation .main-nav ul .svp-mega-open > .svp-mega-panel { grid-template-columns:minmax(0,1fr); }
  .main-navigation .main-nav .svp-mega-card > a { min-height:110px; padding:12px!important; gap:10px; }
}
@media(max-width:600px) {
  .main-navigation .main-nav ul .svp-mega-open > .svp-mega-panel { grid-template-columns:minmax(0,1fr); }
  .svp-mega-panel .svp-mega-image { width:64px; height:64px; }
  .main-navigation .main-nav .svp-mega-card > a { min-height:96px; }
}
.svp-service-connections { margin:48px 0; }
.svp-related-projects { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:24px; margin:24px 0; }
.svp-related-projects .svp-project-card { min-width:0; }
.svp-related-projects .svp-project-shot img { width:100%; height:180px; object-fit:cover; object-position:top; }
.svp-team-service { display:flex; align-items:flex-start; gap:24px; padding:24px; margin:32px 0; border:1px solid #515d70; border-radius:20px; background:rgba(21,25,34,.68); backdrop-filter:blur(10px); }
.svp-contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:32px 0; }
.svp-contact-choice { padding:24px; background:rgba(21,25,34,.68); border:1px solid #515d70; border-radius:16px; }
.svp-contact-choice h3 { margin-top:12px!important; }
.svp-contact-choice a { overflow-wrap:anywhere; }
.svp-contact-content { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:32px; align-items:start; margin:32px 0; }
.svp-contact-form-panel { padding:32px; background:#f5f6f9; color:#374151; border-radius:20px; }
.svp-pro-site .svp-contact-form-panel :is(h2,h3,p,label) { color:#374151!important; }
.svp-pro-site .svp-contact-form-panel a { color:#5c088b!important; }
.svp-contact-form-panel input:not([type=checkbox]):not([type=submit]),.svp-contact-form-panel textarea { color:#252d3a; background:#fff; border:1px solid #657084; border-radius:10px; width:100%; max-width:100%; }
.svp-contact-form-panel input[type=submit] { background:#db0075; color:white; border-radius:10px; min-height:48px; }
.svp-contact-note { padding:24px; border:1px solid #515d70; border-radius:20px; background:rgba(21,25,34,.68); }
.svp-booking-calendar { padding:16px; border-radius:20px; border:1px solid #515d70; background:#fff; overflow:hidden; }
.svp-booking-calendar iframe { display:block; width:100%; max-width:100%; }
@media(max-width:900px) { .svp-contact-options,.svp-contact-content { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .svp-team-service { flex-direction:column; gap:12px; }.svp-contact-form-panel { padding:24px 20px; } }
@media(prefers-reduced-motion:reduce) { .svp-mega-toggle span,.svp-mega-card > a { transition:none!important; } }
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) { .main-navigation .main-nav ul .svp-mega-panel,.svp-team-service,.svp-contact-choice,.svp-contact-note { background:#151922!important; backdrop-filter:none; } }
.svp-contact-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:32px; }
.svp-contact-hero-image { width:100%; height:300px; object-fit:cover; border-radius:20px; filter:saturate(.7); }
:is(.svp-contact-options,.svp-contact-content,.svp-contact-hero) > .wp-block-group__inner-container { display:contents; }
@media(max-width:900px) { .svp-contact-hero { grid-template-columns:minmax(0,1fr); }.svp-contact-hero-image { height:220px; } }
