
:root{--ulytd-border:#e5e7eb;--ulytd-muted:#6b7280;--ulytd-dark:#0f172a;--ulytd-soft:#f8fafc;--ulytd-accent:#111827}
.ulytd-wrap{max-width:980px;margin:0 auto;padding:10px}
.ulytd-card{border:1px solid var(--ulytd-border);border-radius:18px;padding:16px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.ulytd-title{font-size:28px;line-height:1.1;font-weight:900;text-align:center;margin:6px 0 18px;color:var(--ulytd-dark)}
.ulytd-subtitle{font-weight:800;margin:0 0 10px;color:var(--ulytd-dark)}
.ulytd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ulytd-grid label{display:flex;flex-direction:column;font-weight:700;gap:7px;color:var(--ulytd-dark)}
.ulytd-grid input,.ulytd-grid select,.ulytd-wrap textarea{
  padding:12px 12px;border:1px solid #d0d7de;border-radius:14px;font-weight:500;
  background:var(--ulytd-soft)
}
.ulytd-wrap textarea{min-height:90px}
.ulytd-fieldset{margin-top:14px;border:1px solid var(--ulytd-border);border-radius:16px;padding:14px;background:var(--ulytd-soft)}
.ulytd-extras{display:flex;flex-wrap:wrap;gap:10px}
.ulytd-check{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ulytd-border);border-radius:999px;background:#fff}
.ulytd-check input{transform:scale(1.05)}
.ulytd-quote{margin-top:14px}
.ulytd-quote-head{display:flex;flex-direction:column;gap:2px;margin:2px 0 10px}
.ulytd-quote-head-title{font-weight:900;font-size:18px;color:var(--ulytd-dark)}
.ulytd-quote-head-sub{font-size:13px;color:var(--ulytd-muted)}
.ulytd-quote-box{border:1px solid var(--ulytd-border);border-radius:18px;padding:14px;background:#fff}
.ulytd-quote-title{font-weight:900;margin-bottom:10px;color:var(--ulytd-dark)}
.ulytd-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.ulytd-opt{display:flex;gap:10px;border:1px solid var(--ulytd-border);border-radius:18px;padding:12px;cursor:pointer;background:var(--ulytd-soft);transition:transform .06s ease, box-shadow .06s ease, border-color .06s ease;height:100%;align-items:stretch}
.ulytd-opt:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08)}
.ulytd-opt input{margin-top:4px}
.ulytd-opt-main{display:flex;flex-direction:column;gap:8px;width:100%;flex:1;min-width:0}
.ulytd-opt-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ulytd-opt-name{font-weight:950;font-size:16px;color:var(--ulytd-dark)}
.ulytd-badge{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid var(--ulytd-border);background:#fff;color:var(--ulytd-dark)}
.ulytd-opt-prices{display:grid;grid-template-columns:1fr;gap:6px;margin-top:auto}
.ulytd-kv{display:flex;justify-content:space-between;gap:10px}
.ulytd-kv strong{font-weight:900}
.ulytd-muted{color:var(--ulytd-muted)}
.ulytd-summary{margin-top:12px;border-top:1px dashed var(--ulytd-border);padding-top:12px;display:flex;flex-wrap:wrap;gap:10px}
.ulytd-pill{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:999px;background:var(--ulytd-soft);border:1px solid var(--ulytd-border);font-weight:800}
.ulytd-actions{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#ulytd-submit{
  padding:14px 18px;border:none;border-radius:16px;background:var(--ulytd-accent);color:#fff;font-weight:950;
  cursor:pointer;box-shadow:0 10px 18px rgba(17,24,39,.2);transition:transform .06s ease, opacity .06s ease
}
#ulytd-submit:hover{transform:translateY(-1px)}
#ulytd-submit[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
.ulytd-error{color:#b91c1c;font-weight:800}
.ulytd-hint{font-size:13px;color:var(--ulytd-muted);margin-top:6px}
@media (max-width:980px){
  .ulytd-opts{grid-template-columns:1fr}
  .ulytd-grid{grid-template-columns:1fr}
}


/* Quote layout (options + sticky summary) */
.ulytd-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.ulytd-quote-right{position:sticky;top:16px}
.ulytd-summary-card{border:1px solid var(--ulytd-border);border-radius:18px;padding:14px;background:#fff}
.ulytd-summary-title{font-weight:950;margin-bottom:10px;color:var(--ulytd-dark)}
.ulytd-summary-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--ulytd-border)}
.ulytd-summary-row:last-child{border-bottom:none}
.ulytd-big{font-size:18px;font-weight:950}
.ulytd-icon{
  width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--ulytd-border);font-size:18px;flex:0 0 auto
}
.ulytd-opt-top{align-items:flex-start}
.ulytd-opt-head{display:flex;gap:10px;align-items:center}
.ulytd-opt-name{margin-top:1px}
@media (max-width:980px){
  .ulytd-quote-layout{grid-template-columns:1fr}
  .ulytd-quote-right{position:static}
}

.ulytd-icon{color:var(--ulytd-dark)}


/* UI revamp */
.ulytd-hero{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin:8px 0 16px}
.ulytd-subhead{color:var(--ulytd-muted);font-size:14px;margin-top:6px;line-height:1.35}
.ulytd-trust{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ulytd-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ulytd-border);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;color:var(--ulytd-dark)}

