:root{
  --shpm-v2-bg:#eceff3;
  --shpm-v2-surface:#ffffff;
  --shpm-v2-surface-2:#f6f7fb;
  --shpm-v2-text:#10131a;
  --shpm-v2-muted:#5f6470;
  --shpm-v2-border:#dfe3ea;
  --shpm-v2-border-2:#d4d9e2;
  --shpm-v2-accent:#2563eb;
  --shpm-v2-shadow:0 18px 60px rgba(15,23,42,.18);
  --shpm-v2-radius:28px;
}

.shpm-v2-trigger{
  appearance:none;
  border:1px solid rgba(15,23,42,.08);
  background:#f7f8fb;
  color:#111827;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.shpm-v2-trigger:hover{transform:translateY(-1px);background:#eef1f7;color:#0f172a;border-color:rgba(15,23,42,.12)}
.shpm-v2-trigger svg{width:18px;height:18px;display:block}
.shpm-v2-desktop-slot,.shpm-v2-footer-slot{display:inline-flex;align-items:center;margin-left:10px}

.shpm-v2-mobile-host{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.08)}
.shpm-v2-mobile-row{
  appearance:none;
  width:100%;
  border:0;
  background:#f7f8fb;
  color:#111827;
  border-radius:18px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 16px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.shpm-v2-mobile-row__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none}
.shpm-v2-mobile-row__icon svg{width:18px;height:18px;display:block}

.shpm-v2-modal{position:fixed;inset:0;z-index:2147483647 !important;display:none;align-items:center;justify-content:center;padding:16px}
.shpm-v2-modal.is-open{display:flex}
.shpm-v2-backdrop{position:absolute;inset:0;background:rgba(10,15,25,.28);backdrop-filter:blur(8px)}
.shpm-v2-dialog{
  position:relative;
  width:min(100%, 760px);
  max-height:min(92vh, 980px);
  overflow:auto;
  background:var(--shpm-v2-bg);
  color:var(--shpm-v2-text);
  border:1px solid rgba(255,255,255,.5);
  border-radius:34px;
  box-shadow:var(--shpm-v2-shadow);
  padding:18px;
  display:none;
}
.shpm-v2-dialog.is-active{display:block}

