/* Ajustes comunes para telefonos y pantallas estrechas. */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;font:inherit}
.secondary-menu-toggle{display:none}

@media (max-width:680px){
  body{font-size:15px;line-height:1.55}
  .wrap{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important}

  .top .wrap{min-height:44px!important;height:auto!important;gap:8px!important}
  .language-switcher{max-width:100%;gap:7px!important;overflow-x:auto;padding:5px 0!important}
  .language-switcher a span{width:29px!important;height:29px!important}
  .language-switcher a:nth-child(1) span{width:33px!important;height:33px!important}

  nav.nav{height:auto!important;min-height:68px!important;flex-wrap:wrap!important;gap:10px!important;padding-top:10px!important;padding-bottom:10px!important}
  .brand{min-width:0;max-width:calc(100% - 48px);font-size:14px!important;white-space:normal!important}
  .brand>span:last-child{min-width:0;overflow-wrap:anywhere}
  .mark{flex:0 0 38px;width:38px!important;height:38px!important}
  .back{margin-left:auto;white-space:nowrap}

  .persistent-nav{order:3;width:100%!important;max-width:100%!important;margin:0!important;padding:7px 0 2px!important;gap:8px!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:none}
  .persistent-nav::-webkit-scrollbar{display:none}
  .persistent-nav a{flex:0 0 auto;min-height:42px;padding:11px 12px!important;border:1px solid #dce8e2;border-radius:10px!important;background:#f6faf8!important;white-space:nowrap}
  .persistent-nav a.is-active{background:#17614f!important;color:#fff!important}

  .header nav{position:relative;gap:10px!important}
  .menu-toggle{min-width:44px!important;min-height:44px!important}
  .links.open{top:68px!important;max-height:calc(100vh - 68px);overflow-y:auto;padding:10px 16px 18px!important}
  .links.open a{min-height:44px;padding:12px 4px!important}

  .hero{padding:0!important}
  .hero .wrap{padding-top:42px!important;padding-bottom:46px!important}
  .hero h1{font-size:clamp(32px,10vw,40px)!important;line-height:1.07!important;letter-spacing:-.035em!important;overflow-wrap:anywhere}
  .hero p{font-size:16px!important;line-height:1.55!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .actions .btn,.actions .button{width:100%!important;min-height:48px!important;text-align:center}

  .section{padding-top:40px!important;padding-bottom:40px!important}
  .head{display:block!important;margin-bottom:19px!important}
  .head h2{font-size:26px!important;line-height:1.2!important}
  .head .button,.head .btn,.see{width:100%;margin-top:13px!important;text-align:center}

  .grid,.cards,.info,.nums,.community,.notice,.form-grid,.business-fields{grid-template-columns:minmax(0,1fr)!important}
  .card,.panel,.notice,.formbox,.contact-box,.report-box{min-width:0;padding:18px!important;border-radius:15px!important}
  .card h2,.card h3,.panel h2,.panel h3{overflow-wrap:anywhere}
  .listing-media,.news-media{height:148px!important;max-height:148px!important;object-fit:cover!important;margin-bottom:12px!important;border-radius:10px!important}
  video.listing-media{background:#102820}
  .promo-logo-panel{min-height:112px!important;margin:-18px -18px 14px!important;padding:10px!important}
  .promo-logo-panel img{max-height:96px!important}
  .partner-promo h2{font-size:21px!important;line-height:1.2!important}
  .external-promo{margin-top:11px!important;padding-top:10px!important}
  .contact-actions,.report-actions,.review-actions{display:grid!important;grid-template-columns:1fr!important}
  .contact-actions>*,.report-actions>*,.review-actions>*{width:100%!important}
  .contact-modal,.report-modal{align-items:end!important;padding:0!important}
  .contact-box,.report-box{width:100%!important;max-height:88vh!important;border-radius:20px 20px 0 0!important;padding:20px 18px calc(20px + env(safe-area-inset-bottom))!important}
  label{min-width:0}
  input,select,textarea{width:100%!important;min-height:48px!important;padding:12px!important;font-size:16px!important}
  textarea{min-height:120px!important}
  button,.button,.btn{min-height:46px}
  form .button,form .btn,form button[type="submit"]{width:100%!important}

  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cta{display:block!important;padding:24px!important;border-radius:18px!important}
  .cta h2{font-size:25px!important}
  .cta .btn,.cta .button{width:100%;margin-top:18px;text-align:center}
  .footer .wrap{grid-template-columns:1fr!important;gap:22px!important;padding-top:34px!important;padding-bottom:28px!important}
}

@media (max-width:380px){
  .wrap{padding-left:13px!important;padding-right:13px!important}
  .hero h1{font-size:30px!important}
  .brand{font-size:13px!important}
  .card,.panel,.formbox{padding:16px!important}
}

/* Portada: versión móvil más compacta y fácil de recorrer. */
@media (max-width:680px){
  #servicios{padding-top:34px!important}
  #servicios .head{margin-bottom:16px!important}
  #servicios .grid{gap:10px!important}
  #servicios .card{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-areas:"icon title" "icon text" "icon link"!important;
    column-gap:13px!important;
    row-gap:3px!important;
    padding:15px!important;
    border-radius:14px!important;
    box-shadow:0 7px 20px rgba(15,35,23,.07)!important;
  }
  #servicios .card .ico{grid-area:icon;width:44px!important;height:44px!important;margin:1px 0 0!important;border-radius:12px!important;font-size:20px!important}
  #servicios .card h3{grid-area:title;margin:0!important;font-size:17px!important;line-height:1.25!important}
  #servicios .card p{grid-area:text;margin:1px 0 0!important;font-size:13px!important;line-height:1.42!important}
  #servicios .card span{grid-area:link;margin:3px 0 0!important;font-size:12px!important;line-height:1.35!important}

  .trust .wrap{display:block!important;padding-top:13px!important;padding-bottom:13px!important;text-align:center!important}
  .trust b{display:block!important;font-size:12px!important;line-height:1.4!important}

  .community{gap:13px!important}
  .community .panel{padding:18px!important}
  .community .panel h3{font-size:21px!important}
  .community .list{margin-top:16px!important}
  .community .list li{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:11px 0!important;font-size:13px!important}
  .community .pill{padding:4px 7px!important;font-size:10px!important;white-space:normal!important;text-align:right!important;line-height:1.25!important}
  .community .help .btn{width:100%!important}

  .safety-guide{gap:18px!important}
  .safety-intro p{margin-bottom:17px!important}
  .safety-topics{gap:8px!important}
  .safety-topic summary{min-height:52px!important}

  .nums{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .num{padding:16px 14px!important;min-height:108px!important}
  .num b{font-size:27px!important}
  .num span{margin-top:5px!important;font-size:12px!important;line-height:1.35!important}

  #participar.section{padding-top:30px!important}
}

@media (max-width:380px){
  #servicios .card{grid-template-columns:43px minmax(0,1fr)!important;padding:13px!important;column-gap:11px!important}
  #servicios .card .ico{width:40px!important;height:40px!important}
  #servicios .card p{font-size:12.5px!important}
  .nums{gap:8px!important}
  .num{padding:14px 12px!important}
}

/* Revisión móvil general 2026-09-02: formularios, listados y páginas secundarias. */
@media (max-width:680px){
  main{min-width:0!important}
  h1,h2,h3,p,a,span,strong{overflow-wrap:anywhere}
  .intro,.housing-intro,.welcome-grid,.resource-grid,.region-grid,.city-list,.steps,.plans,.pay-options,.request,.request-area,.ett-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .welcome-grid,.resource-grid,.region-grid,.steps,.plans,.pay-options,.ett-grid{gap:12px!important}
  .welcome-card,.guide-card,.resource,.consulate,.ett-card,.request,.info-box,.help-box,.rule-box{
    min-width:0!important;padding:17px!important;border-radius:14px!important;
  }
  .ett-card{display:block!important}
  .ett-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}
  .ett-actions a,.ett-actions button{width:100%!important;justify-content:center!important;text-align:center!important}
  .ett-city{font-size:13px!important}
  .region-map{max-width:100%!important;overflow:hidden!important}
  .region-detail{min-width:0!important}
  .consulate{display:block!important}
  .place{margin-top:5px!important}
  .request-meta{display:flex!important;flex-wrap:wrap!important;gap:6px 10px!important}
  .request-area{min-width:0!important}
  .status,.tag,.pill{max-width:100%!important;white-space:normal!important}
  .photo-note,.hint,.message,.privacy,.safe{font-size:13px!important;line-height:1.5!important}
  .image-help{padding:14px!important}
  .plan{padding:18px!important}
  .plan-select{width:100%!important}
  .pay-option{min-height:0!important;padding:15px!important}
  .pay-logo{max-width:120px!important}
  .review-media{max-height:190px!important;object-fit:cover!important}
  .full{grid-column:1/-1!important}
  .footer{overflow:hidden!important}
}

@media (max-width:380px){
  .welcome-card,.guide-card,.resource,.consulate,.ett-card,.request,.info-box,.help-box,.rule-box{padding:14px!important}
}

/* =========================================================
   EXPERIENCIA MÓVIL PREMIUM · 2026-09-03
   Cabecera, idiomas, navegación, portada y ritmo visual.
   Solo afecta a pantallas móviles; escritorio se conserva.
   ========================================================= */
@media (max-width:680px){
  :root{--mobile-pad:16px;--mobile-radius:16px;--mobile-border:#dbe6e0;--mobile-green:#17614f;--mobile-red:#a92f38;--mobile-ink:#102820}
  html{-webkit-text-size-adjust:100%;scroll-padding-top:104px}
  body{background:#fbfaf7!important;color:#102820}
  body.mobile-menu-open{overflow:hidden!important}

  /* Barra de idiomas: fina, centrada y siempre visible. */
  .top{position:relative!important;z-index:30!important;background:linear-gradient(90deg,#8f2029,#b7353f 52%,#8f2029)!important;border:0!important;box-shadow:0 1px 0 rgba(0,0,0,.08)}
  .top .wrap{display:flex!important;justify-content:center!important;min-height:46px!important;height:46px!important;padding:0 10px!important;overflow:hidden!important}
  .top-message,.morocco-badge,.top-account-chip{display:none!important}
  .language-switcher{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;gap:14px!important;overflow:visible!important;white-space:nowrap!important}
  .language-switcher a{display:grid!important;place-items:center!important;width:34px!important;height:40px!important;padding:0!important;font-size:0!important;line-height:1!important;border-radius:10px!important;opacity:.84!important;transition:opacity .16s ease,transform .16s ease,background .16s ease!important}
  .language-switcher a:hover,.language-switcher a.selected{opacity:1!important;background:rgba(255,255,255,.12)!important}
  .language-switcher a.selected{transform:translateY(-1px)!important}
  .language-switcher a span,.language-switcher a:nth-child(1) span{width:25px!important;height:25px!important;border-width:1.5px!important;outline:none!important;box-shadow:0 1px 4px rgba(0,0,0,.22)!important}
  .language-switcher a:nth-child(1) span:after{font-size:20px!important;-webkit-text-stroke:1.55px #006233!important}
  .language-switcher a.selected span{outline:2px solid rgba(255,255,255,.92)!important;outline-offset:2px!important}

  /* Cabecera principal de Inicio. */
  .header{position:sticky!important;top:0!important;z-index:25!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e5e8e5!important;box-shadow:0 7px 18px rgba(16,40,32,.07)!important;backdrop-filter:blur(12px)!important}
  .header nav.wrap{position:relative!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;min-height:62px!important;height:62px!important;padding:8px var(--mobile-pad)!important;gap:10px!important}
  .header .brand{display:flex!important;align-items:center!important;min-width:0!important;max-width:calc(100% - 54px)!important;gap:9px!important;font-size:13px!important;line-height:1.12!important;white-space:normal!important}
  .header .brand .mark{flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important;font-size:20px!important;box-shadow:0 4px 12px rgba(23,97,79,.18)!important}
  .header .brand>span:last-child{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .header .brand small{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.15!important;color:#6f7a75!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .menu-toggle,.secondary-menu-toggle{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin-left:auto!important;padding:0!important;border:1px solid #d7e5df!important;border-radius:12px!important;background:#edf5f1!important;color:#17614f!important;font-size:22px!important;font-weight:500!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important}

  /* Menú móvil de Inicio: panel completo y limpio. */
  .header .links{display:none!important}
  .header .links.open{position:absolute!important;display:grid!important;grid-template-columns:1fr 1fr!important;left:10px!important;right:10px!important;top:68px!important;width:auto!important;max-height:calc(100dvh - 126px)!important;margin:0!important;padding:12px!important;gap:7px!important;overflow-y:auto!important;border:1px solid #dbe5e0!important;border-radius:18px!important;background:rgba(255,255,255,.99)!important;box-shadow:0 18px 45px rgba(16,40,32,.18)!important}
  .header .links.open a{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:46px!important;margin:0!important;padding:11px 12px!important;border:1px solid #e2eae6!important;border-radius:12px!important;background:#f8faf9!important;color:#173f34!important;font-size:13px!important;font-weight:750!important;line-height:1.25!important}
  .header .links.open a.btn{justify-content:center!important;background:#edf5f1!important;color:#17614f!important}
  .header .links.open a.primary{background:#17614f!important;color:#fff!important;border-color:#17614f!important}
  .header .links.open a.professional-main-link{background:#fff8e9!important;border-color:#dec787!important;color:#7c5b1d!important}

  /* Cabecera común de páginas secundarias. */
  nav.nav.wrap{position:sticky!important;top:0!important;z-index:24!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;min-height:62px!important;height:62px!important;padding:8px var(--mobile-pad)!important;gap:10px!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid #e5e8e5!important;box-shadow:0 7px 18px rgba(16,40,32,.06)!important;backdrop-filter:blur(12px)!important}
  nav.nav .brand{display:flex!important;align-items:center!important;min-width:0!important;max-width:calc(100% - 54px)!important;gap:9px!important;font-size:13px!important;line-height:1.16!important;white-space:normal!important}
  nav.nav .mark{flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important;font-size:20px!important}
  nav.nav .back{display:none!important}
  nav.nav .persistent-nav{display:none!important}
  nav.nav .persistent-nav.mobile-open{position:absolute!important;display:grid!important;grid-template-columns:1fr 1fr!important;left:10px!important;right:10px!important;top:68px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 126px)!important;margin:0!important;padding:12px!important;gap:7px!important;overflow-y:auto!important;border:1px solid #dbe5e0!important;border-radius:18px!important;background:rgba(255,255,255,.99)!important;box-shadow:0 18px 45px rgba(16,40,32,.18)!important;white-space:normal!important}
  nav.nav .persistent-nav.mobile-open a{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:46px!important;padding:11px 12px!important;border:1px solid #e2eae6!important;border-radius:12px!important;background:#f8faf9!important;color:#173f34!important;font-size:13px!important;font-weight:750!important;line-height:1.25!important;white-space:normal!important}
  nav.nav .persistent-nav.mobile-open a.is-active{background:#17614f!important;color:#fff!important;border-color:#17614f!important}
  nav.nav .persistent-nav.mobile-open a.professional-link{min-width:0!important;background:#fff8e9!important;border-color:#dec787!important;color:#7c5b1d!important}

  /* Portada: menor altura, mejor jerarquía y acciones claras. */
  .hero{border-radius:0!important}
  .hero .wrap{padding-top:36px!important;padding-bottom:39px!important}
  .hero .eyebrow{margin-bottom:10px!important;font-size:10px!important;line-height:1.35!important;letter-spacing:.115em!important}
  .hero h1{max-width:330px!important;margin:0 0 14px!important;font-size:clamp(32px,9.3vw,39px)!important;line-height:1.03!important;letter-spacing:-.035em!important}
  .hero p{max-width:520px!important;margin:0!important;font-size:15.5px!important;line-height:1.55!important}
  .hero .actions{display:grid!important;grid-template-columns:1fr!important;margin-top:22px!important;gap:9px!important}
  .hero .actions .btn{min-height:48px!important;border-radius:13px!important;font-size:14px!important}

  .trust .wrap{padding-top:11px!important;padding-bottom:11px!important}
  .trust b{font-size:11.5px!important;letter-spacing:.01em!important}

  /* Ritmo y tarjetas coherentes. */
  .section{padding-top:34px!important;padding-bottom:34px!important}
  .head{margin-bottom:16px!important}
  .head h2{font-size:24px!important;line-height:1.16!important;letter-spacing:-.025em!important}
  .head p{font-size:14px!important;line-height:1.52!important}
  .card,.panel,.formbox,.notice,.help-box,.rule-box,.welcome-card,.resource,.consulate,.ett-card{border-color:var(--mobile-border)!important;border-radius:var(--mobile-radius)!important;box-shadow:0 7px 22px rgba(16,40,32,.055)!important}
  #servicios .grid{gap:9px!important}
  #servicios .card{min-height:0!important;grid-template-columns:46px minmax(0,1fr)!important;padding:14px 15px!important;column-gap:12px!important;border-radius:15px!important;box-shadow:0 6px 17px rgba(16,40,32,.055)!important}
  #servicios .card .ico{width:42px!important;height:42px!important;border-radius:12px!important}
  #servicios .card h3{font-size:16px!important;line-height:1.22!important}
  #servicios .card p{font-size:12.7px!important;line-height:1.42!important;color:#68746f!important}
  #servicios .card span{margin-top:2px!important;font-size:11.5px!important}

  .safety-guide{padding:17px!important;gap:15px!important;border-radius:17px!important}
  .safety-icon{width:44px!important;height:44px!important;margin-bottom:13px!important;border-radius:12px!important;font-size:21px!important}
  .safety-intro h2{font-size:23px!important}
  .safety-intro p{font-size:13.5px!important;line-height:1.55!important}
  .safety-topic summary{padding:14px!important;font-size:13.5px!important}
  .safety-answer{padding:0 14px 15px!important;font-size:13px!important}

  .footer .wrap{padding-left:18px!important;padding-right:18px!important}
  .footer h4{font-size:15px!important}
  .footer p,.footer a{font-size:12.5px!important;line-height:1.5!important}

  /* Accesibilidad táctil y zonas seguras. */
  a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(23,97,79,.12)}
  button,.btn,.button{touch-action:manipulation}
  .footer{padding-bottom:env(safe-area-inset-bottom)!important}
}

@media (max-width:370px){
  :root{--mobile-pad:13px}
  .language-switcher{gap:10px!important}
  .header .brand,nav.nav .brand{font-size:12px!important}
  .header .brand .mark,nav.nav .mark{flex-basis:36px!important;width:36px!important;height:36px!important}
  .header .links.open,nav.nav .persistent-nav.mobile-open{grid-template-columns:1fr!important}
  .hero h1{font-size:30px!important}
}


/* =========================================================
   SISTEMA MÓVIL PROFESIONAL V2 · 2026-09-03
   Refinamiento visual integral sin alterar escritorio.
   ========================================================= */
@media (max-width:680px){
  :root{
    --mp-green:#145f4d;--mp-green-dark:#0d2a22;--mp-green-soft:#edf6f2;
    --mp-cream:#fbf8f1;--mp-gold:#9a7428;--mp-gold-soft:#fff8e8;
    --mp-red:#b8434b;--mp-text:#122b23;--mp-muted:#68756f;
    --mp-line:#dbe5df;--mp-shadow:0 8px 24px rgba(13,42,34,.065);
  }
  body{background:#fcfbf8!important;color:var(--mp-text)!important}
  .wrap{padding-left:18px!important;padding-right:18px!important}

  /* Cabecera sobria y compacta. */
  .top{background:#a53b43!important}
  .top .wrap{min-height:42px!important;height:42px!important}
  .language-switcher{gap:12px!important}
  .header nav.wrap,nav.nav.wrap{min-height:64px!important;height:64px!important}
  .header .brand .mark,nav.nav .mark{background:linear-gradient(145deg,#176d58,#0d4739)!important}
  .header .brand,nav.nav .brand{font-weight:850!important;letter-spacing:-.012em!important}
  .header .brand small{direction:rtl!important;text-align:left!important;unicode-bidi:isolate!important}

  /* Hero con profundidad, contraste y menos sensación de bloque plano. */
  .hero{background:linear-gradient(135deg,#0c342a 0%,#195f4e 58%,#3c7c69 100%)!important}
  .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 15%,rgba(255,255,255,.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.06));pointer-events:none}
  .hero .wrap{padding-top:38px!important;padding-bottom:40px!important}
  .hero .eyebrow{color:#e6d6aa!important;opacity:1!important;font-weight:800!important}
  .hero h1{font-size:clamp(31px,8.8vw,38px)!important;line-height:1.04!important}
  .hero p{color:#e5efeb!important;font-size:15px!important;line-height:1.55!important}
  .hero .actions{gap:10px!important}
  .hero .actions .btn{min-height:49px!important}
  .hero .actions .primary{background:#fff!important;color:#12352b!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important}
  .hero .actions .outline{border-color:rgba(255,255,255,.45)!important;background:rgba(255,255,255,.07)!important}

  /* Banda de confianza: una sola idea, no un aviso de obra. */
  .trust{background:#f3f7f4!important;border-color:#dce7e1!important}
  .trust .wrap{min-height:43px!important;padding-top:10px!important;padding-bottom:10px!important}
  .trust b{color:#17614f!important;font-size:12px!important}

  /* Ritmo general: menos altura vacía y secciones reconocibles. */
  .section{padding-top:38px!important;padding-bottom:38px!important}
  .section.tint{background:#f7f4ed!important}
  .head{margin-bottom:18px!important}
  .head h2{font-size:26px!important;line-height:1.12!important;color:#102b22!important}
  .head p{margin-top:7px!important;color:var(--mp-muted)!important;font-size:14px!important}
  .see{margin-top:10px!important;color:var(--mp-green)!important}

  /* Tarjetas: mismo lenguaje visual en toda la portada. */
  #servicios .grid{gap:11px!important}
  #servicios .card{position:relative!important;padding:15px!important;border:1px solid var(--mp-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:var(--mp-shadow)!important}
  #servicios .card .ico{background:var(--mp-green-soft)!important;color:var(--mp-green)!important}
  #servicios .card h3{color:#12362c!important;font-size:17px!important}
  #servicios .card p{color:var(--mp-muted)!important;font-size:13px!important}
  #servicios .card span{color:var(--mp-green)!important;font-size:12px!important}
  #servicios .professional-home-card{border-color:#dfc98c!important;background:linear-gradient(145deg,#fffdf8,#fff8e8)!important}
  #servicios .professional-home-card .ico{background:#f7edcf!important;color:#80601f!important}
  #servicios .professional-home-card h3,#servicios .professional-home-card span{color:#76591e!important}
  #servicios a[href="ayuda.html"] .ico{background:#faecee!important;color:#a63d45!important}

  /* Comunidad y ayuda: separar información de acción urgente. */
  .community{gap:13px!important}
  .community .panel{padding:19px!important;border-radius:18px!important;box-shadow:var(--mp-shadow)!important}
  .community .panel h3{font-size:21px!important}
  .community .panel p{font-size:13.5px!important;line-height:1.55!important}
  .community .list{margin-top:16px!important}
  .community .list li{padding:12px 0!important;font-size:13px!important}
  .community .help{background:linear-gradient(145deg,#fff,#fff7f7)!important;border-color:#ead7d8!important}
  .community .help .warning{color:var(--mp-red)!important}
  .community .help .primary,.safety-intro .primary{background:var(--mp-red)!important}

  /* Guía de seguridad más compacta y editorial. */
  .safety-guide{padding:19px!important;gap:17px!important;background:linear-gradient(145deg,#f4f9f6,#fff)!important;border-radius:18px!important;box-shadow:var(--mp-shadow)!important}
  .safety-icon{background:var(--mp-green)!important}
  .safety-intro h2{font-size:24px!important;line-height:1.15!important}
  .safety-topic{border-radius:14px!important}
  .safety-topic summary{min-height:54px!important}

  /* Cifras: cuadrícula compacta 2x2, sin tarjetas gigantes. */
  .nums{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .num{min-height:118px!important;padding:17px!important;border-radius:17px!important;box-shadow:0 5px 16px rgba(13,42,34,.04)!important}
  .num b{font-size:28px!important;color:var(--mp-green)!important}
  .num span{font-size:12.5px!important;line-height:1.4!important}

  /* Cierre: bloque institucional, no anuncio genérico. */
  .cta{padding:25px 20px!important;border-radius:20px!important;background:linear-gradient(145deg,#0d2a22,#123d31)!important;box-shadow:0 12px 30px rgba(13,42,34,.14)!important}
  .cta h2{font-size:25px!important;line-height:1.12!important}
  .cta p{font-size:13.5px!important;line-height:1.55!important}
  .cta .primary{background:var(--mp-red)!important;color:#fff!important}

  /* Footer definitivo: compacto, limpio, RTL correcto. */
  .footer{background:#0b1e18!important}
  .footer .wrap{gap:19px!important;padding:31px 20px 25px!important}
  .footer h4{margin-bottom:9px!important;font-size:15px!important}
  .footer p,.footer a{margin:6px 0!important;font-size:12.5px!important;line-height:1.48!important}
  .footer-arabic{direction:rtl!important;text-align:right!important;unicode-bidi:isolate!important;max-width:100%!important}
  .cme-legal{margin-top:10px!important}
  .copyright{padding:14px 0!important}
  .copyright .wrap{display:block!important;padding-top:0!important;padding-bottom:0!important;font-size:11.5px!important}

  /* Menú: jerarquía visual clara sin convertirlo en otra página. */
  .header .links.open,nav.nav .persistent-nav.mobile-open{gap:8px!important;padding:11px!important;border-radius:17px!important}
  .header .links.open a,nav.nav .persistent-nav.mobile-open a{min-height:45px!important;border-radius:12px!important}
  .header .links.open a.professional-main-link,nav.nav .persistent-nav.mobile-open a.professional-link{background:var(--mp-gold-soft)!important;border-color:#dfc98c!important;color:#76591e!important}
}

@media (max-width:370px){
  #servicios .card{padding:13px!important}
  .nums{gap:8px!important}
  .num{min-height:110px!important;padding:14px!important}
}


/* Ronda V3: navegación móvil y selector de idiomas */
@media (max-width:680px){
  .top .wrap{
    min-height:50px!important;
    height:50px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .language-switcher{
    display:grid!important;
    grid-template-columns:repeat(4,42px)!important;
    justify-content:center!important;
    align-items:center!important;
    width:auto!important;
    max-width:100%!important;
    gap:10px!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
  }
  .language-switcher a{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:38px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.08)!important;
    font-size:0!important;
    opacity:.9!important;
    transform:none!important;
  }
  .language-switcher a:hover,
  .language-switcher a.selected{
    opacity:1!important;
    background:rgba(255,255,255,.18)!important;
    border-color:rgba(255,255,255,.85)!important;
  }
  .language-switcher a span,
  .language-switcher a:nth-child(1) span{
    width:27px!important;
    height:21px!important;
    border:0!important;
    border-radius:4px!important;
    outline:0!important;
    box-shadow:0 1px 4px rgba(0,0,0,.24)!important;
  }
  .language-switcher a:nth-child(1) span:after{
    font-size:15px!important;
    -webkit-text-stroke:1.25px #006233!important;
  }
  .language-switcher a.selected span{
    outline:0!important;
  }

  .header .brand>span:last-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .header .brand small{
    width:100%!important;
    margin-top:4px!important;
    text-align:center!important;
    direction:rtl!important;
    unicode-bidi:plaintext!important;
  }
}