/* Main tabs (Lista de precios / Cotizar) */
.ulytd-main-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
.ulytd-main-tab{appearance:none;border:1px solid var(--ulytd-border);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;color:var(--ulytd-dark);cursor:pointer;}
.ulytd-main-tab.is-active{background:var(--ulytd-accent);color:#fff;border-color:var(--ulytd-accent);}

/* Mode switching */
#ulytd-booking-form.ulytd-mode-prices .ulytd-book-only{display:none;}
#ulytd-booking-form.ulytd-mode-book .ulytd-book-only{display:block;}
.ulytd-step{margin-top:14px}
.ulytd-step-head{display:flex;gap:10px;align-items:flex-start;margin:4px 0 10px}
.ulytd-step-num{width:26px;height:26px;border-radius:999px;background:var(--ulytd-dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.ulytd-step-title{font-weight:800;font-size:14px}
.ulytd-step-desc{color:var(--ulytd-muted);font-size:13px;margin-top:2px}
.ulytd-fieldset-soft{background:#f8fafc;border:1px solid var(--ulytd-border)}
.ulytd-footnote{margin-top:10px;color:var(--ulytd-muted);font-size:12px;line-height:1.35}
.ulytd-card{border-radius:18px}
.ulytd-grid label{font-weight:700}
.ulytd-grid input,.ulytd-grid select,.ulytd-fieldset textarea{border-radius:12px}
@media (max-width: 780px){
  .ulytd-hero{flex-direction:column;align-items:stretch}
  .ulytd-trust{justify-content:flex-start}
}

.ulytd-quote-left{min-width:0}

@media (max-width: 980px){
  .ulytd-quote-layout{grid-template-columns:1fr}
  .ulytd-quote-right{position:relative;top:auto}
}

@media (max-width: 1180px){
  .ulytd-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ulytd-quote-layout{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width: 820px){
  .ulytd-opts{grid-template-columns:1fr}
}


/* ===== UI Layout v2 (anti-descuadres) ===== */
.ulytd-wrap{max-width:1020px;margin:0 auto;padding:0 14px}
.ulytd-card{padding:18px;border-radius:22px}
.ulytd-hero{margin:10px 0 18px}
.ulytd-title{font-size:34px;letter-spacing:-0.02em}
.ulytd-step{margin-top:18px}
.ulytd-step-head{margin:0 0 12px}
.ulytd-fieldset{border-radius:18px}
.ulytd-fieldset-soft{border-radius:18px}

/* Inputs grid: always aligns nicely */
.ulytd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end}
.ulytd-grid .ulytd-field{min-width:0}

/* Quote area: summary fixed width only when enough space */
.ulytd-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
@media (max-width: 1100px){
  .ulytd-quote-layout{grid-template-columns:1fr}
}

/* Vehicle cards: consistent height */
.ulytd-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
@media (max-width: 1100px){
  .ulytd-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 780px){
  .ulytd-opts{grid-template-columns:1fr}
}

.ulytd-opt{height:100%;display:flex;flex-direction:column;gap:10px}
.ulytd-opt-main{flex:1;min-width:0}
.ulytd-opt-prices{margin-top:auto}

/* Summary sticky only on wide screens */
.ulytd-quote-right{position:sticky;top:16px}
@media (max-width: 1100px){
  .ulytd-quote-right{position:relative;top:auto}
}

/* Make pills wrap without pushing layout */
.ulytd-trust{max-width:420px}

/* Typography polish */
.ulytd-opt-name{font-size:16px}
.ulytd-opt-total .v{font-size:18px}

/* Prevent any overflow causing "descuadre" */
.ulytd-card, .ulytd-fieldset, .ulytd-opt{box-sizing:border-box}
.ulytd-quote, .ulytd-opts, .ulytd-grid{min-width:0}


/* ===== UI Layout v3 (container queries for narrow theme columns) ===== */
.ulytd-wrap{max-width:1200px;width:100%;margin:0 auto;padding:0 14px;container-type:inline-size}
.ulytd-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.ulytd-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}
.ulytd-opt{height:100%;display:flex;flex-direction:column;gap:10px}
.ulytd-opt-prices{margin-top:auto}

/* When the container (not viewport) is narrow, stack summary below and reduce columns */
@container (max-width: 980px){
  .ulytd-quote-layout{grid-template-columns:1fr}
  .ulytd-quote-right{position:relative;top:auto}
  .ulytd-opts{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@container (max-width: 620px){
  .ulytd-opts{grid-template-columns:1fr}
}

/* Prevent ultra-narrow cards */
.ulytd-quote-right{min-width:0}

/* Summary perks */
.ulytd-perks{margin:10px 0 12px;display:flex;flex-direction:column;gap:8px}
.ulytd-perk{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px dashed var(--ulytd-border);border-radius:14px;background:#fff}
.ulytd-ico{font-size:16px;line-height:1}
.ulytd-perk-txt{font-size:13px;color:var(--ulytd-dark);font-weight:700}

/* ===== Price Tabs (always visible) ===== */
.ulytd-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.ulytd-tab{border:1px solid var(--ulytd-border);background:#fff;border-radius:999px;padding:10px 12px;font-weight:900;cursor:pointer;display:inline-flex;gap:10px;align-items:center}
.ulytd-tab[disabled]{opacity:.55;cursor:not-allowed}
.ulytd-tab-price{font-weight:900;color:var(--ulytd-muted);font-size:12px}
.ulytd-tab.is-active{background:var(--ulytd-dark);border-color:var(--ulytd-dark);color:#fff}
.ulytd-tab.is-active .ulytd-tab-price{color:#e5e7eb}

.ulytd-quote-inner{border:1px solid var(--ulytd-border);border-radius:18px;padding:14px;background:#fff}
.ulytd-empty{color:var(--ulytd-muted);font-weight:700}
.ulytd-loading{color:var(--ulytd-muted);font-weight:800}

/* Vehicle detail card */
.ulytd-price-card{border:1px solid var(--ulytd-border);border-radius:18px;padding:14px;background:var(--ulytd-soft)}
.ulytd-price-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ulytd-price-veh{display:flex;gap:10px;align-items:center;min-width:0}
.ulytd-price-veh svg{flex:0 0 auto}
.ulytd-price-veh-name{font-weight:950;color:var(--ulytd-dark);font-size:16px}
.ulytd-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.ulytd-breakdown{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}


/* Price list embed (Lista de precios tab) */
.ulytd-pricelist-embed{border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;background:#fff}
.ulytd-pricelist-embed iframe{width:100%;height:70vh;border:0;display:block}
.ulytd-pricelist-embed img{width:100%;height:auto;display:block}
