.sr-wrap,.sr-widget{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#172c2a}.sr-wrap{max-width:840px;padding:22px;margin:20px auto}.sr-box,.sr-widget{background:#fff;border:1px solid #dbe7e4;border-radius:14px;padding:22px;box-shadow:0 3px 14px rgba(0,0,0,.04)}.sr-widget h3,.sr-box h1,.sr-box h2{margin-top:0;color:#123e35}.sr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sr-field{display:flex;flex-direction:column;gap:6px;font-weight:600}.sr-field input,.sr-field textarea{width:100%;box-sizing:border-box;border:1px solid #b9cbc6;border-radius:8px;padding:11px;color:#143a34;background:white;font-size:1rem}.sr-button{display:inline-block;border:0;border-radius:8px;background:#146b54;color:white;padding:12px 20px;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;margin-top:15px}.sr-button:hover{background:#0e503e}.sr-unit{border:1px solid #cce0da;border-radius:9px;padding:12px;margin:10px 0;display:flex;gap:12px;align-items:flex-start;cursor:pointer}.sr-unit:has(input:checked){border-color:#117558;background:#f0faf5}.sr-badge{font-size:.84rem;color:#51665f}.sr-links{margin-top:12px}.sr-alert{background:#fff5e7;padding:12px;border-radius:8px}.sr-check{display:flex;align-items:flex-start;gap:8px;margin-top:15px}.sr-check input{margin-top:5px}.sr-grid .sr-full{grid-column:1/-1}.sr-widget a{color:#096f54}@media(max-width:600px){.sr-grid{grid-template-columns:1fr}.sr-widget,.sr-box{padding:15px}}


/*
 * CTA de consulta de disponibilidad · Opción 2 «más vendedor»
 * Ámbito exclusivo: formulario web SISRE (.sr-widget).
 * No cambia botones de pasos posteriores ni lógica de reservas.
 */
.sr-widget button.sr-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: min(100%, 345px);
  min-height: 54px;
  box-sizing: border-box;
  padding: 13px 20px;
  border: 2px solid #F97316 !important;
  border-radius: 10px;
  background: #F97316 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(94, 38, 9, .35);
  box-shadow: 0 8px 20px rgba(194, 65, 12, .20);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sr-widget button.sr-button:hover:not(:disabled) {
  border-color: #EA580C !important;
  background: #EA580C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF;
  box-shadow: 0 10px 23px rgba(194, 65, 12, .27);
  transform: translateY(-1px);
}
.sr-widget button.sr-button:active:not(:disabled) {
  background: #C2410C !important;
  border-color: #C2410C !important;
  transform: translateY(0);
}
.sr-widget button.sr-button:focus-visible {
  outline: 3px solid #7C2D12 !important;
  outline-offset: 3px;
}
.sr-widget button.sr-button:disabled {
  opacity: .65;
  cursor: not-allowed;
  box-shadow: none;
}
@media (max-width: 600px) {
  .sr-widget button.sr-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sr-widget button.sr-button { transition: none; }
  .sr-widget button.sr-button:hover:not(:disabled) { transform: none; }
}

/* v3: motor de reservas en una sola página, aislado del CSS general */
.sr-v3{max-width:1140px;margin:24px auto;padding:clamp(18px,3vw,36px);font-size:16px;color:#19342e;background:#fff;border:1px solid #dae4e2;border-radius:18px;box-shadow:0 12px 35px rgba(12,49,46,.09)}
.sr-v3 *{box-sizing:border-box}.sr-v3-hidden{display:none!important}.sr-v3 h2,.sr-v3 h3,.sr-v3 h4{color:#143e38;line-height:1.3}.sr-v3 h3{font-size:1.25rem;margin:18px 0 16px}.sr-v3-head{margin-bottom:20px}.sr-v3 .sr-eyebrow{font-size:.8rem;color:#0F766E;letter-spacing:.11em;font-weight:800}.sr-v3 .sr-head h2{font-size:clamp(1.35rem,3vw,2rem);margin:0 0 10px}.sr-v3 .sr-head p:last-child{color:#516760}.sr-v3-window{border-top:1px solid #e3eeea;padding-top:14px}.sr-v3-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sr-v3-fields label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.92rem}.sr-v3-fields input,.sr-v3-fields select,.sr-v3-fields textarea{width:100%;min-height:45px;border:1px solid #aebfba;color:#172e29;border-radius:9px;padding:10px 12px;background:white;font:inherit;font-weight:400}.sr-v3-fields input:focus-visible,.sr-v3-fields select:focus-visible,.sr-v3-fields textarea:focus-visible,.sr-v3 button:focus-visible{outline:3px solid #126b68;outline-offset:2px}.sr-v3-span2{grid-column:1/-1}.sr-v3-button{min-height:52px;padding:12px 24px;background:#F97316;border:2px solid #F97316;color:#fff;border-radius:10px;font-size:1rem;font-weight:800;letter-spacing:.02em;cursor:pointer;text-transform:uppercase;margin-top:18px;box-shadow:0 8px 20px rgba(194,65,12,.2);transition:background .2s,border-color .2s}.sr-v3-button:not(:disabled):hover{background:#EA580C;border-color:#EA580C}.sr-v3-button:disabled{opacity:.6;cursor:not-allowed}.sr-v3-feedback{min-height:22px;margin-top:9px;color:#215544}.sr-v3-error{color:#a22d19!important}.sr-v3-duration{color:#42665e;font-size:.92rem}.sr-v3-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.sr-v3-card{border:1px solid #d7e4df;border-radius:13px;overflow:hidden;background:#fff;min-width:0}.sr-v3-card.sr-v3-selected{border-color:#0F766E;box-shadow:0 0 0 2px rgba(15,118,110,.13)}.sr-v3-photo{width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;background:#f2f7f5}.sr-v3-hero{display:block;width:100%;height:100%;object-fit:cover}.sr-v3-placeholder{height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:#647971}.sr-v3-thumbs{position:absolute;bottom:6px;left:6px;right:6px;display:flex;gap:5px}.sr-v3-thumbs button{padding:0;overflow:hidden;width:47px;height:37px;border-radius:6px;border:2px solid #fff;background:white;cursor:pointer}.sr-v3-thumbs button.is-active{border-color:#F97316}.sr-v3-thumbs img{width:100%;height:100%;object-fit:cover}.sr-v3-card-body{padding:14px}.sr-v3-card-body h4{font-size:1.04rem;margin:0 0 5px}.sr-v3-muted{color:#587069;font-size:.85rem;margin:0 0 7px}.sr-v3-rate{font-weight:750;margin:0 0 10px;color:#104d40}.sr-v3-quantity{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sr-v3-quantity span{margin-right:auto;font-size:.9rem}.sr-v3-quantity button{width:36px;height:36px;background:#f5f7f6;border:1px solid #c8d8d2;border-radius:8px;font-size:1.25rem;color:#142c27;cursor:pointer}.sr-v3-quantity output{min-width:20px;text-align:center;font-weight:800}.sr-v3-card-subtotal{font-size:.92rem;margin:10px 0 0}.sr-v3-totals{background:#f1f8f6;border:1px solid #d3e6df;padding:18px;border-radius:13px;margin:28px 0}.sr-v3-totals h3{margin:0 0 10px}.sr-v3-total-line{display:flex;justify-content:space-between;gap:16px;margin:9px 0}.sr-v3-help{color:#526b61;font-size:.86rem}.sr-v3-warning{margin:15px 0;background:#fff2e4;border-left:4px solid #F97316;padding:12px 14px;border-radius:5px;color:#613510}.sr-v3-consent{display:flex;gap:9px;align-items:flex-start;margin-top:17px}.sr-v3-consent input{margin-top:4px;accent-color:#0F766E}.sr-v3-honeypot{position:absolute!important;left:-10000px!important}.sr-v3-confirm{background:#f0faf6;border:1px solid #bfdfd2;border-radius:12px;padding:20px;margin-top:18px}.sr-v3-confirm>span{display:inline-flex;background:#0F766E;color:#fff;width:35px;height:35px;border-radius:50%;align-items:center;justify-content:center;font-weight:800}.sr-v3-no-results{grid-column:1/-1;color:#536b64;padding:18px;background:#f5f8f7;border-radius:9px}
@media(max-width:920px){.sr-v3-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sr-v3{padding:15px;margin:10px 0}.sr-v3-fields,.sr-v3-catalog{grid-template-columns:1fr}.sr-v3 .sr-v3-button{width:100%}.sr-v3-photo{aspect-ratio:16/9}.sr-v3-total-line{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){.sr-v3 .sr-v3-button{transition:none}}

/* ================================================================
   v3.2 · Diecisiete mejoras de interfaz para el motor de reservas.
   Específico de #sr-booking-v3 para evitar cambios en el sitio y SISRE.
   Los controles globales solo se dejan de fijar en páginas con este motor,
   para que no cubran el formulario al desplazarse.
   ================================================================ */
body.sr-v3-page .language-switcher,
body.sr-v3-page #header nav { position:absolute !important; }

#sr-booking-v3.sr-v3 {
  padding:clamp(16px,2.6vw,30px) !important;
  margin:18px auto 26px !important;
  font-size:16px !important;
  line-height:1.55;
  overflow:visible;
  box-shadow:0 12px 30px rgba(12,49,46,.07);
}
#sr-booking-v3.sr-v3 h3 {font-size:clamp(1.15rem,2vw,1.35rem);letter-spacing:.015em !important;margin:22px 0 14px;}
#sr-booking-v3.sr-v3 .sr-v3-head {margin-bottom:18px;}
#sr-booking-v3.sr-v3 p,
#sr-booking-v3.sr-v3 label,
#sr-booking-v3.sr-v3 select,
#sr-booking-v3.sr-v3 textarea {letter-spacing:normal !important;text-transform:none !important;}
#sr-booking-v3.sr-v3 .sr-v3-fields label {font-size:15px !important;line-height:1.35;color:#173b34 !important;font-weight:700;}
#sr-booking-v3.sr-v3 .sr-v3-fields input,
#sr-booking-v3.sr-v3 .sr-v3-fields select,
#sr-booking-v3.sr-v3 .sr-v3-fields textarea {font-size:16px !important;color:#17362f !important;background:#fff !important;min-height:48px;border:1px solid #aebfba;padding:11px 13px;border-radius:10px;width:100%;}
#sr-booking-v3.sr-v3 .sr-v3-fields textarea {min-height:110px !important;resize:vertical;max-height:300px;line-height:1.55;}
#sr-booking-v3.sr-v3 .sr-v3-fields input:focus,
#sr-booking-v3.sr-v3 .sr-v3-fields select:focus,
#sr-booking-v3.sr-v3 .sr-v3-fields textarea:focus {border-color:#0F766E;}
#sr-booking-v3.sr-v3 .sr-v3-fields {gap:18px 20px;}
#sr-booking-v3.sr-v3 .sr-v3-catalog {gap:17px;}
#sr-booking-v3.sr-v3 .sr-v3-card {
  display:flex;flex-direction:column;min-width:0;
  border-radius:15px;overflow:hidden;box-shadow:0 3px 13px rgba(15,50,45,.045);
  transition:border-color .2s,box-shadow .2s;
}
#sr-booking-v3.sr-v3 .sr-v3-card.sr-v3-selected {border:2px solid #0F766E;box-shadow:0 0 0 3px rgba(15,118,110,.10);}
#sr-booking-v3.sr-v3 .sr-v3-photo {
  aspect-ratio:16/10;max-height:215px;min-height:130px;
  background:linear-gradient(135deg,#edf4f1,#e6f0ec);
  color:#49645e;
}
#sr-booking-v3.sr-v3 .sr-v3-placeholder {
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:7px;padding:15px;line-height:1.45;color:#4b6660 !important;
  font-size:14px !important;text-align:center;
}
#sr-booking-v3.sr-v3 .sr-v3-placeholder svg {color:#75958a;flex-shrink:0;}
#sr-booking-v3.sr-v3 .sr-v3-hero {object-fit:cover;}
#sr-booking-v3.sr-v3 .sr-v3-thumbs {padding:5px 6px;gap:6px;max-width:100%;overflow:auto;}
#sr-booking-v3.sr-v3 .sr-v3-thumbs button {
  flex:0 0 47px;border:2px solid #fff !important;
  border-radius:7px !important;width:47px !important;height:40px !important;
  background:#fff !important;padding:0 !important;
  box-shadow:0 1px 6px rgba(0,0,0,.15);min-height:40px !important;
}
#sr-booking-v3.sr-v3 .sr-v3-thumbs button.is-active {border-color:#F97316 !important;}
#sr-booking-v3.sr-v3 .sr-v3-card-body {display:flex;flex:1;flex-direction:column;align-items:stretch;padding:15px;gap:8px;}
#sr-booking-v3.sr-v3 .sr-v3-name-row {display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-wrap:wrap;}
#sr-booking-v3.sr-v3 .sr-v3-card-body h4 {font-size:clamp(1rem,1.8vw,1.12rem) !important;line-height:1.4 !important;color:#173e36 !important;letter-spacing:0 !important;text-transform:none !important;margin:0;font-weight:800 !important;overflow-wrap:anywhere;}
#sr-booking-v3.sr-v3 .sr-v3-selected-badge {font-size:12px;line-height:1.5;padding:4px 8px;border-radius:999px;background:#e0f4ec;color:#116545;font-weight:750;white-space:nowrap;}
#sr-booking-v3.sr-v3 .sr-v3-type {align-self:flex-start;display:inline-flex;padding:3px 9px;border-radius:999px;background:#eef3f1;color:#415b54;font-size:13px;line-height:1.5;font-weight:650;}
#sr-booking-v3.sr-v3 .sr-v3-muted {font-size:14px !important;line-height:1.5;margin:0;color:#48635b !important;}
#sr-booking-v3.sr-v3 .sr-v3-rate {display:flex;gap:5px;align-items:baseline;flex-wrap:wrap;color:#115c46 !important;font-size:16px !important;margin:3px 0 6px;}
#sr-booking-v3.sr-v3 .sr-v3-rate strong {font-size:clamp(1.15rem,2vw,1.33rem);font-weight:850;letter-spacing:-.015em;}
#sr-booking-v3.sr-v3 .sr-v3-rate span {font-size:14px;color:#48635b;font-weight:550;}
#sr-booking-v3.sr-v3 .sr-v3-quantity {display:flex;gap:11px;align-items:center;margin-top:auto;flex-wrap:nowrap;padding-top:7px;}
#sr-booking-v3.sr-v3 .sr-v3-qty-label {margin-right:auto;color:#294c42;font-weight:700;font-size:14px !important;}
#sr-booking-v3.sr-v3 .sr-v3-quantity button.sr-v3-quantity-btn {
  display:inline-grid !important;place-items:center !important;
  flex:0 0 42px !important;width:42px !important;height:42px !important;min-height:42px !important;
  appearance:none !important;-webkit-appearance:none !important;
  margin:0 !important;padding:0 !important;border-radius:9px !important;
  border:1.5px solid #9cbbb2 !important;background:#eaf4f0 !important;
  font:800 24px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:0 !important;color:#113f35 !important;-webkit-text-fill-color:#113f35 !important;
  text-shadow:none !important;box-shadow:none !important;cursor:pointer;
}
#sr-booking-v3.sr-v3 .sr-v3-quantity button.sr-v3-quantity-btn:hover:not(:disabled) {background:#d1e9df !important;border-color:#0F766E !important;}
#sr-booking-v3.sr-v3 .sr-v3-quantity button.sr-v3-quantity-btn:disabled {background:#f3f6f5 !important;border-color:#d3deda !important;color:#61776e !important;-webkit-text-fill-color:#61776e !important;opacity:1 !important;cursor:not-allowed;}
#sr-booking-v3.sr-v3 .sr-v3-quantity output {font-size:17px !important;color:#123d35 !important;font-weight:850;min-width:2ch;text-align:center;}
#sr-booking-v3.sr-v3 .sr-v3-card-subtotal {display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap;padding-top:11px;margin:6px 0 0;border-top:1px solid #e5ede9;font-size:14px !important;}
#sr-booking-v3.sr-v3 .sr-v3-card-subtotal span {color:#466259;}
#sr-booking-v3.sr-v3 .sr-v3-card-subtotal strong {font-size:16px;color:#144e3f;white-space:nowrap;}
#sr-booking-v3.sr-v3 .sr-v3-duration {font-size:15px !important;}
#sr-booking-v3.sr-v3 .sr-v3-totals {margin:19px 0 22px;padding:18px;}
#sr-booking-v3.sr-v3 .sr-v3-total-line {font-size:15px;align-items:baseline;}
#sr-booking-v3.sr-v3 .sr-v3-total-line strong {color:#133f33;}
#sr-booking-v3.sr-v3 .sr-v3-warning {margin:16px 0 8px;background:#eff7f4;border:1px solid #cfe4da;border-left:4px solid #0F766E;padding:13px 15px;color:#225544;line-height:1.55;font-size:14px;}
#sr-booking-v3.sr-v3 .sr-v3-warning.sr-v3-warning-quote {background:#fff5e8;color:#6e3b0f;border:1px solid #f4d4a5;border-left:4px solid #F97316;}
#sr-booking-v3.sr-v3 .sr-v3-consent {display:flex;align-items:flex-start;gap:12px;margin:20px 0 10px;}
#sr-booking-v3.sr-v3 .sr-v3-consent input[type="checkbox"] {
  -moz-appearance:auto !important;-webkit-appearance:checkbox !important;appearance:auto !important;
  box-sizing:border-box !important;float:none !important;display:block !important;
  opacity:1 !important;visibility:visible !important;z-index:auto !important;
  position:static !important;clip:auto !important;clip-path:none !important;
  width:22px !important;height:22px !important;min-width:22px !important;min-height:22px !important;
  margin:1px 0 0 !important;accent-color:#0F766E;cursor:pointer;
}
#sr-booking-v3.sr-v3 .sr-v3-consent-copy {min-width:0;font-size:15px;line-height:1.55;color:#26483d;}
#sr-booking-v3.sr-v3 .sr-v3-consent-copy label {display:inline !important;float:none !important;margin:0 !important;padding:0 !important;position:static !important;font-size:15px !important;line-height:inherit !important;color:#26483d !important;cursor:pointer;font-weight:550 !important;}
#sr-booking-v3.sr-v3 .sr-v3-consent-copy label:before {content:none !important;}
#sr-booking-v3.sr-v3 .sr-v3-privacy-link {font-size:14px !important;text-decoration:underline !important;text-underline-offset:2px;color:#0F6A55 !important;display:inline;}
#sr-booking-v3.sr-v3 .sr-v3-privacy {margin:5px 0 12px;border:1px solid #dce7e2;background:#f9fbfa;border-radius:10px;padding:8px 12px;color:#38594c;font-size:14px;}
#sr-booking-v3.sr-v3 .sr-v3-privacy summary {cursor:pointer;font-weight:700;color:#195745;font-size:14px;}
#sr-booking-v3.sr-v3 .sr-v3-privacy p {margin:9px 0;font-size:14px;line-height:1.55;}
#sr-booking-v3.sr-v3 .sr-v3-help {font-size:14px !important;line-height:1.55 !important;color:#496156 !important;margin:10px 0 12px;}
#sr-booking-v3.sr-v3 button.sr-v3-button {
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  font-size:16px !important;font-weight:800 !important;line-height:1.35 !important;
  padding:13px 22px !important;min-height:54px !important;max-width:100%;
  background:#F97316 !important;border:2px solid #F97316 !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  text-shadow:none !important;letter-spacing:.025em !important;text-transform:uppercase !important;
  border-radius:10px !important;box-shadow:0 8px 20px rgba(194,65,12,.16) !important;
  outline:0 solid transparent;cursor:pointer;
}
#sr-booking-v3.sr-v3 button.sr-v3-button:hover:not(:disabled) {background:#EA580C !important;border-color:#EA580C !important;color:#fff !important;-webkit-text-fill-color:#fff !important;}
#sr-booking-v3.sr-v3 button.sr-v3-button:focus-visible {outline:3px solid #143d36 !important;outline-offset:3px !important;}
#sr-booking-v3.sr-v3 button.sr-v3-button:disabled {opacity:.72 !important;color:#fff !important;-webkit-text-fill-color:#fff !important;}
#sr-booking-v3.sr-v3 #sr-submit {margin:17px 0 6px;}
#sr-booking-v3.sr-v3 .sr-v3-feedback {font-size:14px !important;line-height:1.5;min-height:0;margin:6px 0 0;}
#sr-booking-v3.sr-v3 .sr-v3-feedback:empty {display:none;}
#sr-booking-v3.sr-v3 #sr-customer-form {padding-bottom:5px;}
#sr-booking-v3.sr-v3 .sr-v3-mobile-summary {display:none;}
@media(max-width:920px){#sr-booking-v3.sr-v3 .sr-v3-catalog{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
 #sr-booking-v3.sr-v3 {margin:8px 0 20px !important;padding:15px !important;}
 #sr-booking-v3.sr-v3 .sr-v3-fields,
 #sr-booking-v3.sr-v3 .sr-v3-catalog {grid-template-columns:minmax(0,1fr);gap:14px;}
 #sr-booking-v3.sr-v3 .sr-v3-photo {aspect-ratio:16/9;max-height:235px;}
 #sr-booking-v3.sr-v3 .sr-v3-quantity button.sr-v3-quantity-btn{width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;}
 #sr-booking-v3.sr-v3 button.sr-v3-button{width:100%;}
 #sr-booking-v3.sr-v3 .sr-v3-mobile-summary {position:sticky;top:10px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;background:#fff;border:1px solid #c2d9ce;box-shadow:0 7px 25px rgba(9,57,37,.16);border-radius:12px;padding:12px 13px;margin:12px 0 0;font-size:14px;}
 #sr-booking-v3.sr-v3 .sr-v3-mobile-summary strong {margin-left:auto;font-size:16px;color:#165444;}
 #sr-booking-v3.sr-v3 .sr-v3-mobile-summary a {display:inline-block;width:100%;color:#fff !important;background:#C2410C;border-radius:8px;padding:10px 12px;text-align:center;text-decoration:none;font-weight:800;}
}
@media(prefers-reduced-motion:reduce){#sr-booking-v3.sr-v3 .sr-v3-card {transition:none;}}
