/* Session Booking — plantilla premium de producto. Todo namespaced con "sbk-" */
:root{--sbk-ink:#191817;--sbk-paper:#F6F2EA;--sbk-brass:#8C6A32;--sbk-stone:#8B8579;--sbk-line:rgba(25,24,23,.14);}
.sbk-product{font-family:'Inter',sans-serif;color:var(--sbk-ink);background:#fff;}
.sbk-product h1,.sbk-product h2,.sbk-product h3{font-family:'Fraunces','Georgia',serif;font-weight:400;margin:0;}
.sbk-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sbk-brass);font-weight:500;}
.sbk-eyebrow-light{color:var(--sbk-brass);}

/* Layout principal: descripción a la izquierda, widget de reserva a la derecha */
.sbk-layout{display:grid;grid-template-columns: minmax(300px, 1fr) minmax(320px, 460px);gap:56px;
  padding:64px 48px;max-width:1180px;margin:0 auto;align-items:start;}
.sbk-layout-left{padding-top:8px;}
.sbk-title{font-size:38px;line-height:1.15;margin:14px 0;}
.sbk-price-line{display:flex;gap:14px;align-items:baseline;margin-bottom:20px;}
.sbk-amt{font-family:'Fraunces',serif;font-size:26px;}
.sbk-sub{font-size:13px;color:var(--sbk-stone);}
.sbk-lede{font-size:16px;color:#3c3b39;line-height:1.65;margin-bottom:10px;}
.sbk-description{font-size:15.5px;color:#3c3b39;line-height:1.75;}

/* Panel del widget de reserva (columna derecha) — fondo blanco, con borde
   sutil para diferenciarlo del resto de la página en vez de un color de
   fondo distinto. */
.sbk-layout-right{background:#fff;color:var(--sbk-ink);padding:32px;border:1px solid var(--sbk-line);}

.sbk-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--sbk-line);font-size:15px;}
.sbk-row.sbk-total{font-family:'Fraunces',serif;font-size:19px;border-top:1px solid var(--sbk-line);padding-top:18px;margin-top:6px;}
.sbk-fine{font-size:12.5px;color:var(--sbk-stone);margin-top:14px;line-height:1.6;}

/* Wizard de reserva en dos páginas (dentro del shortcode) */
.sbk-wizard-page-1 h3, .sbk-wizard-page-2 h3{color:var(--sbk-ink);font-size:19px;margin-bottom:14px;}
.sbk-page2-grid{display:grid;grid-template-columns:1fr;gap:28px;}
.sbk-selected-datetime{font-size:14px;color:var(--sbk-brass);margin:6px 0 18px;}
.sbk-back-to-page1{background:transparent;border:none;color:var(--sbk-stone);font-size:13px;margin-top:14px;cursor:pointer;text-decoration:underline;}

.sbk-coupon-giftcard{margin-top:22px;}
.sbk-cg-row{display:flex;gap:8px;margin-bottom:6px;}
.sbk-cg-row input{flex:1;padding:10px;border:1px solid var(--sbk-line);background:#fff;color:var(--sbk-ink);font-size:13px;}
.sbk-cg-row button{border:1px solid var(--sbk-ink);background:transparent;color:var(--sbk-ink);padding:0 16px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;}
.sbk-wizard-page-1 .button, .sbk-wizard-page-2 .button{display:inline-block;background:var(--sbk-ink);color:#fff;
  border:1px solid var(--sbk-ink);padding:14px 26px;text-transform:uppercase;letter-spacing:.08em;font-size:13px;cursor:pointer;margin-top:8px;}

.sbk-payment-method{margin:14px 0 10px;font-size:14px;}
.sbk-payment-method label{display:block;margin-bottom:8px;cursor:pointer;}
.sbk-payment-proof-field{margin-bottom:14px;}
.sbk-field-label{display:block;font-size:13px;margin-bottom:6px;color:var(--sbk-stone);}
.sbk-terms-field{font-size:13px;margin:14px 0;}
.sbk-terms-field label{cursor:pointer;}
.sbk-toggle-terms{font-size:12px;margin-left:6px;color:var(--sbk-brass);}
.sbk-terms-text{margin-top:8px;padding:12px;border:1px solid var(--sbk-line);font-size:12.5px;color:var(--sbk-stone);line-height:1.6;}
.sbk-portfolio-notice{font-size:12px;color:var(--sbk-stone);margin:8px 0 2px;line-height:1.5;}
.sbk-portfolio-optout-toggle{margin:4px 0 0;}
.sbk-field-hint{display:block;margin-top:4px;font-size:11px;color:#999;}
.sbk-phone-field{display:flex;gap:0;}
.sbk-phone-field select.sbk-customer-phone-country{
	flex:0 0 auto;
	width:auto;
	max-width:110px;
	border-right:none;
}
.sbk-phone-field input.sbk-customer-phone-number{flex:1 1 auto;}
.sbk-portfolio-optout-toggle a{font-size:11px;color:#999;text-decoration:underline;}
.sbk-portfolio-optout-field{margin-top:6px;padding:10px;border:1px dashed var(--sbk-line);font-size:12px;color:var(--sbk-stone);}
.sbk-portfolio-optout-field label{display:flex !important;align-items:flex-start;gap:8px;cursor:pointer;}

.sbk-related{max-width:1180px;margin:0 auto;padding:0 48px 80px;}
.sbk-filmstrip{display:flex;border-top:1px solid var(--sbk-line);margin-top:16px;}
.sbk-filmstrip-item{flex:1;display:flex;gap:14px;align-items:center;padding:18px;border-right:1px solid var(--sbk-line);
  border-bottom:1px solid var(--sbk-line);text-decoration:none;color:var(--sbk-ink);}
.sbk-fs-name{font-family:'Fraunces',serif;font-size:15px;}
.sbk-fs-price{font-size:12px;color:var(--sbk-stone);}

/* Formulario de reserva público (shortcode) */
.sbk-booking-form input:not([type="radio"]):not([type="checkbox"]){width:100%;padding:12px;margin-bottom:10px;border:1px solid var(--sbk-line);
  background:#fff;color:var(--sbk-ink);}
.sbk-booking-form textarea{width:100%;padding:12px;margin-bottom:10px;border:1px solid var(--sbk-line);
  background:#fff;color:var(--sbk-ink);font-family:inherit;box-sizing:border-box;}
.sbk-booking-form input[type="radio"],
.sbk-booking-form input[type="checkbox"]{width:auto;margin:0;flex-shrink:0;}
.sbk-payment-method label,
.sbk-terms-field label{display:flex !important;align-items:center;gap:8px;}
.sbk-slots-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sbk-slot{border:1px solid var(--sbk-stone);padding:8px 14px;cursor:pointer;font-size:13px;color:var(--sbk-ink);}
.sbk-slot.is-selected{background:var(--sbk-brass);color:#fff;border-color:var(--sbk-brass);}
.sbk-add-to-cart{width:100%;padding:16px;background:var(--sbk-ink);color:#fff;border:1px solid var(--sbk-ink);
  text-transform:uppercase;letter-spacing:.08em;font-size:13px;cursor:pointer;margin-top:16px;}

/* Lista vertical de fechas próximas */
.sbk-dates-list{display:flex;flex-direction:column;}
.sbk-date-block{padding:20px 0;border-top:1px solid var(--sbk-line);}
.sbk-date-block:first-child{border-top:none;padding-top:0;}
.sbk-date-heading{font-family:'Fraunces',serif;font-weight:400;font-size:19px;margin:0 0 4px;
  text-transform:capitalize;color:var(--sbk-ink);}
.sbk-date-spots{font-size:13px;color:var(--sbk-stone);margin:0;}
.sbk-date-bonus{font-size:13px;color:var(--sbk-brass);font-weight:400;margin:0 0 4px;}
.sbk-date-bonus strong{font-weight:700;}
.sbk-presale-banner{margin:0 0 16px;font-size:14px;}
.sbk-book-btn{display:block;width:100%;margin-top:16px;padding:16px;background:var(--sbk-ink);color:#fff;
  border:1px solid var(--sbk-ink);text-transform:uppercase;letter-spacing:.08em;font-size:13px;cursor:pointer;}
.sbk-load-more-dates{margin-top:10px;background:transparent;border:1px solid var(--sbk-line);
  color:var(--sbk-ink);padding:10px 18px;cursor:pointer;font-size:13px;}
.sbk-dates-loading{color:var(--sbk-stone);font-size:13px;}

@media (max-width: 780px){
  .sbk-layout{grid-template-columns:1fr;}
}

/* Banner de la landing de categoría */
.sbk-category-banner{padding:80px 48px;text-align:center;background-size:cover;background-position:center;position:relative;}
.sbk-category-banner.has-image{padding:110px 48px;}
.sbk-category-banner.has-image::before{content:"";position:absolute;inset:0;background:rgba(25,24,23,.45);}
.sbk-category-banner.has-image .sbk-category-banner-inner{position:relative;color:#fff;}
.sbk-category-banner.has-image .sbk-title{color:#fff;}
.sbk-category-banner.has-image .sbk-lede{color:#f1ede4;}
.sbk-category-banner-inner{max-width:640px;margin:0 auto;}
.sbk-category-grid{max-width:1180px;margin:0 auto;padding:48px;}
.sbk-category-grid ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap:24px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
}
.sbk-category-grid ul.products li.product,
.sbk-category-grid ul.products li.sbk-card{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  clear:none !important;
  min-height:0 !important;
}

/* Lista de Paquetes de Coordinación (sin horario) dentro de la landing de categoría */
.sbk-package-list{max-width:720px;margin:0 auto;}
.sbk-package-list-item{border:1px solid var(--sbk-line);padding:28px;margin-bottom:24px;}
.sbk-package-list-title{font-family:'Fraunces',serif;font-size:22px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.03em;}
.sbk-package-list-excerpt{font-size:14.5px;color:#3c3b39;line-height:1.7;margin:16px 0 20px;}
.sbk-btn{display:inline-block;background:var(--sbk-ink);color:#fff;text-decoration:none;
  padding:14px 26px;text-transform:uppercase;letter-spacing:.08em;font-size:13px;}

/* Widget combinado: paquetes + fechas ocultas hasta elegir uno */
.sbk-rp-heading{font-family:'Fraunces',serif;font-size:22px;margin:0 0 18px;}
.sbk-rp-options .sbk-package-list-item{cursor:default;}
.sbk-rp-choose{border:none;cursor:pointer;}
.sbk-rp-back{display:inline-block;margin-bottom:16px;font-size:13px;color:var(--sbk-brass);text-decoration:none;}

/* Selector único "Elige un servicio" — grilla de tarjetas visuales */
.sbk-session-tiles{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:20px;margin:24px 0;}
.sbk-session-tile{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;overflow:hidden;
  text-decoration:none;background:linear-gradient(135deg,#C9BCA0,#EADFC7 55%,#B9A97D);
  background-size:cover;background-position:center;border:1px solid var(--sbk-line);
  transition:transform .2s ease;}
.sbk-session-tile:hover{transform:translateY(-4px);}
.sbk-session-tile.has-image::before{content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(25,24,23,.75), rgba(25,24,23,.05) 55%);}
.sbk-session-tile-name{position:relative;z-index:1;padding:18px;font-family:'Fraunces',serif;
  font-size:19px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);}
.sbk-session-tile:not(.has-image) .sbk-session-tile-name{color:var(--sbk-ink);text-shadow:none;}
ul.products li.sbk-card{list-style:none;margin:0 0 24px;}
.sbk-card-link{display:block;width:100% !important;text-decoration:none;color:var(--sbk-ink);background:#fff;
  border:1px solid var(--sbk-line);overflow:hidden;}
.sbk-card-media{position:relative;}
.sbk-card-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.sbk-card-img-placeholder{background:linear-gradient(135deg,#C9BCA0,#EADFC7 55%,#B9A97D);}
.sbk-card-price-tag{position:absolute;top:14px;left:14px;background:var(--sbk-brass);color:#fff;
  font-size:13px;padding:5px 12px;font-family:'Fraunces',serif;}
.sbk-card-body{padding:18px 18px 22px;}
.sbk-card-title{font-family:'Fraunces',serif;font-size:19px;margin:0 0 8px;text-decoration:underline;
  text-decoration-color:var(--sbk-line);}
.sbk-card-excerpt{font-size:14px;line-height:1.6;color:#3c3b39;margin:0;}