.shpm-v2-header{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
  padding:8px 8px 18px;
}
.shpm-v2-header--sub{grid-template-columns:auto 1fr auto}
.shpm-v2-title{margin:0;text-align:center;font-size:28px;line-height:1.1;font-weight:800;color:var(--shpm-v2-text)}
.shpm-v2-done,
.shpm-v2-back{
  appearance:none;
  border:0;
  background:#f7f8fb;
  color:var(--shpm-v2-text);
  border-radius:18px;
  min-height:52px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.shpm-v2-back svg{width:18px;height:18px;display:block}
.shpm-v2-card{
  background:var(--shpm-v2-surface);
  border:1px solid var(--shpm-v2-border);
  border-radius:28px;
  overflow:hidden;
}
.shpm-v2-card + .shpm-v2-card,
.shpm-v2-section-title + .shpm-v2-card{margin-top:12px}
.shpm-v2-section-title{
  margin:22px 10px 12px;
  color:#777d89;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
}
.shpm-v2-row{
  width:100%;
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 18px;
  text-align:left;
  cursor:pointer;
}
.shpm-v2-row + .shpm-v2-row{border-top:1px solid var(--shpm-v2-border)}
.shpm-v2-row--static{cursor:default}
.shpm-v2-row__title{font-size:22px;font-weight:800;line-height:1.08;color:var(--shpm-v2-text)}
.shpm-v2-row__desc{margin-top:8px;font-size:15px;line-height:1.4;color:var(--shpm-v2-muted);max-width:520px}
.shpm-v2-row__chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#7a8394;flex:none}
.shpm-v2-row__chevron svg{width:18px;height:18px;display:block}

.shpm-v2-form{display:grid;gap:16px;padding:18px}
.shpm-v2-field{display:grid;gap:8px}
.shpm-v2-field > span{font-size:15px;font-weight:800;color:var(--shpm-v2-text)}
.shpm-v2-field input,
.shpm-v2-field select,
.shpm-v2-field textarea{
  appearance:none;
  width:100%;
  border:1px solid var(--shpm-v2-border-2);
  background:var(--shpm-v2-surface-2);
  color:var(--shpm-v2-text);
  border-radius:18px;
  padding:15px 16px;
  font:inherit;
  line-height:1.4;
  outline:none;
}
.shpm-v2-field textarea{resize:vertical;min-height:120px}
.shpm-v2-field input:focus,
.shpm-v2-field select:focus,
.shpm-v2-field textarea:focus{border-color:#a7b8ff;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.shpm-v2-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.shpm-v2-status{font-size:14px;font-weight:700;color:var(--shpm-v2-muted);flex:1 1 220px}
.shpm-v2-submit{
  appearance:none;
  border:0;
  background:#10131a;
  color:#ffffff;
  min-height:52px;
  padding:0 22px;
  border-radius:18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.shpm-v2-submit:hover{background:#1f2937}

.shpm-v2-policy-list{padding:2px 0}
.shpm-v2-policy-item{padding:18px}
.shpm-v2-policy-item + .shpm-v2-policy-item{border-top:1px solid var(--shpm-v2-border)}
.shpm-v2-policy-item h3{margin:0 0 8px;font-size:19px;line-height:1.18;font-weight:800;color:var(--shpm-v2-text)}
.shpm-v2-policy-item p{margin:0;font-size:15px;line-height:1.45;color:var(--shpm-v2-muted)}

@media (max-width: 999px){
  .shpm-v2-desktop-slot,.shpm-v2-footer-slot{margin-left:8px}
}

@media (max-width: 767px){
  .shpm-v2-modal{padding:10px}
  .shpm-v2-dialog{width:min(100%, 92vw);border-radius:28px;padding:14px;max-height:94vh}
  .shpm-v2-title{font-size:24px}
  .shpm-v2-done,.shpm-v2-back{min-height:46px;border-radius:16px;padding:0 14px}
  .shpm-v2-row{padding:18px 16px}
  .shpm-v2-row__title{font-size:19px}
  .shpm-v2-row__desc{font-size:14px}
  .shpm-v2-form{padding:16px}
}

@media (max-width: 480px){
  .shpm-v2-dialog{width:min(100%, 96vw);padding:12px;border-radius:26px}
  .shpm-v2-header{padding:4px 4px 14px}
  .shpm-v2-title{font-size:22px}
  .shpm-v2-done,.shpm-v2-back{min-height:44px;padding:0 12px}
  .shpm-v2-row{padding:16px 14px;gap:14px}
  .shpm-v2-row__title{font-size:18px}
  .shpm-v2-section-title{margin:18px 8px 10px}
}


/* V3: acordeones de políticas legales */
.shpm-v3-policy-list{
  padding: 0;
}
.shpm-v3-policy-item{
  border-top: 1px solid var(--shpm-v2-border);
}
.shpm-v3-policy-item:first-child{
  border-top: 0;
}
.shpm-v3-policy-summary{
  list-style: none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  cursor:pointer;
}
.shpm-v3-policy-summary::-webkit-details-marker{
  display:none;
}
.shpm-v3-policy-summary__title{
  font-size:19px;
  line-height:1.2;
  font-weight:800;
  color:var(--shpm-v2-text);
}
.shpm-v3-policy-summary__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  color:#7a8394;
  transition:transform .18s ease;
  flex:none;
}
.shpm-v3-policy-item[open] .shpm-v3-policy-summary__icon{
  transform:rotate(90deg);
}
.shpm-v3-policy-content{
  padding:0 18px 20px;
  color:var(--shpm-v2-muted);
  font-size:15px;
  line-height:1.55;
}
.shpm-v3-policy-content h4{
  margin:14px 0 8px;
  color:var(--shpm-v2-text);
  font-size:15px;
  line-height:1.35;
  font-weight:800;
}
.shpm-v3-policy-content p{
  margin:0 0 10px;
}
.shpm-v3-policy-content ul{
  margin:0 0 12px 18px;
  padding:0;
}
.shpm-v3-policy-content li{
  margin:0 0 8px;
}
.shpm-v3-policy-content a{
  color:var(--shpm-v2-accent);
  word-break:break-word;
}
@media (max-width:767px){
  .shpm-v3-policy-summary{
    padding:16px;
  }
  .shpm-v3-policy-summary__title{
    font-size:17px;
  }
  .shpm-v3-policy-content{
    padding:0 16px 18px;
    font-size:14px;
  }
}


/* V3.1: páginas legales separadas enlazadas desde el modal */
.shpm-v2-row--link{
  text-decoration:none;
}
.shpm-v2-row--link:hover{
  background:#f8faff;
}
.shpm-v31-policy-links .shpm-v2-row__title{
  font-size:20px;
}
.shpm-v31-policy-footnote{
  margin:12px 10px 4px;
  color:var(--shpm-v2-muted);
  font-size:14px;
  line-height:1.45;
}
.shpm-v31-policy-page{
  display:grid;
  gap:18px;
}
.shpm-v31-policy-page__meta{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:#f6f7fb;
  border:1px solid #dfe3ea;
  color:#5f6470;
  font-size:14px;
  font-weight:700;
}
.shpm-v31-policy-page__content h4{
  margin:22px 0 10px;
  font-size:22px;
  line-height:1.2;
  color:#10131a;
}
.shpm-v31-policy-page__content p,
.shpm-v31-policy-page__content li{
  font-size:16px;
  line-height:1.65;
  color:#2e3440;
}
.shpm-v31-policy-page__content ul{
  margin:0 0 14px 20px;
}
.shpm-v31-policy-page__content a{
  color:#2563eb;
}
@media (max-width:767px){
  .shpm-v31-policy-links .shpm-v2-row__title{font-size:18px;}
  .shpm-v31-policy-page__content h4{font-size:20px;}
  .shpm-v31-policy-page__content p,
  .shpm-v31-policy-page__content li{font-size:15px;}
}


/* VERSION 3.1.4: botón en pie de página escritorio */
.shpm-v2-footer-slot{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:100% !important;
  margin:12px 0 0 !important;
}
@media (max-width: 999px){
  .shpm-v2-footer-slot{display:none !important;}
}


/* VERSION 3.1.1: forzar botón en footer escritorio */
@media (min-width: 1000px){
  .shpm-v2-footer-slot{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:100% !important;
    margin-top:12px !important;
  }

  .shpm-v2-footer-fallback{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:100% !important;
    max-width:1200px !important;
    margin:14px auto 0 !important;
    padding:0 18px 18px !important;
    box-sizing:border-box !important;
  }

  .shpm-v2-footer-fallback--body{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:9997 !important;
    pointer-events:none !important;
    padding:0 18px 18px !important;
    background:linear-gradient(to top, rgba(255,255,255,.92), rgba(255,255,255,0)) !important;
  }

  .shpm-v2-footer-fallback--body .shpm-v2-footer-slot{
    pointer-events:auto !important;
    margin-top:0 !important;
  }

  html body .shpm-v2-trigger--desktop{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media (max-width: 999px){
  .shpm-v2-footer-slot,
  .shpm-v2-footer-fallback{
    display:none !important;
  }
}


/* VERSION 3.1.2: compatibilidad fuerte con dark mode y azul noche */
html.shdm-enabled .shpm-v2-trigger,
html.shdm-enabled .shpm-v2-mobile-row,
html.shdm-enabled .shpm-v2-done,
html.shdm-enabled .shpm-v2-back{
  background:#111827 !important;
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.08) !important;
}

html.shdm-enabled .shpm-v2-trigger:hover,
html.shdm-enabled .shpm-v2-mobile-row:hover,
html.shdm-enabled .shpm-v2-done:hover,
html.shdm-enabled .shpm-v2-back:hover{
  background:#172033 !important;
  color:#7dd3fc !important;
  border-color:rgba(125,211,252,.18) !important;
}

html.shdm-enabled .shpm-v2-mobile-host{
  border-top:1px solid rgba(255,255,255,.08) !important;
}

html.shdm-enabled .shpm-v2-backdrop{
  background:rgba(2,6,23,.58) !important;
  backdrop-filter:blur(10px) !important;
}

html.shdm-enabled .shpm-v2-dialog{
  background:#0f172a !important;
  color:#f8fafc !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.45) !important;
}

html.shdm-enabled .shpm-v2-card{
  background:#111827 !important;
  border-color:rgba(255,255,255,.08) !important;
}

html.shdm-enabled .shpm-v2-title,
html.shdm-enabled .shpm-v2-row__title,
html.shdm-enabled .shpm-v2-field > span,
html.shdm-enabled .shpm-v2-policy-item h3,
html.shdm-enabled .shpm-v3-policy-summary__title,
html.shdm-enabled .shpm-v3-policy-content h4,
html.shdm-enabled .shpm-v31-policy-page__content h4{
  color:#f8fafc !important;
}

html.shdm-enabled .shpm-v2-row__desc,
html.shdm-enabled .shpm-v2-status,
html.shdm-enabled .shpm-v2-policy-item p,
html.shdm-enabled .shpm-v3-policy-content,
html.shdm-enabled .shpm-v3-policy-content p,
html.shdm-enabled .shpm-v3-policy-content li,
html.shdm-enabled .shpm-v31-policy-footnote,
html.shdm-enabled .shpm-v31-policy-page__content p,
html.shdm-enabled .shpm-v31-policy-page__content li{
  color:#cbd5e1 !important;
}

html.shdm-enabled .shpm-v2-row + .shpm-v2-row,
html.shdm-enabled .shpm-v2-policy-item + .shpm-v2-policy-item,
html.shdm-enabled .shpm-v3-policy-item,
html.shdm-enabled .shpm-v31-policy-page__meta{
  border-color:rgba(255,255,255,.08) !important;
}

html.shdm-enabled .shpm-v2-field input,
html.shdm-enabled .shpm-v2-field select,
html.shdm-enabled .shpm-v2-field textarea{
  background:#111827 !important;
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.08) !important;
}

html.shdm-enabled .shpm-v2-field input::placeholder,
html.shdm-enabled .shpm-v2-field textarea::placeholder{
  color:#94a3b8 !important;
}

html.shdm-enabled .shpm-v2-field input:focus,
html.shdm-enabled .shpm-v2-field select:focus,
html.shdm-enabled .shpm-v2-field textarea:focus{
  border-color:rgba(125,211,252,.4) !important;
  box-shadow:0 0 0 3px rgba(125,211,252,.14) !important;
}

html.shdm-enabled .shpm-v2-submit{
  background:#1d4ed8 !important;
  color:#ffffff !important;
}

html.shdm-enabled .shpm-v2-submit:hover{
  background:#2563eb !important;
}

html.shdm-enabled .shpm-v3-policy-content a,
html.shdm-enabled .shpm-v31-policy-page__content a{
  color:#7dd3fc !important;
}

html.shdm-enabled .shpm-v31-policy-page__meta{
  background:#111827 !important;
  color:#cbd5e1 !important;
}

html.shdm-enabled .shpm-v2-footer-fallback--body{
  background:linear-gradient(to top, rgba(15,23,42,.96), rgba(15,23,42,0)) !important;
}

/* Azul noche */
html[data-senorh-theme="darkblue"] .shpm-v2-trigger,
html[data-senorh-theme="darkblue"] .shpm-v2-mobile-row,
html[data-senorh-theme="darkblue"] .shpm-v2-done,
html[data-senorh-theme="darkblue"] .shpm-v2-back{
  background:#1b2f4a !important;
  color:#f5f9ff !important;
  border-color:rgba(201,226,255,.10) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-trigger:hover,
html[data-senorh-theme="darkblue"] .shpm-v2-mobile-row:hover,
html[data-senorh-theme="darkblue"] .shpm-v2-done:hover,
html[data-senorh-theme="darkblue"] .shpm-v2-back:hover{
  background:#22395a !important;
  color:#93c5fd !important;
  border-color:rgba(147,197,253,.22) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-mobile-host{
  border-top:1px solid rgba(201,226,255,.10) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-backdrop{
  background:rgba(7,16,30,.58) !important;
  backdrop-filter:blur(10px) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-dialog{
  background:#16263d !important;
  color:#f5f9ff !important;
  border:1px solid rgba(201,226,255,.10) !important;
  box-shadow:0 22px 70px rgba(5,14,28,.50) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-card{
  background:#1b2f4a !important;
  border-color:rgba(201,226,255,.10) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-title,
html[data-senorh-theme="darkblue"] .shpm-v2-row__title,
html[data-senorh-theme="darkblue"] .shpm-v2-field > span,
html[data-senorh-theme="darkblue"] .shpm-v2-policy-item h3,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-summary__title,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-content h4,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__content h4{
  color:#f5f9ff !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-row__desc,
html[data-senorh-theme="darkblue"] .shpm-v2-status,
html[data-senorh-theme="darkblue"] .shpm-v2-policy-item p,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-content,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-content p,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-content li,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-footnote,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__content p,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__content li{
  color:#d4e2f6 !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-row + .shpm-v2-row,
html[data-senorh-theme="darkblue"] .shpm-v2-policy-item + .shpm-v2-policy-item,
html[data-senorh-theme="darkblue"] .shpm-v3-policy-item,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__meta{
  border-color:rgba(201,226,255,.10) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-field input,
html[data-senorh-theme="darkblue"] .shpm-v2-field select,
html[data-senorh-theme="darkblue"] .shpm-v2-field textarea{
  background:#1b2f4a !important;
  color:#f5f9ff !important;
  border-color:rgba(201,226,255,.10) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-field input::placeholder,
html[data-senorh-theme="darkblue"] .shpm-v2-field textarea::placeholder{
  color:#9fb3cc !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-field input:focus,
html[data-senorh-theme="darkblue"] .shpm-v2-field select:focus,
html[data-senorh-theme="darkblue"] .shpm-v2-field textarea:focus{
  border-color:rgba(147,197,253,.42) !important;
  box-shadow:0 0 0 3px rgba(147,197,253,.14) !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-submit{
  background:#2563eb !important;
  color:#ffffff !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-submit:hover{
  background:#3b82f6 !important;
}

html[data-senorh-theme="darkblue"] .shpm-v3-policy-content a,
html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__content a{
  color:#93c5fd !important;
}

html[data-senorh-theme="darkblue"] .shpm-v31-policy-page__meta{
  background:#1b2f4a !important;
  color:#d4e2f6 !important;
}

html[data-senorh-theme="darkblue"] .shpm-v2-footer-fallback--body{
  background:linear-gradient(to top, rgba(22,38,61,.96), rgba(22,38,61,0)) !important;
}


/* VERSION 3.1.3: modal móvil por encima del footer fijo */
@media (max-width: 767px){
  html.shpm-v2-modal-open [data-amfhs-mobile-footer="1"],
  html.shpm-v2-modal-open .amfhs-mobile-footer,
  body.shpm-v2-modal-open [data-amfhs-mobile-footer="1"],
  body.shpm-v2-modal-open .amfhs-mobile-footer{
    z-index:2147483000 !important;
    pointer-events:none !important;
  }
}
