/* =========================================================
   GEEK V20.3.1 · RESEÑAS · POP-UP MÓVIL AUTÓNOMO
   SOLO <= 699px. Desktop no recibe ninguna regla de este archivo.

   Esta versión redefine TODOS los estilos esenciales del formulario móvil.
   Así el popup no depende del CSS base de geek-home (que algunos móviles
   podían conservar en caché), evitando inputs invisibles, estrellas verticales,
   honeypot visible y opciones de verificación desordenadas.
   ========================================================= */

@media (max-width: 699px) {
  /* ---------------------------------------------------------
     CTA móvil
     --------------------------------------------------------- */
  #resenas .reviews-section-actions {
    width: 100%;
    margin-top: 1.15rem;
    padding-inline: .25rem;
    text-align: center;
  }

  #resenas .reviews-open-form {
    width: min(100%, 360px);
    max-width: none;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: .8rem 1.15rem;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 16px;
    background: linear-gradient(135deg, #2e665a 0%, #3f8071 100%);
    color: #fff;
    font-family: inherit;
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 10px 24px rgba(29,78,66,.24);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  #resenas .reviews-open-form::before {
    content: "✎";
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-size: 1rem;
    line-height: 1;
  }

  #resenas .reviews-open-form:active:not(:disabled) {
    transform: scale(.985);
    box-shadow: 0 7px 18px rgba(29,78,66,.20);
  }

  /* ---------------------------------------------------------
     Backdrop + ventana popup real
     --------------------------------------------------------- */
  body.review-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body > .review-modal.review-mobile-portal {
    position: fixed !important;
    inset: 0 !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding:
      max(12px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(12px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
    overflow: hidden !important;
    background: rgba(13, 34, 29, .74) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    touch-action: none;
    isolation: isolate;
  }

  body > .review-modal.review-mobile-portal.hidden {
    display: none !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-dialog {
    position: relative !important;
    box-sizing: border-box !important;
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    height: auto !important;
    max-height: min(90vh, 780px) !important;
    max-height: min(calc(90dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 780px) !important;
    margin: 0 !important;
    padding: 18px 16px 22px !important;
    border: 1px solid rgba(46,94,85,.15) !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #18231f !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.35) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-top: 72px;
    touch-action: pan-y;
  }

  body > .review-modal.review-mobile-portal .review-modal-dialog,
  body > .review-modal.review-mobile-portal .review-modal-dialog * {
    box-sizing: border-box;
    min-width: 0;
  }

  /* scrollbar discreto */
  body > .review-modal.review-mobile-portal .review-modal-dialog {
    scrollbar-width: thin;
    scrollbar-color: #b8c8c3 transparent;
  }
  body > .review-modal.review-mobile-portal .review-modal-dialog::-webkit-scrollbar { width: 5px; }
  body > .review-modal.review-mobile-portal .review-modal-dialog::-webkit-scrollbar-track { background: transparent; }
  body > .review-modal.review-mobile-portal .review-modal-dialog::-webkit-scrollbar-thumb {
    background: #b8c8c3;
    border-radius: 99px;
  }

  /* Cerrar siempre accesible mientras se desplaza el formulario */
  body > .review-modal.review-mobile-portal .review-modal-close {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 0 -44px auto !important;
    padding: 0 !important;
    float: none !important;
    border: 1px solid #d8e4e0 !important;
    border-radius: 14px !important;
    background: rgba(248,251,250,.98) !important;
    color: #31594f !important;
    font-family: Arial, sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    box-shadow: 0 5px 16px rgba(31,53,47,.10) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  /* ---------------------------------------------------------
     Encabezado
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-modal-head {
    width: 100%;
    padding: 3px 54px 0 2px !important;
    margin: 0 0 1.2rem !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-kicker {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    padding: .22rem .65rem !important;
    border-radius: 999px !important;
    background: #e9f5f1 !important;
    color: #2e5e55 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-head h3 {
    margin: .65rem 0 0 !important;
    color: #16231f !important;
    font-size: clamp(1.45rem, 7vw, 1.72rem) !important;
    font-weight: 900 !important;
    line-height: 1.14 !important;
    letter-spacing: -.02em !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-head p {
    margin: .4rem 0 0 !important;
    color: #66756f !important;
    font-size: .90rem !important;
    font-weight: 400 !important;
    line-height: 1.48 !important;
  }

  /* ---------------------------------------------------------
     Formulario base: AUTÓNOMO respecto de geek-home
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
  }

  body > .review-modal.review-mobile-portal .review-form-grid,
  body > .review-modal.review-mobile-portal .review-channel-options,
  body > .review-modal.review-mobile-portal .review-code-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body > .review-modal.review-mobile-portal .review-form-grid {
    gap: .95rem !important;
  }

  body > .review-modal.review-mobile-portal .review-form-full {
    grid-column: 1 / -1 !important;
  }

  body > .review-modal.review-mobile-portal .review-form-grid > label,
  body > .review-modal.review-mobile-portal .review-contact-grid > label,
  body > .review-modal.review-mobile-portal .review-rating-field {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: .42rem !important;
    margin: 0 !important;
    color: #40564e !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  body > .review-modal.review-mobile-portal .review-form input[type="text"],
  body > .review-modal.review-mobile-portal .review-form input[type="email"],
  body > .review-modal.review-mobile-portal .review-form input[type="tel"],
  body > .review-modal.review-mobile-portal .review-form textarea,
  body > .review-modal.review-mobile-portal .review-code-row input {
    appearance: none;
    -webkit-appearance: none;
    display: block !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: .78rem .85rem !important;
    border: 1px solid #d2dfda !important;
    border-radius: 12px !important;
    outline: none !important;
    background: #fff !important;
    color: #1f2937 !important;
    font-family: inherit !important;
    font-size: 16px !important; /* evita zoom de Safari */
    font-weight: 500 !important;
    line-height: 1.35 !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.025) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  }

  body > .review-modal.review-mobile-portal .review-form input[type="text"]:focus,
  body > .review-modal.review-mobile-portal .review-form input[type="email"]:focus,
  body > .review-modal.review-mobile-portal .review-form input[type="tel"]:focus,
  body > .review-modal.review-mobile-portal .review-form textarea:focus,
  body > .review-modal.review-mobile-portal .review-code-row input:focus {
    border-color: #4b8d7d !important;
    box-shadow: 0 0 0 3px rgba(75,141,125,.13) !important;
  }

  body > .review-modal.review-mobile-portal .review-form textarea {
    min-height: 128px !important;
    resize: vertical !important;
  }

  body > .review-modal.review-mobile-portal .review-form input::placeholder,
  body > .review-modal.review-mobile-portal .review-form textarea::placeholder {
    color: #a3adb1 !important;
    opacity: 1 !important;
  }

  body > .review-modal.review-mobile-portal .review-text-field {
    position: relative !important;
  }

  body > .review-modal.review-mobile-portal .review-text-field small {
    align-self: flex-end !important;
    margin-top: -.10rem !important;
    color: #7b8b85 !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
  }

  /* El campo anti-spam NUNCA debe ser visible */
  body > .review-modal.review-mobile-portal .review-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body > .review-modal.review-mobile-portal .review-form .hidden,
  body > .review-modal.review-mobile-portal .review-verification-panel.hidden {
    display: none !important;
  }

  /* ---------------------------------------------------------
     Foto de perfil
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-photo-control {
    display: grid !important;
    grid-template-columns: 64px minmax(0,1fr) !important;
    align-items: center !important;
    width: 100% !important;
    gap: .75rem !important;
    padding: .75rem !important;
    border: 1px dashed #b9cec7 !important;
    border-radius: 14px !important;
    background: #f8fbfa !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-preview {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    max-width: none !important;
    border: 2px solid rgba(46,94,85,.20) !important;
    border-radius: 999px !important;
    background: #e8f2ef !important;
    object-fit: cover !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-preview.is-empty {
    background:
      radial-gradient(circle at 50% 35%, #a9c5bc 0 14%, transparent 15%),
      radial-gradient(circle at 50% 86%, #a9c5bc 0 30%, transparent 31%),
      #e8f2ef !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-control > div {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body > .review-modal.review-mobile-portal .review-form input[type="file"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: .40rem !important;
    border: 1px solid #d7e4df !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #52645e !important;
    font-family: inherit !important;
    font-size: .75rem !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
  }

  body > .review-modal.review-mobile-portal .review-form input[type="file"]::file-selector-button {
    margin-right: .5rem !important;
    padding: .55rem .66rem !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #e7f3ef !important;
    color: #2e665a !important;
    font: inherit !important;
    font-weight: 800 !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-control small {
    display: block !important;
    margin-top: .35rem !important;
    color: #718078 !important;
    font-size: .69rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
  }

  /* ---------------------------------------------------------
     Puntuación: 5 estrellas SIEMPRE en una sola fila
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-stars-input {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: .18rem !important;
    margin: 0 !important;
  }

  body > .review-modal.review-mobile-portal .review-star-button {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 44px !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #d5d8da !important;
    font-family: Arial, sans-serif !important;
    font-size: 1.9rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: color .15s ease, transform .15s ease, background .15s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  body > .review-modal.review-mobile-portal .review-star-button.is-active {
    color: #fbbc04 !important;
  }

  body > .review-modal.review-mobile-portal .review-star-button:active {
    background: #f2f7f5 !important;
    transform: scale(.96) !important;
  }

  /* ---------------------------------------------------------
     Verificación: tarjetas verticales y legibles
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-verification-channel {
    display: block !important;
    width: 100% !important;
    margin: 1rem 0 0 !important;
    padding: .78rem !important;
    border: 1px solid #dce8e4 !important;
    border-radius: 14px !important;
    background: #fbfdfc !important;
  }

  body > .review-modal.review-mobile-portal .review-verification-channel legend {
    display: block !important;
    max-width: calc(100% - 12px) !important;
    padding: 0 .3rem !important;
    color: #4a6159 !important;
    font-size: .81rem !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-options {
    gap: .65rem !important;
    margin-top: .1rem !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-option {
    display: grid !important;
    grid-template-columns: 20px 38px minmax(0,1fr) !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 70px !important;
    gap: .65rem !important;
    margin: 0 !important;
    padding: .72rem !important;
    border: 1px solid #d8e4e0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #40564e !important;
    cursor: pointer !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-option:has(input:checked) {
    border-color: #4b8d7d !important;
    background: #eef8f5 !important;
    box-shadow: inset 0 0 0 1px #4b8d7d !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-option > input[type="radio"] {
    appearance: auto !important;
    -webkit-appearance: radio !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #2e6f62 !important;
    box-shadow: none !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-icon {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    background: #edf6f3 !important;
    color: #2e6f62 !important;
    font-size: 1rem !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-option strong {
    display: block !important;
    margin: 0 !important;
    color: #38695d !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
  }

  body > .review-modal.review-mobile-portal .review-channel-option small {
    display: block !important;
    margin: .12rem 0 0 !important;
    color: #788881 !important;
    font-size: .70rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  body > .review-modal.review-mobile-portal .review-contact-grid {
    margin-top: .92rem !important;
  }

  /* ---------------------------------------------------------
     Paneles de verificación
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-verification-panel {
    display: block;
    width: 100% !important;
    margin: .9rem 0 0 !important;
    padding: .88rem !important;
    border: 1px solid #cfe2dc !important;
    border-radius: 13px !important;
    background: #f4faf8 !important;
    color: #476159 !important;
  }

  body > .review-modal.review-mobile-portal .review-verification-panel strong {
    color: #2f6659 !important;
    font-weight: 900 !important;
  }

  body > .review-modal.review-mobile-portal .review-verification-panel p {
    margin: .25rem 0 0 !important;
    color: #60756e !important;
    font-size: .78rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
  }

  body > .review-modal.review-mobile-portal .review-code-row {
    gap: .55rem !important;
    margin-top: .75rem !important;
  }

  body > .review-modal.review-mobile-portal .review-code-row input {
    text-align: center !important;
    letter-spacing: .28em !important;
    font-weight: 800 !important;
  }

  body > .review-modal.review-mobile-portal .review-code-row button,
  body > .review-modal.review-mobile-portal .review-secondary-button {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: .72rem .9rem !important;
    border: 1px solid #b8d2ca !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #356e60 !important;
    font-family: inherit !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
  }

  body > .review-modal.review-mobile-portal .review-whatsapp-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    gap: .55rem !important;
    margin: .78rem 0 0 !important;
    padding: .78rem .9rem !important;
    border-radius: 11px !important;
    background: #2f7d6d !important;
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  body > .review-modal.review-mobile-portal .review-whatsapp-waiting {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    margin: .72rem 0 !important;
    color: #63766f !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }

  body > .review-modal.review-mobile-portal .review-spinner {
    flex: 0 0 16px !important;
    display: block;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #c8dad4 !important;
    border-top-color: #2e6f62 !important;
    border-radius: 999px !important;
    animation: reviewSpin .8s linear infinite;
  }

  /* ---------------------------------------------------------
     Consentimiento + estado + CTA final
     --------------------------------------------------------- */
  body > .review-modal.review-mobile-portal .review-consent {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: .62rem !important;
    margin: .92rem 0 0 !important;
    padding: .78rem !important;
    border: 1px solid #e3ece9 !important;
    border-radius: 12px !important;
    background: #f7faf9 !important;
    color: #4a5f58 !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  body > .review-modal.review-mobile-portal .review-consent input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    flex: 0 0 20px !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-height: 0 !important;
    margin: .05rem 0 0 !important;
    padding: 0 !important;
    accent-color: #2e6f62 !important;
    box-shadow: none !important;
  }

  body > .review-modal.review-mobile-portal .review-form-status {
    min-height: 1.25rem !important;
    margin: .68rem 0 0 !important;
    color: #5d7169 !important;
    font-size: .77rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  body > .review-modal.review-mobile-portal .review-form-status.is-error { color: #b42318 !important; }
  body > .review-modal.review-mobile-portal .review-form-status.is-success { color: #19704f !important; }

  body > .review-modal.review-mobile-portal .review-submit {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: .35rem 0 0 !important;
    padding: .82rem 1rem !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #356f62 0%, #438777 100%) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    box-shadow: 0 9px 20px rgba(46,111,98,.20) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  body > .review-modal.review-mobile-portal .review-submit:disabled {
    opacity: .58 !important;
    cursor: wait !important;
  }

  /* ---------------------------------------------------------
     Dark mode móvil
     --------------------------------------------------------- */
  body.dark-mode > .review-modal.review-mobile-portal .review-modal-dialog {
    background: #252a29 !important;
    color: #eef5f2 !important;
    border-color: rgba(255,255,255,.08) !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-modal-close {
    background: rgba(47,54,52,.98) !important;
    color: #e8f5f1 !important;
    border-color: #46524f !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-modal-kicker {
    background: #31443f !important;
    color: #ccece2 !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-modal-head h3 { color: #fff !important; }
  body.dark-mode > .review-modal.review-mobile-portal .review-modal-head p,
  body.dark-mode > .review-modal.review-mobile-portal .review-form-grid > label,
  body.dark-mode > .review-modal.review-mobile-portal .review-contact-grid > label,
  body.dark-mode > .review-modal.review-mobile-portal .review-rating-field { color: #cbd5d1 !important; }

  body.dark-mode > .review-modal.review-mobile-portal .review-form input[type="text"],
  body.dark-mode > .review-modal.review-mobile-portal .review-form input[type="email"],
  body.dark-mode > .review-modal.review-mobile-portal .review-form input[type="tel"],
  body.dark-mode > .review-modal.review-mobile-portal .review-form input[type="file"],
  body.dark-mode > .review-modal.review-mobile-portal .review-form textarea,
  body.dark-mode > .review-modal.review-mobile-portal .review-code-row input,
  body.dark-mode > .review-modal.review-mobile-portal .review-channel-option,
  body.dark-mode > .review-modal.review-mobile-portal .review-code-row button,
  body.dark-mode > .review-modal.review-mobile-portal .review-secondary-button {
    background: #303635 !important;
    color: #f4f7f6 !important;
    border-color: #47524f !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-verification-channel,
  body.dark-mode > .review-modal.review-mobile-portal .review-verification-panel,
  body.dark-mode > .review-modal.review-mobile-portal .review-consent,
  body.dark-mode > .review-modal.review-mobile-portal .review-photo-control {
    background: #2b302f !important;
    border-color: #46524e !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-channel-option:has(input:checked) {
    background: #2d403b !important;
  }

  body.dark-mode > .review-modal.review-mobile-portal .review-star-button:active {
    background: #303735 !important;
  }
}

@media (max-width: 360px) {
  #resenas .reviews-open-form {
    font-size: .90rem;
    padding-inline: .85rem;
  }

  body > .review-modal.review-mobile-portal .review-modal-head h3 {
    font-size: 1.40rem !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-control {
    grid-template-columns: 56px minmax(0,1fr) !important;
    gap: .62rem !important;
    padding: .66rem !important;
  }

  body > .review-modal.review-mobile-portal .review-photo-preview {
    width: 56px !important;
    height: 56px !important;
  }

  body > .review-modal.review-mobile-portal .review-star-button {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 42px !important;
    font-size: 1.75rem !important;
  }
}

@media (max-width: 699px) and (max-height: 520px) and (orientation: landscape) {
  body > .review-modal.review-mobile-portal .review-modal-dialog {
    max-height: calc(100dvh - 14px) !important;
    padding-top: 10px !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-head {
    margin-bottom: .8rem !important;
  }

  body > .review-modal.review-mobile-portal .review-modal-head p {
    display: none !important;
  }
}

/* V20.3.1 · CTAs móviles consistentes */
@media (max-width: 699px) {
  #resenas .reviews-section-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
    width: min(100%, 360px) !important;
    margin: 1.15rem auto 0 !important;
    padding-inline: .25rem !important;
  }
  #resenas .reviews-open-form,
  #resenas .reviews-all-link {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    padding: .8rem 1.15rem !important;
    font-family: inherit !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-decoration: none !important;
  }
  #resenas .reviews-all-link {
    border: 1px solid rgba(255,255,255,.58) !important;
    background: rgba(255,255,255,.94) !important;
    color: #285f53 !important;
    box-shadow: 0 8px 20px rgba(29,78,66,.14) !important;
  }
}
