/*
  Bahamas reservas · frontend stylesheet
  Phase 3 conservative cleanup
  - runtime behavior unchanged
  - cascade order intentionally preserved
  - comments normalized for easier maintenance
*/

:root{
  --bg:#fffafc;
  --surface:#ffffff;
  --surface-soft:#fff3f7;
  --surface-muted:#faf7f8;
  --text:#171217;
  --muted:#7f6f78;
  --line:#f0dfe7;
  --primary:#df4f87;
  --primary-strong:#cc3f76;
  --primary-soft:#f6d5e2;
  --shadow:0 10px 30px rgba(208,79,128,.08);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:12px;
  --content:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#fffdfd 0%, #fff8fb 100%);color:var(--text);font-family:Montserrat,system-ui,sans-serif}
img{max-width:100%;display:block}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh}
.app-header{
  position:sticky;top:0;z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(252,244,247,.92);
  border-bottom:1px solid rgba(240,223,231,.8);
}
.header-inner{
  max-width:var(--content);
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.brand-logo{height:52px;width:auto}
.layout{
  max-width:var(--content);
  margin:0 auto;
  display:grid;
  grid-template-columns: 320px minmax(0,1fr);
  gap:24px;
  padding:24px 20px 40px;
}
.main-panel{min-width:0}
.summary-card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(240,223,231,.9);
  box-shadow:var(--shadow);
  border-radius:var(--radius-xl);
}
.summary-desktop{
  position:sticky;
  top:88px;
  height:fit-content;
  padding:18px;
}
.summary-mobile{
  display:none;
  margin-top:16px;
  padding:12px 14px;
}
.summary-title{
  display:flex;align-items:center;gap:10px;
  font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)
}
.summary-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.summary-item{
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
  padding:12px 14px;background:var(--surface-soft);border-radius:16px;border:1px solid rgba(240,223,231,.55)
}
.summary-label{font-size:12px;color:var(--muted);margin-bottom:4px}
.summary-value{font-size:14px;font-weight:600}
.screen-card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(240,223,231,.9);
  box-shadow:var(--shadow);
  border-radius:28px;
  padding:28px;
}
.step-badge{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:999px;background:var(--surface-soft);
  border:1px solid rgba(223,79,135,.18);color:var(--primary-strong);
  font-size:12px;font-weight:700;letter-spacing:.01em;text-transform:none
}
.step-hero{text-align:center;max-width:760px;margin:0 auto 28px;}
.step-title{margin:14px 0 10px;font-family:"Playfair Display",serif;font-weight:700;font-size:42px;line-height:1.05}
.step-subtitle{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.progress-wrap{margin-bottom:24px}
.progress-meta{display:flex;justify-content:flex-end;align-items:center;font-size:12px;color:var(--muted);margin-bottom:10px}
.progress-bar{height:8px;background:#f4eaef;border-radius:999px;overflow:hidden}
.progress-bar > span{display:block;height:100%;background:linear-gradient(90deg,var(--primary) 0%, #f08db1 100%);border-radius:999px;transition:width .25s ease}
.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.type-step-layout{display:grid;gap:14px}
.type-card-featured{grid-column:1 / -1}
.type-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.cards-grid.cities-all{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-mini-title{
  font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;
  font-weight:700;margin:0 0 12px 2px
}
.option-card,.time-card,.date-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  transition:.2s ease;
}
.option-card:hover,.time-card:hover,.date-card:hover{transform:translateY(-1px);border-color:#e8b5c8;box-shadow:0 14px 26px rgba(220,96,140,.09)}
.option-card.active,.time-card.active,.date-card.active{border-color:var(--primary);background:linear-gradient(180deg,#fff7fa 0%,#fff 100%);box-shadow:0 16px 32px rgba(223,79,135,.13)}
.option-card.featured{
  border-color:rgba(223,79,135,.45);
  background:linear-gradient(180deg,#fff4f8 0%, #fff 100%);
}
.card-icon{width:42px;height:42px;border-radius:14px;background:var(--surface-soft);display:grid;place-items:center;color:var(--primary);margin-bottom:14px}
.card-title{font-weight:700;font-size:16px;margin:0 0 6px}
.card-copy{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.card-tag{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:var(--surface-soft);color:var(--primary-strong);font-size:11px;font-weight:700}
.card-arrow{margin-left:auto;color:var(--muted)}
.month-card{
  border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden
}
.month-header{
  display:flex;justify-content:space-between;align-items:center;padding:18px 18px 14px;background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  border-bottom:1px solid rgba(240,223,231,.8)
}
.month-title{font-weight:700}
.month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  padding:14px;
}
.weekday{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-align:center;padding-bottom:6px}
.day-cell{
  min-height:84px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left
}
.day-cell:hover{border-color:#e8b5c8;box-shadow:0 10px 20px rgba(220,96,140,.08)}
.day-cell.active{border-color:var(--primary);background:linear-gradient(180deg,#fff7fa 0%, #fff 100%)}
.day-cell.full{opacity:.52}
.day-num{font-size:15px;font-weight:700}
.day-meta{font-size:11px;color:var(--muted)}
.day-pill{
  font-size:11px;padding:5px 8px;border-radius:999px;background:var(--surface-soft);color:var(--primary-strong);font-weight:700
}
.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.time-card{text-align:center;padding:16px;border-radius:18px;font-weight:700}
.time-card.disabled{opacity:.45;pointer-events:none}
.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1 / -1}
.label{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.input{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:56px;padding:16px 16px;color:var(--text);outline:none}
.input:focus{border-color:#e69fbd;box-shadow:0 0 0 4px rgba(223,79,135,.12)}
.field-help{font-size:12px;color:var(--muted)}
.field-error{min-height:18px;font-size:12px;line-height:1.35;color:#c24f6f;opacity:0;transform:translateY(-2px);transition:opacity .18s ease, transform .18s ease;margin-top:2px;padding-left:4px}
.field-error.is-visible{opacity:1;transform:translateY(0)}
.input-invalid{border-color:#d96b8b;background:#fff8fb;box-shadow:0 0 0 4px rgba(217,107,139,.10)}
.input-invalid:focus{border-color:#cf5d80;box-shadow:0 0 0 4px rgba(217,107,139,.14)}

.form-status{display:none;margin:0 0 16px;padding:12px 14px;border-radius:16px;border:1px solid rgba(217,107,139,.2);background:#fff8fb;color:#9c4561;font-size:13px;line-height:1.45;font-weight:600}
.form-status.is-visible{display:block}
.form-status.is-success{border-color:rgba(110,168,131,.24);background:#f5fbf7;color:#3f7650}
.checkbox-invalid{border-color:rgba(217,107,139,.38) !important;background:#fff8fb !important;box-shadow:0 0 0 4px rgba(217,107,139,.08)}
.payment-inline-note--error{background:#fff8fb;border-color:rgba(217,107,139,.22);color:#9c4561}
.payment-error{display:grid;gap:12px;justify-items:center;padding:20px;border:1px solid rgba(217,107,139,.18);border-radius:20px;background:#fff8fb;color:#8d4660;text-align:center}
.payment-error strong{font-size:15px}
.payment-error span{font-size:13px;line-height:1.5;max-width:44ch}

.checkbox{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--surface-soft);border:1px solid rgba(240,223,231,.8);border-radius:16px;font-size:13px;color:#544850}
.checkbox input{margin-top:2px}
.checkout-summary{margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(180deg,#fff6fa 0%, #fff 100%);border:1px solid rgba(223,79,135,.18)}
.price-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.price-row .price{font-size:36px;font-weight:700}
.price-row .price-note{font-size:13px;color:var(--muted);max-width:320px;text-align:right}
.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.actions.right{justify-content:flex-end}
.btn{border:none;border-radius:16px;min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700}
.btn-primary{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff;box-shadow:0 16px 30px rgba(223,79,135,.22)}
.btn-primary:hover{filter:brightness(.98)}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--text)}
.confirm-wrap{max-width:760px;margin:0 auto;text-align:center}
.confirm-icon{width:86px;height:86px;border-radius:28px;margin:0 auto 18px;background:linear-gradient(180deg,#ffe7f0 0%, #fff 100%);border:1px solid rgba(223,79,135,.18);display:grid;place-items:center;color:var(--primary)}
.confirm-title{font-family:"Playfair Display",serif;font-size:46px;line-height:1.04;margin:0 0 12px}
.confirm-copy{color:var(--muted);font-size:16px;line-height:1.7;max-width:620px;margin:0 auto}
.confirm-panel{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff}
.confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:left}
.confirm-item{padding:14px 16px;border-radius:16px;background:var(--surface-soft);border:1px solid rgba(240,223,231,.8)}
.confirm-k{font-size:12px;color:var(--muted);margin-bottom:6px}
.confirm-v{font-size:15px;font-weight:700}
.muted-note{font-size:12px;color:var(--muted);line-height:1.6}
.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
@media (max-width: 1024px){
  .layout{grid-template-columns:1fr}
  .summary-desktop{display:none}
  .summary-mobile{display:block}
  .step-title{font-size:36px}
  .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 720px){
  .header-inner{padding:10px 16px}
  .brand-logo{height:58px}
  .layout{padding:16px 14px 28px}
  .screen-card{padding:20px 16px;border-radius:24px}
  .step-title{font-size:30px}
  .step-subtitle{font-size:14px}
  .cards-grid,.checkout-grid,.confirm-grid,.time-grid{grid-template-columns:1fr}
  .cards-grid.cities-secondary{grid-template-columns:1fr}
  .month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:10px}
  .day-cell{min-height:72px;padding:8px;border-radius:14px}
  .day-num{font-size:14px}
  .day-meta,.day-pill{font-size:10px}
  .option-card,.time-card{padding:16px}
  .actions{flex-direction:column-reverse;align-items:stretch}
  .btn{width:100%}
  .price-row{align-items:flex-start;flex-direction:column}
  .price-row .price-note{text-align:left}
}

.card-title-lg{font-size:18px}
.skinpass-link{display:inline-flex;margin-top:10px;font-size:13px;font-weight:700;color:var(--primary-strong);text-decoration:none}
.skinpass-link:hover{text-decoration:underline}
.summary-whatsapp-btn{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 16px;border-radius:16px;border:1px solid rgba(223,79,135,.18);background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);color:var(--primary-strong);font-weight:700;text-decoration:none;cursor:default;pointer-events:none;opacity:.85}
.checkout-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 720px){
  .cards-grid.cities-all,.checkout-grid-compact{grid-template-columns:1fr}
}
.cards-grid.cities-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards-grid.cities-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
.city-address{margin-top:4px}
.friendly-note{
  margin-top:20px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(223,79,135,.18);
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  color:var(--primary-strong);
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  text-align:center;
  line-height:1.6;
  font-weight:600;
}
.month-nav{
  width:40px;height:40px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--text);font-size:18px;font-weight:700;cursor:pointer
}
.month-nav[disabled]{opacity:.45;cursor:not-allowed}
.summary-whatsapp-btn{cursor:pointer;pointer-events:auto;opacity:1}
@media (max-width: 720px){
  .cards-grid.cities-primary,.cards-grid.cities-secondary{grid-template-columns:1fr}
  .friendly-note{justify-content:flex-start;text-align:left}
}

.city-card{border-color:rgba(223,79,135,.45);background:linear-gradient(180deg,#fff4f8 0%, #fff 100%);}
.city-title,.card-title-lg{font-size:20px;}
.skinpass-link{display:block;margin-top:8px;font-size:13px;font-weight:700;color:var(--primary-strong);text-decoration:underline;text-underline-offset:2px;}
.skinpass-link:hover{opacity:.88;}
.summary-whatsapp-btn{flex-direction:column;gap:4px;padding:12px 16px;min-height:64px;}
.summary-whatsapp-main{display:inline-flex;align-items:center;gap:10px;}
.summary-whatsapp-number{font-size:13px;font-weight:600;color:var(--muted);}
.friendly-note strong{font-weight:800;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}

/* Section · city cards and step-1 layout */
.cards-grid.cities-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.cards-grid.cities-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;}
.city-card{
  border-color:rgba(223,79,135,.24);
  background:linear-gradient(180deg,#fff6fa 0%,#fff 100%);
  padding:18px;
}
.city-card.active{
  border-color:var(--primary);
  background:linear-gradient(180deg,#fff1f7 0%,#fff 100%);
}
.city-card.active .city-icon-img{
  filter: invert(35%) sepia(31%) saturate(1645%) hue-rotate(301deg) brightness(89%) contrast(92%);
}
.city-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.city-card__content{text-align:left;}
.city-icon-wrap{
  width:72px;
  height:72px;
  border-radius:0;
  background:transparent;
  border:none;
  display:grid;
  place-items:center;
  flex:0 0 72px;
  padding:0;
  margin-top:0;
}
.city-icon-img{
  width:56px;
  height:56px;
  display:block;
  object-fit:contain;
  object-position:center;
  filter: invert(43%) sepia(48%) saturate(909%) hue-rotate(292deg) brightness(97%) contrast(90%);
}
.city-title{
  font-size:20px;
  line-height:1.08;
  margin:0 0 6px;
}
.city-address{
  margin-top:0;
  line-height:1.45;
}
.city-card .card-arrow{
  margin-left:0;
  align-self:center;
}
@media (max-width: 720px){
  .cards-grid.cities-primary,.cards-grid.cities-secondary{
    grid-template-columns:1fr;
    gap:12px;
  }
  .city-card{
    padding:16px;
    border-radius:20px;
  }
  .city-card__top{
    margin-bottom:12px;
  }
  .city-icon-wrap{
    width:64px;
    height:64px;
    flex-basis:64px;
  }
  .city-icon-img{
    width:48px;
    height:48px;
  }
  .city-title{
    font-size:18px;
  }
  .city-address{
    font-size:12px;
  }
  .friendly-note{
    justify-content:flex-start;
    text-align:left;
    padding:14px 16px;
  }
}

.summary-title-box{display:flex;justify-content:center;margin-bottom:16px;}
.summary-title{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;
  padding:16px 18px;border-radius:20px;
  background:linear-gradient(180deg,#fde7f1 0%, #fff4f8 100%);
  border:1px solid rgba(223,79,135,.26);
  box-shadow:0 12px 28px rgba(223,79,135,.10);
  font-weight:800;
}
.summary-title .icon{color:var(--primary-strong);}
.summary-whatsapp-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:16px 18px;min-height:78px;border-radius:18px;
  border:1px solid rgba(223,79,135,.26);
  background:linear-gradient(180deg,#fde7f1 0%, #fff4f8 100%);
  color:#7a445b;box-shadow:0 12px 28px rgba(223,79,135,.11);
}
.summary-whatsapp-main{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:800;}
.summary-whatsapp-main .icon{width:21px;height:21px;}
.summary-whatsapp-number{font-size:17px;font-weight:900;color:#4f3943;letter-spacing:.04em;}
.treatment-sections{display:grid;gap:30px;}
.treatment-section{display:grid;gap:18px;}
.treatment-section + .treatment-section{padding-top:4px;border-top:none;}
.treatment-section-title{
  margin-bottom:6px;color:var(--primary-strong);font-size:19px;line-height:1.1;
  font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-align:center;
}
.textarea{min-height:128px;resize:vertical;padding-top:14px;}
.checkbox a{color:var(--primary-strong);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
@media (max-width:720px){.treatment-grid{grid-template-columns:1fr;}.summary-whatsapp-btn{min-height:72px;padding:14px 16px;}.treatment-sections{gap:24px;}.treatment-section{gap:16px;}.treatment-section-title{font-size:16px;}}

/* Section · form shell and checkout cards */
.type-card .card-icon,.treatment-card .card-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  margin-bottom:16px;
}
.type-card .card-icon .icon,.treatment-card .card-icon .icon{
  width:24px;
  height:24px;
}
.friendly-note{
  background:linear-gradient(180deg,#fff3f8 0%, #fff 100%);
}
.friendly-note .icon{width:20px;height:20px;flex:0 0 auto;margin-top:0;}
.friendly-note strong{
  text-decoration:underline;
  text-underline-offset:3px;
}
.month-card{
  width:100%;
}
.month-grid{
  width:100%;
}
.day-cell{
  min-height:88px;
}
@media (max-width: 900px){
  .month-card{
    border-radius:20px;
  }
  .month-header{
    padding:14px 14px 12px;
  }
  .month-title{
    font-size:15px;
    text-transform:capitalize;
  }
  .month-grid{
    gap:4px;
    padding:8px;
  }
  .weekday{
    font-size:10px;
    letter-spacing:.04em;
    padding-bottom:4px;
  }
  .day-cell{
    min-height:64px;
    padding:6px 4px;
    border-radius:12px;
    align-items:center;
    text-align:center;
  }
  .day-num{
    font-size:13px;
  }
  .day-meta{
    display:none;
  }
  .day-pill{
    font-size:9px;
    padding:4px 6px;
  }
}
@media (max-width: 480px){
  .screen-card{
    overflow:hidden;
  }
  .month-card{
    margin-inline:-2px;
  }
  .month-header{
    gap:10px;
  }
  .month-nav{
    width:34px;
    height:34px;
    font-size:16px;
    flex:0 0 34px;
  }
  .month-title{
    font-size:14px;
    text-align:center;
  }
  .month-grid{
    gap:3px;
    padding:6px;
  }
  .weekday{
    font-size:9px;
  }
  .day-cell{
    min-height:56px;
    padding:5px 2px;
    border-radius:10px;
  }
  .day-num{
    font-size:12px;
  }
  .day-pill{
    font-size:8px;
    padding:3px 5px;
  }
}

/* Section · progress, payment notice and CTA polish */
.btn-secondary[data-back]::before,
.btn-secondary[data-back-key]::before{
  content:"←";
  font-size:1.05em;
  line-height:1;
  margin-right:2px;
}

.summary-title{
  background:linear-gradient(180deg,#df4f87 0%, #c93d73 100%);
  border-color:rgba(201,61,115,.55);
  color:#fff;
  box-shadow:0 14px 30px rgba(201,61,115,.24);
}
.summary-title .icon,
.summary-title span{
  color:#fff;
}

.summary-whatsapp-btn{
  background:linear-gradient(180deg,#df4f87 0%, #c93d73 100%);
  border-color:rgba(201,61,115,.55);
  color:#fff;
  box-shadow:0 14px 30px rgba(201,61,115,.24);
}
.summary-whatsapp-main,
.summary-whatsapp-number,
.summary-whatsapp-main .icon{
  color:#fff;
}
.summary-whatsapp-number{
  font-size:18px;
  letter-spacing:.05em;
}

.friendly-note{
  margin-top:20px;
  padding:18px 22px;
  gap:12px;
  line-height:1.65;
}
.friendly-note span{display:block; max-width:760px;}
.friendly-note .icon{
  width:21px;
  height:21px;
  flex:0 0 auto;
}

.day-cell{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.day-cell.available{
  border:2px solid var(--primary);
  background:#fff;
  opacity:1;
  box-shadow:0 8px 18px rgba(223,79,135,.10);
}
.day-cell.available:hover{
  border-color:var(--primary-strong);
}
.day-cell.active{
  border:2px solid var(--primary-strong);
  background:linear-gradient(180deg,#fff3f8 0%, #fff 100%);
}
.day-meta,.day-pill{
  display:none !important;
}

.treatment-warning{
  margin-top:18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(223,79,135,.18);
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  color:var(--primary-strong);
  display:flex;
  align-items:flex-start;
  gap:10px;
  justify-content:center;
  text-align:center;
  line-height:1.6;
}
.treatment-warning strong{
  font-weight:800;
}
.treatment-warning .icon{
  width:20px;
  height:20px;
  margin-top:2px;
  flex:0 0 auto;
}

@media (max-width: 720px){
  .friendly-note{
    padding:16px 18px;
    align-items:flex-start;
  }
  .treatment-warning{
    justify-content:flex-start;
    text-align:left;
  }
}

/* Section · button states and premium card details */
.type-card .card-title-lg{font-size:21px;line-height:1.08;}
.btn-secondary{
  background:linear-gradient(180deg,#f7f6f8 0%, #efedf1 100%);
  border:1px solid #ddd7df;
  color:#5f5861;
  box-shadow:0 8px 18px rgba(29,24,35,.05);
}
.btn-secondary:hover{border-color:#cfc6d1;background:linear-gradient(180deg,#fbfafc 0%, #f1eef4 100%);}
.summary-whatsapp-btn{
  position:relative;
  overflow:hidden;
  gap:8px;
  padding:18px 18px 18px;
  min-height:104px;
  border-radius:20px;
  border-color:rgba(223,79,135,.18);
  background:linear-gradient(135deg,#fff8fb 0%, #fdeff5 48%, #fff 100%);
  box-shadow:0 18px 34px rgba(223,79,135,.14);
}
.summary-whatsapp-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  transform:translateX(-120%);
  transition:transform .45s ease;
}
.summary-whatsapp-btn:hover::before{transform:translateX(120%);}
.summary-whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(223,79,135,.18);}
.summary-whatsapp-main,.summary-whatsapp-subtitle,.summary-whatsapp-number{position:relative;z-index:1;}
.summary-whatsapp-main{font-size:15px;font-weight:800;color:var(--primary-strong);}
.summary-whatsapp-main .icon{color:var(--primary-strong);}
.summary-whatsapp-subtitle{font-size:12px;line-height:1.45;color:#8e6073;font-weight:600;text-align:center;max-width:260px;white-space:normal;}
.summary-whatsapp-number{font-size:22px;font-weight:900;color:#5c3b49;letter-spacing:.06em;}
.city-title{font-size:21px;}
.treatment-section-title{margin-bottom:10px;}
.treatment-section-title span{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(223,79,135,.22);
  background:linear-gradient(180deg,#fff5f9 0%, #fff 100%);
  box-shadow:0 8px 18px rgba(223,79,135,.06);
}
.treatment-assist-wrap{margin-top:14px;}
.treatment-card-full{grid-column:1 / -1;}
.date-info-box{
  margin-top:18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(223,79,135,.18);
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  color:var(--primary-strong);
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  text-align:center;
  line-height:1.6;
  font-weight:600;
}
.date-info-box .icon{width:20px;height:20px;flex:0 0 auto;}
.label{font-size:13px;letter-spacing:.05em;}
@media (max-width: 720px){
  .summary-whatsapp-btn{min-height:96px;padding:16px 16px 16px;}
  .summary-whatsapp-main{font-size:14px;}
  .summary-whatsapp-subtitle{font-size:11px;max-width:none;}
  .summary-whatsapp-number{font-size:20px;}
  .type-card .card-title-lg{font-size:20px;}
  .city-title{font-size:20px;}
  .date-info-box{justify-content:flex-start;text-align:left;align-items:flex-start;}
}

.friendly-note strong{text-decoration:none; font-weight:600;}
.treatment-warning{align-items:center;} .treatment-warning .icon{margin-top:0;}

.card-includes{margin-top:12px;display:grid;gap:8px;}
.card-includes-label{font-size:12px;font-weight:800;letter-spacing:.02em;color:#7d6470;}
.card-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.card-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff6fa;border:1px solid rgba(223,79,135,.18);font-size:11px;font-weight:700;color:var(--primary-strong);line-height:1.2;}
.card-price-badge{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:7px 12px;border-radius:999px;background:linear-gradient(180deg,#ffe8f1 0%, #ffdce9 100%);border:1px solid rgba(223,79,135,.2);font-size:12px;font-weight:900;color:#a63d69;box-shadow:0 8px 16px rgba(223,79,135,.10);}
.treatment-grid-special{grid-template-columns:repeat(2,minmax(0,1fr));}
.treatment-card-special .card-copy{text-wrap:balance;}
.treatment-assist-wrap .treatment-card-full{width:100%;}
@media (min-width: 721px){
  .treatment-assist-wrap .treatment-card-full{grid-column:1 / -1; width:100%;}
}
@media (max-width: 720px){
  .treatment-grid-special{grid-template-columns:1fr;}
  .card-chip{font-size:10.5px;padding:5px 9px;}
}

/* Section · city cards, monthly calendar and date selection */
.cards-grid.treatment-grid,
.cards-grid.treatment-grid-special{grid-template-columns:1fr;}
.treatment-card{width:100%; position:relative; overflow:hidden;}
.treatment-card .card-arrow{align-self:center;}
.card-price-ribbon{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff8fbc 0%, #df4f87 100%);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 10px 22px rgba(223,79,135,.22);
  z-index:2;
}
.treatment-card .card-icon{margin-top:6px;}
.treatment-card .card-copy, .treatment-card .card-title{max-width:calc(100% - 110px);}
.checkout-info-box{
  margin-top:14px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(223,79,135,.16);
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--primary-strong);
  line-height:1.55;
  font-weight:600;
}
.checkout-info-box .icon{width:18px;height:18px;flex:0 0 auto;margin-top:2px;}
@media (max-width:720px){
  .card-price-ribbon{top:12px; right:12px; font-size:11px; padding:6px 10px;}
  .treatment-card .card-copy, .treatment-card .card-title{max-width:100%;}
}

.card-title-xl{font-size:22px;line-height:1.08;letter-spacing:-.02em;}
.treatment-assist-card-centered > div{width:100%;justify-content:center;}
.treatment-assist-card-centered .card-icon{margin-inline:auto;}
.treatment-assist-card-centered .card-title,
.treatment-assist-card-centered .card-copy{text-align:center;max-width:none;}
.treatment-assist-card-centered .card-arrow{align-self:center;}
.selected-date-note{margin:0 0 16px; padding:14px 16px; border-radius:16px; background:#fff7fa; border:1px solid rgba(223,79,135,.16); color:var(--primary-strong); display:flex; align-items:center; justify-content:center; gap:10px; font-weight:700; text-transform:capitalize;}
.selected-date-note .icon{width:18px;height:18px;flex:0 0 auto;}
.checkout-info-box-standalone{margin-top:14px;}
@media (max-width:720px){
  .card-title-xl{font-size:20px;}
  .selected-date-note{justify-content:flex-start; text-align:left;}
}

/* Section · treatment cards and selected date summary */
.summary-whatsapp-btn{padding:18px 18px 18px;gap:8px;}
.summary-whatsapp-subtitle{line-height:1.35;white-space:normal;}
.summary-whatsapp-number{font-size:24px;font-weight:900;letter-spacing:.08em;}
.summary-whatsapp-btn .summary-whatsapp-main{font-size:15px;}
.friendly-note,.date-info-box{font-weight:600;color:var(--primary-strong);justify-content:center;text-align:center;align-items:center;}
.friendly-note strong,.date-info-box strong{font-weight:inherit;text-decoration:none;}
.friendly-note span,.date-info-box span{font-weight:inherit;}
.date-info-box{margin-top:18px;}
.checkout-info-box{margin-top:16px;}
.treatment-card .card-title{font-size:20px;line-height:1.12;}
.treatment-card-full .card-title,.treatment-assist-card .card-title{font-size:22px;text-align:center;width:100%;}
.treatment-assist-card .card-copy{text-align:center;}
.treatment-assist-card > div:last-child{justify-content:center;}
.treatment-assist-card .card-arrow{align-self:center;margin-left:auto;}
.time-selected-date{margin:2px 0 18px; padding:14px 16px; border-radius:18px; border:1px solid rgba(223,79,135,.16); background:linear-gradient(180deg,#fff7fa 0%, #fff 100%); display:flex; align-items:center; justify-content:center; gap:10px; color:var(--primary-strong); font-weight:700; text-align:center;}
.time-selected-date .icon{width:18px;height:18px;}
@media (max-width:720px){.summary-whatsapp-number{font-size:22px;}.friendly-note,.date-info-box,.time-selected-date{justify-content:flex-start;text-align:left;align-items:flex-start;}.treatment-assist-card .card-title,.treatment-assist-card .card-copy{text-align:left;}.time-selected-date{padding:14px 16px;}}

/* Section · progress bar, cards and advisory notes */
@media (max-width: 1024px){
  .summary-mobile{
    margin-top:26px;
    padding-top:18px;
    position:relative;
  }
  .summary-mobile::before{
    content:"";
    position:absolute;
    top:-14px;
    left:10px;
    right:10px;
    height:1px;
    background:linear-gradient(90deg, rgba(223,79,135,0) 0%, rgba(223,79,135,.22) 14%, rgba(223,79,135,.22) 86%, rgba(223,79,135,0) 100%);
  }
}
.friendly-note strong{font-weight:800 !important; text-decoration:none !important;}
.date-info-box strong{font-weight:inherit !important; text-decoration:none !important;}
.summary-whatsapp-number{display:flex; justify-content:center; width:100%;}
.summary-whatsapp-number span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:158px;
  padding:8px 14px;
  border-radius:999px;
  border:1.5px solid rgba(223,79,135,.42);
  background:linear-gradient(180deg,#fff0f6 0%, #ffe7f1 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.treatment-section-title{
  margin-top:4px;
  margin-bottom:16px;
}
.treatment-section-title span{
  padding:10px 16px;
  border-radius:14px;
  border:1px solid rgba(223,79,135,.16);
  background:linear-gradient(180deg,#fff8fb 0%, #fff 100%);
  box-shadow:0 10px 20px rgba(223,79,135,.05);
}
.treatment-section{gap:22px;}
.treatment-card .card-copy{font-size:15px; line-height:1.62;}
.treatment-assist-card.no-card-arrow .card-arrow{display:none;}
.treatment-assist-card.no-card-arrow > div:last-child{justify-content:center;}
.treatment-assist-card.no-card-arrow .card-title,
.treatment-assist-card.no-card-arrow .card-copy{text-align:center; width:100%;}
.treatment-assist-card.no-card-arrow .card-icon{margin-inline:auto;}
.confirm-wrap .actions.right{gap:14px;}
.btn-confirm-lg{
  min-height:58px;
  padding:16px 22px;
  font-size:15px;
  border-radius:18px;
}
.btn-confirm-lg .icon{width:20px; height:20px;}
@media (max-width: 720px){
  .btn-confirm-lg{min-height:56px; font-size:14px; padding:15px 18px;}
  .treatment-section-title{margin-bottom:14px;}
  .treatment-section-title span{display:block; width:100%; padding:10px 12px;}
  .treatment-card .card-copy{font-size:14px;}
  .summary-whatsapp-number span{min-width:146px; padding:8px 12px;}
}

/* Section · header, primary CTAs and confirmation details */
.summary-main-box{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(240,223,231,.9);
  border-radius:24px;
  padding:18px 18px 16px;
  box-shadow:0 14px 34px rgba(31,18,24,.06);
}
.summary-title-box{margin-bottom:14px;}
.summary-list{margin-top:0;}
.summary-desktop{
  display:block !important;
}
.summary-mobile{
  display:none !important;
}
.summary-whatsapp-btn{
  margin-top:14px;
  border:1px solid rgba(235,146,110,.34);
  background:linear-gradient(135deg,#ffe7ef 0%, #ffe9cc 100%);
  color:#7b4a4e;
  box-shadow:0 16px 34px rgba(234,153,117,.18), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.summary-whatsapp-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(234,153,117,.24), inset 0 1px 0 rgba(255,255,255,.72);
  filter:saturate(1.02);
}
.summary-whatsapp-main,
.summary-whatsapp-main .icon{
  color:#8f4a52;
}
.summary-whatsapp-subtitle{
  color:#8e5f63;
}
.summary-whatsapp-number{
  margin-top:2px;
}
.summary-whatsapp-number span{
  min-width:172px;
  padding:9px 16px;
  border:1.5px solid rgba(223,79,135,.34);
  background:linear-gradient(180deg,#fff4f8 0%, #ffe9f1 100%);
  color:#8d4a58;
}
.friendly-note{
  font-weight:400;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
}
.friendly-note strong{
  font-weight:800 !important;
}
.confirm-actions{
  gap:16px;
}
.btn-confirm-xl{
  min-height:72px;
  padding:18px 26px;
  font-size:16px;
  line-height:1.45;
}
.btn-confirm-xl .icon{
  width:21px;
  height:21px;
}
.btn-confirm-xl.btn-primary{
  text-decoration:none;
}
.treatment-section{
  gap:24px;
}
.treatment-section-title{
  margin-top:8px;
  margin-bottom:20px;
}
.treatment-section-title span{
  display:inline-block;
  padding:12px 18px;
}
.treatment-section-title-stacked{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.treatment-section-title-stacked .title-main{
  display:block;
  font-size:20px;
  line-height:1;
}
.treatment-section-title-stacked .title-sub{
  display:block;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  font-size:12px;
  letter-spacing:.18em;
  line-height:1.1;
  opacity:.8;
}
.treatment-card .card-title{
  font-size:24px;
  line-height:1.08;
}
.treatment-card .card-copy{
  font-size:15.5px;
  line-height:1.68;
}
.treatment-assist-wrap{
  display:flex;
  justify-content:center;
}
.treatment-assist-card-centered{
  width:100%;
}
.treatment-assist-inner,
.treatment-assist-copy{
  width:100%;
}
.treatment-assist-card-centered .card-title,
.treatment-assist-card-centered .card-copy{
  text-align:center !important;
}
@media (max-width: 1024px){
  .summary-desktop{
    display:none !important;
  }
  .summary-mobile{
    display:block !important;
  }
}
@media (max-width: 720px){
  .summary-mobile{
    margin-top:26px !important;
  }
  .summary-main-box{
    padding:16px 14px 14px;
    border-radius:22px;
  }
  .summary-whatsapp-btn{
    min-height:116px;
    padding:18px 16px;
  }
  .summary-whatsapp-number span{
    min-width:164px;
  }
  .btn-confirm-xl{
    min-height:76px;
    font-size:15px;
    line-height:1.5;
  }
  .treatment-section-title{
    margin-top:10px;
    margin-bottom:18px;
  }
  .treatment-section-title span{
    width:100%;
    padding:12px 14px;
  }
  .treatment-section-title-stacked .title-main{
    font-size:18px;
  }
  .treatment-card .card-title{
    font-size:22px;
  }
  .treatment-card .card-copy{
    font-size:15px;
  }
  .treatment-assist-wrap{
    justify-content:stretch;
  }
}

/* Section · summary panel and treatment gallery polish */
.city-card .card-copy,
.type-card .card-copy,
.treatment-card .card-copy{
  font-size:16px;
  line-height:1.72;
}
.summary-whatsapp-main{
  font-size:16px;
}
.summary-whatsapp-btn{
  background:linear-gradient(135deg,#fff2f0 0%, #ffe2d8 42%, #ffd7e7 100%);
  border-color:rgba(230,138,101,.22);
  box-shadow:0 18px 34px rgba(231,132,98,.16);
}
.summary-whatsapp-main,
.summary-whatsapp-main .icon{
  color:#8f4a52;
}
.confirm-whatsapp-btn{
  min-height:88px;
  padding:20px 24px;
  text-decoration:none !important;
  width:100%;
}
.confirm-whatsapp-btn .summary-whatsapp-main{
  font-size:18px;
  line-height:1.5;
  justify-content:center;
  text-align:center;
}
.confirm-whatsapp-btn .summary-whatsapp-main .icon{
  width:22px;
  height:22px;
}
.friendly-note{
  font-weight:400;
}
.friendly-note strong{
  font-weight:800;
  text-decoration:none !important;
}
.treatment-assist-card-centered .card-copy{
  display:none;
}
.treatment-section-title{
  margin-top:14px;
  margin-bottom:24px;
}
.treatment-section-title-stacked .title-main{
  position:relative;
  padding-right:0;
}
.treatment-section-title-stacked .title-sub{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff3f8 0%, #ffe8f1 100%);
  border:1px solid rgba(223,79,135,.16);
  box-shadow:0 8px 16px rgba(223,79,135,.08);
  color:#a05172;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  opacity:1;
}
@media (max-width: 720px){
  .city-card .card-copy,
  .type-card .card-copy,
  .treatment-card .card-copy{
    font-size:15px;
    line-height:1.66;
  }
  .summary-whatsapp-main{
    font-size:15px;
  }
  .confirm-whatsapp-btn{
    min-height:96px;
    padding:20px 18px;
  }
  .confirm-whatsapp-btn .summary-whatsapp-main{
    font-size:17px;
  }
  .treatment-section-title{
    margin-top:12px;
    margin-bottom:20px;
  }
}

/* Section · header brand treatment and form polish */
.friendly-note,
.date-info-box,
.treatment-warning{
  font-weight:400;
}
.friendly-note strong,
.date-info-box strong,
.treatment-warning strong{
  font-weight:800;
  text-decoration:none !important;
}

.summary-whatsapp-main{
  font-size:17px;
  letter-spacing:-0.01em;
}
.summary-whatsapp-btn{
  min-height:104px;
}
.summary-whatsapp-subtitle{
  margin-top:2px;
}

.confirm-wrap .summary-pane,
.confirm-wrap .summary-mobile{
  display:none !important;
}

.treatment-section-title{
  margin-top:20px;
  margin-bottom:28px;
}
.treatment-section-title-stacked{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.treatment-section-title-stacked .title-main{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  text-align:center;
}
.treatment-section-title-stacked .title-sub{
  display:none;
}
.treatment-section-title-stacked .title-sub-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff3f8 0%, #ffe8f1 100%);
  border:1px solid rgba(223,79,135,.18);
  box-shadow:0 8px 16px rgba(223,79,135,.08);
  color:#a05172;
  font-size:.62em;
  font-weight:800;
  letter-spacing:.16em;
  vertical-align:middle;
  white-space:nowrap;
  transform:translateY(-1px);
}

.city-card .card-copy,
.type-card .card-copy,
.treatment-card .card-copy{
  font-size:17px;
  line-height:1.76;
}

.confirm-whatsapp-btn{
  min-height:98px;
  padding:24px 26px;
}
.confirm-whatsapp-btn .summary-whatsapp-main{
  font-size:19px;
  line-height:1.65;
  text-decoration:none !important;
}
.confirm-whatsapp-btn,
.confirm-whatsapp-btn:hover,
.confirm-whatsapp-btn:focus,
.confirm-whatsapp-btn:active{
  text-decoration:none !important;
}

@media (max-width: 720px){
  .summary-whatsapp-main{
    font-size:16px;
  }
  .treatment-section-title{
    margin-top:18px;
    margin-bottom:24px;
  }
  .treatment-section-title-stacked .title-main{
    gap:8px;
  }
  .treatment-section-title-stacked .title-sub-inline{
    font-size:.58em;
    padding:5px 9px;
  }
  .city-card .card-copy,
  .type-card .card-copy,
  .treatment-card .card-copy{
    font-size:16px;
    line-height:1.68;
  }
  .confirm-whatsapp-btn{
    min-height:108px;
    padding:22px 18px;
  }
  .confirm-whatsapp-btn .summary-whatsapp-main{
    font-size:18px;
    line-height:1.6;
  }
}

/* Section · stripe checkout and confirmation pages */
.layout-single{grid-template-columns:minmax(0,1fr);max-width:980px;}
.layout-single .main-panel{max-width:100%;}
.payment-screen,.confirmation-screen{padding:32px;}
.payment-topline,.confirmation-topline{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--surface-soft);border:1px solid rgba(223,79,135,.18);color:var(--primary-strong);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;}
.payment-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:start;margin-top:18px;}
.payment-side{min-width:0;}
.payment-summary{display:grid;gap:10px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);border:1px solid rgba(223,79,135,.16);box-shadow:var(--shadow);}
.payment-summary__item,.payment-summary__total{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(240,223,231,.8);}
.payment-summary__item span,.payment-summary__total span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.payment-summary__item strong,.payment-summary__total strong{font-size:14px;line-height:1.45;text-align:right;}
.payment-summary__total strong{font-size:22px;color:var(--primary-strong);}
.payment-inline-note,.payment-help-box,.payment-error{margin-top:18px;padding:16px 18px;border-radius:18px;background:var(--surface-soft);border:1px solid rgba(223,79,135,.16);color:var(--primary-strong);line-height:1.6;}
.payment-checkout-shell{margin-top:20px;min-height:420px;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(240,223,231,.9);}
.confirmation-topline{margin-bottom:18px;}
.confirm-wrap-standalone{max-width:820px;}
.confirm-actions-standalone .btn-confirm-xl,.confirm-actions-standalone .btn{flex:1 1 0;}
.confirmation-status{margin:18px auto 0;max-width:520px;padding:14px 18px;border-radius:18px;font-weight:700;}
.confirmation-status.is-success{background:linear-gradient(180deg,#fff3f7 0%,#fff 100%);border:1px solid rgba(223,79,135,.2);color:var(--primary-strong);}
.confirmation-status.is-pending{background:#fff8ec;border:1px solid rgba(230,174,92,.22);color:#9a6a24;}
@media (max-width: 900px){.payment-hero{grid-template-columns:1fr;}.payment-screen,.confirmation-screen{padding:24px 18px;}.payment-badge-subtitle{border-radius:22px;}.payment-checkout-shell,.payment-summary-wrap{max-width:100%;}}

.payment-screen--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;}
.payment-screen--centered .step-title{width:100%;text-align:center;}
.payment-screen--centered .step-subtitle{margin-left:auto;margin-right:auto;}
.payment-badge-subtitle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;max-width:680px;margin:14px auto 0;padding:12px 18px;border-radius:999px;background:var(--surface-soft);border:1px solid rgba(223,79,135,.16);color:var(--primary-strong);font-weight:600;line-height:1.55;text-align:center;gap:8px;}
.payment-inline-note--centered{max-width:680px;width:100%;margin-left:auto;margin-right:auto;}
.payment-checkout-shell{width:100%;max-width:720px;margin-left:auto;margin-right:auto;}
.payment-summary-wrap{width:100%;max-width:720px;margin:20px auto 0;}
.payment-summary-wrap .payment-summary{text-align:left;}
.payment-actions-centered{justify-content:center;}
.btn-back-link{text-decoration:none !important;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.btn-back-link::before{content:"←";font-size:1.05em;line-height:1;}
.payment-screen .actions{margin-top:22px;}

.payment-inline-note--retry {
  background: #fff3f4;
  border: 1px solid #f3c2d7;
  color: #8a355f;
}

/* Section · April 2026 visual refinements */
.global-progress-shell{position:sticky;top:77px;z-index:24;background:rgba(252,244,247,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(240,223,231,.78);}
.global-progress-wrap{max-width:var(--content);margin:0 auto;padding:14px 20px 16px;}
.global-progress-meta{display:flex;justify-content:flex-end;align-items:center;font-size:12px;color:var(--muted);margin-bottom:10px;}
.progress-wrap{display:none !important;}
.layout{padding-top:20px;}
.summary-desktop{top:152px;}
.step-hero{text-align:center;}
.step-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.45;}
.step-title{font-size:52px;line-height:1.02;}
@media (max-width:1024px){.step-title{font-size:44px;}.global-progress-shell{top:76px;}.summary-desktop{top:144px;}}
@media (max-width:720px){.step-title{font-size:36px;}.global-progress-wrap{padding:12px 16px 14px;}.global-progress-shell{top:72px;}}
.option-card,.type-card,.treatment-card,.city-card,.treatment-assist-card{text-align:center;align-items:center;position:relative;}
.option-card .card-icon,.city-card .card-icon{margin-left:auto;margin-right:auto;}
.card-copy,.card-title,.city-card__content,.type-card__body,.treatment-card__body,.treatment-assist-copy,.card-includes,.card-chip-row,.card-includes-label{text-align:center !important;}
.card-arrow{position:absolute;top:18px;right:18px;margin:0;align-self:auto;}
.city-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding-top:28px;padding-bottom:24px;}
.city-card__top{display:flex;justify-content:center;align-items:center;width:100%;}
.city-card__content{display:grid;gap:8px;justify-items:center;}
.city-title{font-size:24px;line-height:1.08;}
.city-address{max-width:250px;margin:0 auto;}
.type-card,.treatment-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding-top:28px;padding-bottom:24px;}
.type-card__body,.treatment-card__body{display:grid;gap:10px;justify-items:center;width:100%;}
.treatment-assist-copy{display:grid;gap:10px;justify-items:center;}
.treatment-assist-card .card-copy{max-width:720px;margin:0 auto;}
.card-tag-feature-copy{max-width:720px;white-space:normal;border-radius:18px;padding:12px 16px;line-height:1.45;background:linear-gradient(180deg,#fdf1f7 0%, #fbe5f0 100%);border:1px solid rgba(223,79,135,.24);color:#a3426b;font-weight:700;display:inline-flex;gap:8px;align-items:flex-start;justify-content:center;text-align:center;}
.card-tag-feature-copy .icon{width:16px;height:16px;flex:0 0 16px;margin-top:2px;}
.summary-card{display:flex;flex-direction:column;gap:16px;}
.summary-whatsapp-btn{order:-1;min-height:0;padding:18px 18px 20px;gap:6px;}
.summary-whatsapp-main{font-size:15px;}
.summary-whatsapp-number{order:2;font-size:24px;}
.summary-whatsapp-subtitle{order:3;font-size:12px;line-height:1.45;max-width:300px;white-space:normal;}
.unified-note,.friendly-note,.treatment-warning,.date-info-box,.checkout-info-box{display:flex;flex-direction:column;align-items:center !important;justify-content:center !important;gap:10px;text-align:center !important;padding:18px 20px;border-radius:20px;border:1px solid rgba(223,79,135,.16);background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);box-shadow:0 12px 24px rgba(223,79,135,.08);color:var(--primary-strong);font-weight:600;}
.unified-note .icon,.friendly-note .icon,.treatment-warning .icon,.date-info-box .icon,.checkout-info-box .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto;}
.unified-note span,.friendly-note span,.treatment-warning span,.date-info-box span,.checkout-info-box span{display:block;max-width:780px;margin:0 auto;}
.friendly-note strong,.treatment-warning strong,.date-info-box strong,.checkout-info-box strong{font-weight:800 !important;text-decoration:none !important;}
@media (max-width:720px){.unified-note,.friendly-note,.treatment-warning,.date-info-box,.checkout-info-box{padding:16px 16px;}.card-arrow{top:14px;right:14px;}.city-title{font-size:22px;}.summary-whatsapp-number{font-size:22px;}}

/* Section · header adjustments */
.app-header{
  background:linear-gradient(180deg,#df4f87 0%, #c93d73 100%) !important;
  border-bottom:1px solid rgba(201,61,115,.55) !important;
  box-shadow:0 12px 28px rgba(201,61,115,.18);
}
.brand-logo{
  filter:brightness(0) invert(1);
}

/* Section · additional April 2026 refinements */
.global-progress-meta{justify-content:center !important;text-align:center;}
.global-progress-label{display:inline-block;width:100%;text-align:center;}
.card-icon{width:52px;height:52px;border-radius:16px;}
.card-icon .icon,.city-icon-img{width:28px;height:28px;}
.type-card .card-icon,.treatment-card .card-icon,.city-card .card-icon,.treatment-assist-card .card-icon{width:58px;height:58px;border-radius:18px;margin-bottom:18px;}
.type-card .card-icon .icon,.treatment-card .card-icon .icon,.treatment-assist-card .card-icon .icon{width:30px;height:30px;}
.city-icon-wrap{width:64px;height:64px;border-radius:20px;margin-bottom:18px;}
.city-icon-img{width:34px;height:34px;object-fit:contain;}
.summary-card{gap:22px;}
.summary-whatsapp-btn{margin-bottom:10px;}
.summary-main-box{margin-top:6px;padding-top:8px;}
.summary-title-box{margin-top:8px !important;margin-bottom:18px !important;}
.summary-title{padding-top:6px;padding-bottom:6px;}
.card-tag-feature-copy{font-size:14px;line-height:1.6;gap:10px;margin-top:2px;margin-bottom:2px;}
.card-tag-feature-copy .icon{width:18px;height:18px;flex:0 0 18px;margin-top:1px;}
@media (max-width:720px){
  .card-icon{width:48px;height:48px;}
  .card-icon .icon,.city-icon-img{width:26px;height:26px;}
  .type-card .card-icon,.treatment-card .card-icon,.city-card .card-icon,.treatment-assist-card .card-icon{width:54px;height:54px;}
  .type-card .card-icon .icon,.treatment-card .card-icon .icon,.treatment-assist-card .card-icon .icon{width:28px;height:28px;}
  .city-icon-wrap{width:58px;height:58px;}
  .city-icon-img{width:30px;height:30px;}
  .card-tag-feature-copy{font-size:13px;line-height:1.55;}
  .summary-card{gap:20px;}
  .summary-whatsapp-btn{margin-bottom:8px;}
  .summary-title-box{margin-top:10px !important;margin-bottom:16px !important;}
}

/* Section · full bundle cleanup refinements */
.city-card{padding-top:30px;padding-bottom:26px;}
.city-card .city-icon-wrap{width:116px !important;height:116px !important;flex:0 0 116px !important;margin-bottom:20px;border-radius:0 !important;background:transparent !important;}
.city-card .city-icon-img{width:94px !important;height:94px !important;object-fit:contain;}
.city-card .card-icon{width:116px !important;height:116px !important;background:transparent !important;border:none !important;box-shadow:none !important;}
.type-card .card-icon,.treatment-card .card-icon,.treatment-assist-card .card-icon{width:68px;height:68px;border-radius:20px;margin-bottom:18px;}
.type-card .card-icon .icon,.treatment-card .card-icon .icon,.treatment-assist-card .card-icon .icon{width:34px;height:34px;}
.card-tag-primary{background:linear-gradient(180deg,#df4f87 0%, #c93d73 100%) !important;color:#fff !important;border:1px solid rgba(201,61,115,.85);box-shadow:0 12px 24px rgba(201,61,115,.18);}
.type-card .card-tag-above-icon{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 14px;padding:8px 14px;text-align:center;line-height:1.35;font-size:12px;font-weight:800;max-width:270px;white-space:normal;border-radius:999px;}
.type-card .type-card__body{display:grid;gap:10px;justify-items:center;}
.card-tag-feature-copy{display:flex !important;flex-direction:column;align-items:center !important;justify-content:center;gap:8px;text-align:center;max-width:760px;font-size:15px;line-height:1.65;padding:14px 18px;}
.card-tag-feature-copy .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto !important;}
.summary-card{gap:22px;}
.summary-whatsapp-btn{margin-bottom:10px;}
.summary-main-box{margin-top:6px;padding-top:8px;}
.summary-title-box{margin-top:8px !important;margin-bottom:18px !important;}
.summary-title{padding-top:6px;padding-bottom:6px;}
@media (max-width:720px){
  .city-card .city-icon-wrap{width:104px !important;height:104px !important;flex-basis:104px !important;}
  .city-card .city-icon-img{width:84px !important;height:84px !important;}
  .type-card .card-tag-above-icon{font-size:11px;max-width:240px;padding:8px 12px;margin-bottom:12px;}
  .card-tag-feature-copy{font-size:14px;line-height:1.55;}
}

.payment-badge-stack{display:grid;gap:10px;justify-items:center;margin-top:14px;}
.payment-badge-subtitle .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto;}
.payment-badge-subtitle--trust{background:linear-gradient(180deg,#eefbf6 0%, #f8fffc 100%);border-color:rgba(69,170,127,.24);color:#256b55;}
.payment-badge-subtitle--trust .icon{color:#2d8b68;}
.confirmation-topline-centered{display:flex;justify-content:center;margin-left:auto;margin-right:auto;}
.confirmation-topline--stacked{flex-direction:column;gap:8px;text-align:center;}
.confirmation-topline--stacked .icon{width:22px;height:22px;margin:0 auto;}
.confirmation-status--stacked{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px 20px;}
.confirmation-status--stacked .icon{width:22px;height:22px;}
.confirmation-status.is-success{background:linear-gradient(180deg,#eefbf4 0%,#f9fffc 100%);border:1px solid rgba(69,170,127,.24);color:#256b55;}
.confirm-actions-reworked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.confirm-contact-card{position:relative;display:grid;gap:8px;width:100%;padding:22px 22px 20px;border-radius:24px;background:linear-gradient(135deg,#ecfff6 0%, #f7fffb 48%, #f0fff9 100%);border:1px solid rgba(43,167,116,.18);box-shadow:0 18px 34px rgba(43,167,116,.12);text-decoration:none !important;color:#1f5d4a;overflow:hidden;}
.confirm-contact-card:hover{transform:translateY(-2px);box-shadow:0 22px 38px rgba(43,167,116,.16);}
.confirm-contact-card__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto;padding:7px 12px;border-radius:999px;background:rgba(43,167,116,.10);font-size:12px;font-weight:800;letter-spacing:.04em;color:#24825d;}
.confirm-contact-card__eyebrow .icon{width:16px;height:16px;}
.confirm-contact-card__title{font-size:24px;line-height:1.08;font-weight:900;text-align:center;color:#1c5a47;}
.confirm-contact-card__copy{font-size:15px;line-height:1.6;text-align:center;color:#487466;max-width:480px;margin:0 auto;}
.confirm-contact-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;margin:4px auto 0;border-radius:999px;background:#24a56a;color:white;font-size:14px;font-weight:800;box-shadow:0 10px 20px rgba(36,165,106,.18);}
.confirm-instagram-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(223,79,135,.18);background:linear-gradient(180deg,#fff6fa 0%, #fff 100%);color:var(--primary-strong);text-decoration:none !important;font-weight:800;text-align:center;box-shadow:0 14px 28px rgba(223,79,135,.08);}
.confirm-instagram-btn--stacked{flex-direction:column;gap:8px;}
.confirm-instagram-btn--stacked .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto;}
.btn-confirm-match--stacked{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none !important;}
.btn-confirm-match--stacked .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto;}
.confirm-instagram-btn:hover{transform:translateY(-1px);box-shadow:0 18px 32px rgba(223,79,135,.12);}
.confirm-instagram-btn .icon{width:18px;height:18px;flex:0 0 18px;}
@media (max-width:720px){
  .payment-badge-stack{gap:8px;}
  .payment-badge-subtitle{padding:11px 14px;}
  .confirm-contact-card{padding:20px 16px 18px;border-radius:22px;}
  .confirm-contact-card__title{font-size:22px;}
  .confirm-contact-card__copy{font-size:14px;}
  .confirm-instagram-btn{padding:15px 14px;gap:8px;}
}

/* Section · aesthetic refinements */
.summary-whatsapp-btn{
  background:linear-gradient(180deg,#25d366 0%, #1ebe5b 100%) !important;
  border:1px solid rgba(20,128,61,.22) !important;
  box-shadow:0 20px 40px rgba(37,211,102,.22) !important;
}
.summary-whatsapp-btn:hover{
  box-shadow:0 24px 44px rgba(37,211,102,.28) !important;
}
.summary-whatsapp-btn::before{
  background:linear-gradient(120deg,rgba(255,255,255,0) 0%, rgba(255,255,255,.26) 50%, rgba(255,255,255,0) 100%) !important;
}
.summary-whatsapp-main{
  flex-direction:column;
  justify-content:center;
  gap:8px;
  color:#ffffff !important;
  text-align:center;
}
.summary-whatsapp-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  margin:0 auto;
  border-radius:18px;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.summary-whatsapp-main .icon,
.summary-whatsapp-label,
.summary-whatsapp-number,
.summary-whatsapp-subtitle{
  color:#fff !important;
}
.summary-whatsapp-main .icon{width:28px !important;height:28px !important;}
.summary-whatsapp-label{display:block;font-size:15px;font-weight:800;line-height:1.25;}
.summary-whatsapp-number span{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.summary-whatsapp-subtitle{opacity:.92;}

.card-tag-feature-copy{
  display:flex !important;
  flex-direction:column-reverse;
  align-items:center !important;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.card-tag-feature-copy .icon{margin:0 auto !important;}

.treatment-section-title,
.treatment-section-title-deluxe{
  display:grid;
  justify-items:center;
  gap:8px;
  padding:0;
  margin:0 0 16px;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}
.treatment-section-title-deluxe .title-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff7fa 0%, #fdebf3 100%);
  border:1px solid rgba(223,79,135,.18);
  color:#b24b74;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.treatment-section-title-deluxe .title-main{
  display:block;
  font-size:clamp(24px,2.8vw,34px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.04em;
  text-transform:none;
  color:#3a2430;
}
.treatment-section-title-deluxe .title-sub-inline{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#bf6a8d;
}
.treatment-section-title-deluxe::after{
  content:"";
  width:72px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#df4f87 0%, rgba(223,79,135,.18) 100%);
}

.treatment-warning-cta{
  gap:14px;
}
.treatment-warning-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.treatment-warning-link{
  appearance:none;
  border:1px solid rgba(223,79,135,.22);
  background:linear-gradient(180deg,#ffffff 0%, #fff7fa 100%);
  color:var(--primary-strong);
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(223,79,135,.10);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.treatment-warning-link:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(223,79,135,.14);
  border-color:rgba(223,79,135,.34);
}

@media (max-width:720px){
  .summary-whatsapp-icon{width:52px;height:52px;border-radius:16px;}
  .treatment-section-title-deluxe .title-main{font-size:26px;}
  .treatment-section-title-deluxe .title-sub-inline{font-size:11px;letter-spacing:.18em;}
}

/* Section · premium pass */
:root{
  --primary:#d84d85;
  --primary-strong:#b83f6f;
  --surface-soft:#fff7fa;
  --line:rgba(223,79,135,.14);
  --shadow:0 14px 34px rgba(37,24,31,.06);
  --shadow-soft:0 10px 24px rgba(37,24,31,.05);
  --shadow-raise:0 18px 38px rgba(37,24,31,.08);
}

.screen-card,
.summary-card,
.summary-main-box,
.confirm-panel,
.treatment-warning,
.date-info-box,
.checkout-info-box,
.option-card,
.time-card,
.date-card,
.month-card{
  box-shadow:var(--shadow) !important;
}

.option-card,.time-card,.date-card,.month-card,.confirm-item,.checkbox,.treatment-warning,.date-info-box,.checkout-info-box{
  border-color:var(--line) !important;
}

.option-card:hover,.time-card:hover,.date-card:hover,.month-card:hover,.treatment-warning-link:hover{
  box-shadow:var(--shadow-raise) !important;
}

.option-card.active,.time-card.active,.date-card.active,.city-card.active{
  box-shadow:0 16px 36px rgba(216,77,133,.12) !important;
  background:linear-gradient(180deg,#fff8fb 0%,#fff 100%) !important;
}

.step-badge,.card-tag,.summary-title,.treatment-section-title-deluxe .title-kicker,.treatment-section-title-stacked .title-sub-inline,.card-price-badge,.summary-whatsapp-number span{
  letter-spacing:.12em;
}

.hero-copy,.card-copy,.city-card .card-copy,.type-card .card-copy,.treatment-card .card-copy,.confirm-copy{
  color:#6c5a63 !important;
}

.treatment-sections{
  gap:40px !important;
}
.treatment-section{
  gap:18px !important;
}
.treatment-section-packs{
  margin-top:6px;
}
.treatment-section-title{
  margin-top:4px !important;
  margin-bottom:22px !important;
}
.treatment-section-title-deluxe{
  gap:12px;
  margin-bottom:20px !important;
}
.treatment-section-title-deluxe .title-kicker{
  padding:7px 12px;
  background:linear-gradient(180deg,#fff8fb 0%,#fdf0f5 100%) !important;
  border-color:rgba(216,77,133,.16) !important;
  color:#b1547b !important;
}
.treatment-section-title-deluxe .title-main{
  font-size:clamp(26px,2.9vw,36px) !important;
  letter-spacing:-.05em !important;
  color:#32222b !important;
}
.treatment-section-title-deluxe .title-sub-inline{
  background:linear-gradient(180deg,#fff8fb 0%,#fcedf4 100%) !important;
  border-color:rgba(216,77,133,.14) !important;
  color:#b76388 !important;
}
.treatment-section-title-deluxe::after{
  width:84px !important;
  background:linear-gradient(90deg,#d84d85 0%, rgba(216,77,133,.14) 100%) !important;
}

.treatment-warning{
  margin-top:10px;
  padding:22px 22px !important;
  background:linear-gradient(180deg,#fffdfd 0%,#fff8fb 100%) !important;
}
.treatment-warning-content{
  gap:12px !important;
}
.treatment-warning-link{
  min-height:46px;
  padding:12px 18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fff2f7 100%) !important;
  border-color:rgba(216,77,133,.26) !important;
  box-shadow:0 14px 28px rgba(216,77,133,.12) !important;
  font-size:14px !important;
}
.treatment-warning-link:hover{
  transform:translateY(-2px) scale(1.01) !important;
  border-color:rgba(216,77,133,.42) !important;
}

.summary-whatsapp-btn{
  width:auto !important;
  min-height:78px !important;
  padding:12px 16px !important;
  gap:6px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#f1fff6 0%,#ddf8e9 100%) !important;
  border:1px solid rgba(37,171,89,.22) !important;
  box-shadow:0 16px 30px rgba(37,171,89,.12), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
.summary-whatsapp-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 20px 34px rgba(37,171,89,.16), inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.summary-whatsapp-main,.summary-whatsapp-main .icon{
  color:#17753d !important;
}
.summary-whatsapp-main{
  font-size:14px !important;
  font-weight:800 !important;
  gap:8px !important;
}
.summary-whatsapp-label{
  text-align:center;
}
.summary-whatsapp-icon{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#2ac163 0%,#1fa654 100%) !important;
  color:#fff !important;
  box-shadow:0 10px 18px rgba(31,166,84,.18) !important;
}
.summary-whatsapp-icon .icon{
  color:#fff !important;
}
.summary-whatsapp-number{
  font-size:17px !important;
}
.summary-whatsapp-number span{
  min-width:126px !important;
  background:rgba(255,255,255,.72) !important;
  color:#1d6d3d !important;
}
.summary-whatsapp-subtitle{
  margin-top:0 !important;
  font-size:11.5px !important;
  color:#4d7a60 !important;
  max-width:220px !important;
}

.cards-grid,.cards-grid.cities-primary,.cards-grid.cities-secondary,.cards-grid.treatment-grid,.cards-grid.treatment-grid-special,.confirm-grid{
  gap:16px !important;
}
.option-card,.time-card,.date-card,.city-card,.treatment-card,.confirm-item{
  border-radius:20px !important;
}
.option-card,.city-card,.treatment-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}
.option-card:hover,.city-card:hover,.treatment-card:hover{
  transform:translateY(-2px) !important;
}
.card-icon{
  border-radius:15px !important;
}
.card-title,.card-title-lg,.card-title-xl,.treatment-card .card-title{
  letter-spacing:-.03em !important;
  color:#2f2229 !important;
}
.card-copy{
  font-size:15px !important;
  line-height:1.68 !important;
}

.confirm-wrap{
  max-width:820px !important;
}
.confirm-icon{
  width:96px !important;
  height:96px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#f2fff6 0%,#ffffff 100%) !important;
  border-color:rgba(37,171,89,.16) !important;
  color:#1fa654 !important;
  box-shadow:0 20px 34px rgba(37,171,89,.10) !important;
}
.confirm-title{
  font-size:52px !important;
  letter-spacing:-.05em !important;
  color:#2f2028 !important;
}
.confirm-copy{
  max-width:650px !important;
  font-size:17px !important;
}
.confirm-panel{
  margin-top:28px !important;
  padding:26px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#fff 0%,#fffafc 100%) !important;
}
.confirm-item{
  padding:16px 18px !important;
  background:linear-gradient(180deg,#fff9fb 0%,#fff 100%) !important;
}
.confirm-k{
  letter-spacing:.08em;
  text-transform:uppercase;
}
.confirm-actions{
  margin-top:20px !important;
  gap:14px !important;
}
.confirm-whatsapp-btn{
  min-height:82px !important;
  padding:18px 20px !important;
}
.confirm-whatsapp-btn .summary-whatsapp-main{
  font-size:16px !important;
}
.btn-confirm-xl{
  min-height:82px !important;
}

@media (max-width:720px){
  .screen-card{padding:22px 16px !important;border-radius:24px !important;}
  .cards-grid,.cards-grid.cities-primary,.cards-grid.cities-secondary,.cards-grid.treatment-grid,.cards-grid.treatment-grid-special,.confirm-grid{gap:14px !important;}
  .option-card,.city-card,.treatment-card,.confirm-item,.checkbox,.treatment-warning,.date-info-box,.checkout-info-box{border-radius:18px !important;}
  .option-card,.time-card,.date-card,.city-card,.treatment-card{padding:16px !important;}
  .card-copy,.city-card .card-copy,.type-card .card-copy,.treatment-card .card-copy{font-size:14px !important;line-height:1.62 !important;}
  .treatment-sections{gap:30px !important;}
  .treatment-section-title-deluxe .title-main{font-size:28px !important;}
  .summary-whatsapp-btn{width:100% !important; min-height:74px !important; padding:12px 14px !important;}
  .summary-whatsapp-icon{width:40px !important;height:40px !important;border-radius:13px !important;}
  .summary-whatsapp-main{font-size:13.5px !important;}
  .summary-whatsapp-number{font-size:16px !important;}
  .summary-whatsapp-number span{min-width:118px !important; padding:7px 10px !important;}
  .summary-whatsapp-subtitle{font-size:11px !important;max-width:none !important;}
  .confirm-title{font-size:40px !important;}
  .confirm-copy{font-size:15px !important;}
  .confirm-panel{padding:20px !important;border-radius:22px !important;}
  .confirm-actions,.actions.right{gap:12px !important;}
  .confirm-whatsapp-btn,.btn-confirm-xl{min-height:74px !important;padding:16px 16px !important;}
  .confirm-whatsapp-btn .summary-whatsapp-main{font-size:15px !important;}
}

/* Section · final WhatsApp and confirmation polish */
.card-title-type-strong{font-size:clamp(24px,2.3vw,30px) !important;line-height:1.02 !important;}
.summary-whatsapp-btn{max-width:240px !important;}
.summary-whatsapp-main,.summary-whatsapp-label,.summary-whatsapp-number,.summary-whatsapp-subtitle{color:#145c31 !important;}
.summary-whatsapp-main .icon{color:#ffffff !important;}
.summary-whatsapp-label{font-size:14px !important;line-height:1.2 !important;text-shadow:none !important;}
.summary-whatsapp-number span{color:#145c31 !important;background:rgba(255,255,255,.82) !important;}
.summary-whatsapp-subtitle{color:#3f6d4f !important;}
.treatment-warning-link{background:linear-gradient(180deg,#df4f87 0%, #c93d73 100%) !important;color:#fff !important;border-color:rgba(201,61,115,.88) !important;box-shadow:0 16px 30px rgba(201,61,115,.18) !important;}
.treatment-warning-link:hover{box-shadow:0 18px 34px rgba(201,61,115,.22) !important;}
.centered-reservation-price--stacked{flex-direction:column !important;align-items:center !important;justify-content:center !important;text-align:center !important;gap:14px !important;}
.centered-reservation-price__main{display:grid;gap:6px;justify-items:center;text-align:center;width:100%;}
.centered-reservation-price--stacked .label,.centered-reservation-price--stacked .price{text-align:center !important;width:100%;}
.price-note-inline--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:520px;margin:0 auto;text-align:center !important;}
.price-note-inline--centered .icon{width:20px;height:20px;flex:0 0 20px;margin:0 auto;color:#24a56a;}
.price-note-inline--centered span{display:block;line-height:1.6;color:#5d5560;}
.price-note-inline--centered strong{color:#b83f6f;}
.payment-badge-subtitle--icon-bottom,.confirmation-topline--icon-bottom,.confirmation-status--icon-bottom{display:inline-flex;flex-direction:column !important;align-items:center;justify-content:center;gap:8px;text-align:center;}
.payment-badge-subtitle--icon-bottom .icon,.confirmation-topline--icon-bottom .icon,.confirmation-status--icon-bottom .icon{margin:0 auto !important;}
.confirm-contact-card__cta{font-size:15px !important;letter-spacing:.06em;min-width:164px;}
.confirm-instagram-btn--reels{position:relative;overflow:hidden;padding:20px 18px !important;background:linear-gradient(135deg,#fff0f7 0%, #ffe8d9 34%, #f4ddff 100%) !important;border:1px solid rgba(203,74,132,.18) !important;box-shadow:0 18px 34px rgba(203,74,132,.12) !important;color:#5b2944 !important;}
.confirm-instagram-btn--reels::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);pointer-events:none;}
.confirm-instagram-btn__eyebrow{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(203,74,132,.14);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8e3e67;}
.confirm-instagram-btn__eyebrow .icon{width:16px;height:16px;flex:0 0 16px;}
.confirm-instagram-btn__title{position:relative;font-size:24px;line-height:1.02;font-weight:900;letter-spacing:-.04em;color:#4a2238;}
.confirm-instagram-btn__copy{position:relative;max-width:460px;font-size:14px;line-height:1.6;color:#71445c;}
@media (max-width:720px){.summary-whatsapp-btn{max-width:100% !important;}.card-title-type-strong{font-size:24px !important;}.confirm-instagram-btn__title{font-size:22px;}.confirm-instagram-btn__copy{font-size:13.5px;}}

/* Section · latest layout and treatment polish */
.type-card .type-card__body{justify-items:center;}
.type-card .card-tag-type-below{display:inline-flex;align-items:center;justify-content:center;margin:6px auto 0;padding:8px 14px;text-align:center;line-height:1.35;font-size:12px;font-weight:800;max-width:270px;white-space:normal;border-radius:999px;}
.type-card .skinpass-link + .card-tag-type-below{margin-top:10px;}
.card-tag-feature-copy{display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:10px;font-size:13px;line-height:1.45;padding:10px 14px;text-align:left;max-width:720px;}
.card-tag-feature-copy .icon{width:16px;height:16px;flex:0 0 16px;margin:0 !important;}
.treatment-section-title-divider,.treatment-section-title-divider .title-main,.treatment-section-title-divider .title-sub-inline{background:none !important;border:none !important;box-shadow:none !important;}
.treatment-section-title-divider{position:relative;display:grid;gap:4px;padding:0 0 14px !important;margin-bottom:12px;}
.treatment-section-title-divider .title-kicker{display:none !important;}
.treatment-section-title-divider::after{content:"";display:block !important;width:68px;height:2px;border-radius:999px;background:linear-gradient(90deg,#df4f87 0%, rgba(223,79,135,.08) 100%);}
.treatment-section-title-divider .title-main{font-size:clamp(24px,2.8vw,34px);line-height:1.02;font-weight:900;letter-spacing:-.04em;color:#3a2430;}
.treatment-section-title-divider .title-sub-inline{margin-top:2px;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#bf6a8d;}
.card-price-badge-bottom{display:inline-flex;align-items:center;justify-content:center;align-self:center;margin-top:12px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#ff8fbc 0%, #df4f87 100%);color:#fff;font-size:14px;font-weight:900;letter-spacing:.02em;box-shadow:0 10px 22px rgba(223,79,135,.22);}
.treatment-card .card-title,.treatment-card .card-copy{max-width:none !important;text-align:center;}
.treatment-card .treatment-card__body{display:grid;gap:10px;justify-items:center;text-align:center;width:100%;}
.treatment-card .card-includes,.treatment-card .card-chip-row{justify-self:center;justify-content:center;}
.summary-whatsapp-btn{margin-left:auto !important;margin-right:auto !important;align-self:center !important;justify-self:center !important;}
.centered-label,.centered-price{text-align:center !important;width:100%;display:block;}
.confirmation-topline--yaaaay{display:flex !important;align-items:center !important;justify-content:center !important;width:max-content;max-width:100%;margin-left:auto !important;margin-right:auto !important;}
.confirm-instagram-btn--grid{padding:18px 18px 20px !important;}
.confirm-instagram-grid--embed{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;}
.confirm-instagram-embed{width:100%;min-height:370px;border:0;border-radius:18px;background:#fff;box-shadow:0 12px 24px rgba(223,79,135,.10);overflow:hidden;}
@media (max-width:720px){
  .type-card .card-tag-type-below{font-size:11px;max-width:240px;padding:8px 12px;}
  .card-tag-feature-copy{font-size:12px;line-height:1.4;padding:10px 12px;}
  .confirm-instagram-grid--embed{grid-template-columns:1fr;}
  .confirm-instagram-embed{min-height:330px;}
}

/* Section · custom icon sizing */
.type-card .card-icon.city-icon-wrap:has(.custom-icon-img),
.treatment-card .card-icon.city-icon-wrap:has(.custom-icon-img),
.treatment-assist-card .card-icon.city-icon-wrap:has(.custom-icon-img){
  width:88px !important;
  height:88px !important;
  flex:0 0 88px !important;
  border-radius:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-bottom:18px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.type-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img,
.treatment-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img,
.treatment-assist-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img{
  width:64px !important;
  height:64px !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  filter: invert(43%) sepia(48%) saturate(909%) hue-rotate(292deg) brightness(97%) contrast(90%) !important;
  transform: scale(2.15) !important;
  transform-origin:center center !important;
}

@media (max-width:720px){
  .type-card .card-icon.city-icon-wrap:has(.custom-icon-img),
  .treatment-card .card-icon.city-icon-wrap:has(.custom-icon-img),
  .treatment-assist-card .card-icon.city-icon-wrap:has(.custom-icon-img){
    width:80px !important;
    height:80px !important;
    flex-basis:80px !important;
    margin-bottom:16px !important;
  }

  .type-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img,
  .treatment-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img,
  .treatment-assist-card .card-icon.city-icon-wrap .city-icon-img.custom-icon-img{
    width:58px !important;
    height:58px !important;
    transform: scale(2.1) !important;
  }
}

/* Section · final 2026-04-16 polish */
.card-price-badge-bottom small{display:block;margin-top:4px;font-size:12px;line-height:1.35;letter-spacing:.04em;text-transform:none;font-weight:800;opacity:.9;}

.treatment-section-packs .treatment-section-title-deluxe::after{margin-top:2px;}

.card-tag-feature-copy{flex-direction:row !important;align-items:center !important;justify-content:center !important;text-align:left !important;gap:10px !important;}
.card-tag-feature-copy .icon{order:0 !important;margin:0 !important;flex:0 0 16px !important;}
.card-tag-feature-copy__text{order:1 !important;text-align:left !important;width:auto !important;}

.treatment-warning-link{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;}
.treatment-warning-link .icon{width:18px;height:18px;flex:0 0 18px;margin:0 !important;}
.treatment-warning-link span{display:inline-block;}

.summary-card{gap:28px !important;}
.summary-whatsapp-btn{margin-bottom:18px !important;box-shadow:0 16px 34px rgba(37,171,89,.12) !important;}
.summary-whatsapp-btn:hover{box-shadow:0 20px 40px rgba(37,171,89,.18) !important;}
.summary-whatsapp-main .icon-whatsapp-solid,.confirm-contact-card .icon-whatsapp-solid,.confirm-whatsapp-btn .icon-whatsapp-solid{width:22px;height:22px;display:block;fill:currentColor;stroke:none !important;}
.summary-whatsapp-main .icon-whatsapp-solid path,.confirm-contact-card .icon-whatsapp-solid path,.confirm-whatsapp-btn .icon-whatsapp-solid path{stroke:none !important;}

.payment-badge-subtitle--icon-top{display:inline-flex;flex-direction:column !important;align-items:center;justify-content:center;gap:8px;text-align:center;}
.payment-badge-subtitle--icon-top .payment-badge-subtitle__icon-wrap{display:inline-flex;align-items:center;justify-content:center;}
.payment-badge-subtitle--icon-top .icon{margin:0 auto !important;}

.confirm-instagram-btn--profile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 22px;border-radius:24px;text-decoration:none;background:linear-gradient(135deg,#fff4fa 0%, #ffe4f0 42%, #f1e6ff 100%);border:1px solid rgba(223,79,135,.18);box-shadow:0 14px 30px rgba(223,79,135,.12);min-height:168px;}
.confirm-instagram-btn--profile:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(223,79,135,.16);}
.confirm-instagram-btn--profile .confirm-instagram-btn__title{font-size:28px;line-height:1.05;font-weight:900;color:#3a2430;letter-spacing:-.03em;}
.confirm-instagram-btn--profile .confirm-instagram-btn__copy{max-width:320px;text-align:center;color:#71445c;line-height:1.5;}

.app-footer{padding:8px 20px 28px;}
.app-footer__inner{max-width:1120px;margin:0 auto;text-align:center;font-size:12px;line-height:1.65;color:#8c6a79;}
.app-footer__inner a{color:#b83f6f;text-decoration:none;font-weight:700;}
.app-footer__inner a:hover{text-decoration:underline;}

.price-row.centered-reservation-price,.centered-reservation-price--stacked,.centered-reservation-price__main{align-items:center !important;text-align:center !important;justify-content:center !important;}
.centered-reservation-price__main .label,.centered-reservation-price__main .price{width:100%;text-align:center !important;}
.price-note-inline--skinpass{display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:10px;text-align:center !important;}
.price-note-inline--skinpass .icon{order:2;margin:0 !important;}
.price-note-inline--skinpass span{order:1;}
.confirmation-topline--yaaaay{min-width:220px;padding:12px 22px !important;gap:10px !important;border-radius:999px !important;}
.confirmation-topline--yaaaay .icon{margin:0 !important;}
.confirm-instagram-grid--reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;}
.confirm-instagram-reel{position:relative;width:100%;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 12px 24px rgba(223,79,135,.10);}
.confirm-instagram-reel iframe{position:absolute;left:50%;top:50%;width:100%;height:124%;border:0;transform:translate(-50%,-53%);background:#000;}
.confirm-instagram-btn__copy--below{position:relative;display:block;max-width:560px;margin:6px auto 0;font-size:14px;line-height:1.55;color:#71445c;text-align:center;}
.confirm-instagram-reel--card{display:flex;align-items:flex-end;justify-content:flex-start;padding:16px;text-decoration:none;color:#fff;background:linear-gradient(180deg,rgba(30,15,22,.08) 0%, rgba(30,15,22,.78) 100%),linear-gradient(135deg,#ffb3d3 0%, #ff8dc0 38%, #d26bff 100%) !important;min-height:0;}
.confirm-instagram-reel--card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 34%),linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 34%);pointer-events:none;}
.confirm-instagram-reel--card > *{position:relative;z-index:1;}
.confirm-instagram-reel__badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.confirm-instagram-reel__caption{display:block;font-size:15px;line-height:1.4;font-weight:800;text-wrap:balance;}

@media (max-width:720px){
  .card-tag-feature-copy{align-items:flex-start !important;text-align:left !important;}
  .card-tag-feature-copy__text{text-align:left !important;}
  .summary-card{gap:24px !important;}
  .summary-whatsapp-btn{margin-bottom:14px !important;}
  .confirm-instagram-btn--profile .confirm-instagram-btn__title{font-size:24px;}
  .app-footer{padding:4px 16px 24px;}
  .confirm-instagram-grid--reels{grid-template-columns:1fr;}
  .confirm-instagram-reel{max-width:280px;margin:0 auto;}
  .confirm-instagram-reel--card{max-width:280px;margin:0 auto;}
  .confirmation-topline--yaaaay{min-width:0;width:auto;padding:12px 18px !important;}
}

.treatment-warning-link--icon-white .icon{background:#fff;border-radius:999px;padding:4px;box-sizing:content-box;box-shadow:0 6px 14px rgba(255,255,255,.22);}
.treatment-warning-link small{display:block;line-height:1.35;}
.price-pill small{display:block;margin-top:4px;font-size:10px;line-height:1.25;font-weight:800;}


/* Admin panel */
.admin-layout{max-width:1280px;}
.admin-screen{padding:24px;}
.admin-screen--center{display:flex;justify-content:center;align-items:center;min-height:260px;}
.admin-screen--login{max-width:560px;margin:0 auto;}
.admin-hero .step-title{font-size:38px;}
.admin-login-form{display:grid;gap:14px;max-width:420px;margin:0 auto;}
.admin-inline-error{margin:0;color:#b63f68;font-size:13px;font-weight:600;}
.admin-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.admin-title{margin-top:10px;font-size:40px;}
.admin-loading{margin:20px 0;padding:16px;border:1px solid rgba(223,79,135,.15);border-radius:14px;background:#fff7fa;color:#8f4a66;font-weight:600;}
.admin-kpi-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.admin-kpi-grid--sync{grid-template-columns:repeat(4,minmax(0,1fr));}
.admin-kpi-card{padding:14px;border-radius:16px;border:1px solid rgba(223,79,135,.14);background:linear-gradient(180deg,#fff8fb 0%,#fff 100%);}
.admin-kpi-card--sync{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border-color:rgba(96,146,214,.22);}
.admin-sync-status-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;}
.admin-recon-section{margin-top:14px;padding:14px;border:1px solid rgba(96,146,214,.24);border-radius:16px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);}
.admin-recon-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.admin-recon-head h3{margin:0;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:#36517a;}
.admin-recon-list{display:grid;gap:10px;}
.admin-recon-item{padding:12px;border:1px solid rgba(96,146,214,.18);border-radius:12px;background:#fff;}
.admin-recon-item-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px;}
.admin-recon-time{margin-left:auto;font-size:12px;color:#6d7f99;}
.admin-recon-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;}
.admin-recon-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-bottom:12px;}
.admin-recon-snapshot{margin-top:8px;padding:10px;border:1px solid rgba(96,146,214,.16);border-radius:10px;background:#fbfdff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;}
.admin-recon-snapshot p{margin:0;font-size:12px;line-height:1.45;color:#4f6079;}
.admin-recon-playbook{margin-top:10px;padding:10px;border-radius:10px;border:1px solid rgba(223,79,135,.15);background:#fff8fb;}
.admin-recon-playbook-title{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#7e4d62;}
.admin-recon-playbook ol{margin:0 0 8px 18px;padding:0;display:grid;gap:5px;}
.admin-recon-playbook li{font-size:12px;line-height:1.45;color:#5f4f57;}
.admin-recon-playbook p{margin:0;font-size:12px;line-height:1.45;color:#5f4f57;}
.admin-recon-resolve-form{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(96,146,214,.2);display:grid;gap:8px;}
.admin-recon-resolve-form .input{width:100%;}
.admin-pagination--recon{justify-content:flex-start;}
.admin-kpi-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8d6a79;}
.admin-kpi-value{margin-top:6px;font-size:28px;font-weight:800;color:#2e1f27;line-height:1;}
.admin-updated-at{margin:12px 0 0;color:#7f6f78;font-size:12px;}
.admin-toolbar{margin-top:18px;display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:12px;align-items:end;}
.admin-field-search{min-width:0;}
.admin-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;}
.admin-table-wrap{margin-top:16px;overflow:auto;border:1px solid rgba(240,223,231,.92);border-radius:18px;background:#fff;}
.admin-table{width:100%;border-collapse:collapse;min-width:1060px;}
.admin-table th,.admin-table td{padding:11px 12px;border-bottom:1px solid rgba(240,223,231,.74);text-align:left;font-size:13px;vertical-align:top;}
.admin-table th{position:sticky;top:0;background:#fff9fc;color:#6f5b66;font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:11px;z-index:2;}
.admin-table tbody tr{cursor:pointer;}
.admin-table tbody tr:hover{background:#fff8fb;}
.admin-table tbody tr.is-selected{background:#ffeef5;}
.admin-col-id{max-width:220px;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;}
.admin-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;background:#f6edf2;border:1px solid #ead5df;color:#6f4e5d;font-size:11px;font-weight:700;text-transform:lowercase;}
.admin-chip--paid,.admin-chip--appointment_created{background:#eefbf2;border-color:#ccefd8;color:#216c42;}
.admin-chip--confirmed_no_payment{background:#eef8ff;border-color:#d1e7fb;color:#245f8f;}
.admin-chip--error,.admin-chip--flowww_error{background:#fff1f4;border-color:#f3ccd8;color:#993655;}
.admin-chip--pending,.admin-chip--pending_sync,.admin-chip--processing{background:#fff8ec;border-color:#f2dfb9;color:#8a5b1f;}
.admin-chip--checkout_open{background:#f4f0ff;border-color:#dcd0fb;color:#5e4395;}
.admin-chip--expired,.admin-chip--abandoned{background:#f3f3f3;border-color:#e2e2e2;color:#5e5e5e;}
.admin-empty{margin-top:16px;padding:20px;border:1px dashed rgba(223,79,135,.26);border-radius:16px;background:#fff9fc;color:#8b6577;}
.admin-pagination{margin-top:14px;display:flex;justify-content:center;}
.admin-pagination-end{font-size:12px;color:#8f7a84;}
.admin-detail{margin-top:18px;border:1px solid rgba(240,223,231,.9);border-radius:18px;background:linear-gradient(180deg,#fffafc 0%,#fff 100%);padding:16px;}
.admin-detail--empty{color:#8f7883;}
.admin-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.admin-detail-head h3{margin:0;font-size:18px;font-weight:800;word-break:break-word;}
.admin-detail-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.admin-btn-close{min-height:40px;padding:0 14px;border-radius:12px;}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.admin-detail-card{padding:14px;border-radius:14px;border:1px solid rgba(223,79,135,.15);background:#fff;}
.admin-detail-card--timeline{margin-top:12px;}
.admin-detail-card h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8d6a79;}
.admin-detail-card p{margin:5px 0;font-size:13px;line-height:1.48;word-break:break-word;}
.admin-sync-timeline{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:4px;}
.admin-sync-event{padding:10px;border:1px solid rgba(223,79,135,.14);border-radius:12px;background:#fff9fc;}
.admin-sync-event-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.admin-sync-event-time{font-size:12px;color:#7f6f78;}
.admin-detail-actions{margin-top:12px;display:flex;justify-content:flex-end;}

@media (max-width:1024px){
  .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-toolbar{grid-template-columns:1fr;}
  .admin-toolbar-actions{justify-content:flex-start;}
  .admin-recon-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-recon-snapshot{grid-template-columns:1fr;}
  .admin-title{font-size:34px;}
}

@media (max-width:720px){
  .admin-screen{padding:20px 16px;}
  .admin-hero .step-title{font-size:30px;}
  .admin-title{font-size:30px;}
  .admin-kpi-grid{grid-template-columns:1fr;}
  .admin-recon-toolbar{grid-template-columns:1fr;}
  .admin-detail-grid{grid-template-columns:1fr;}
  .admin-table{min-width:900px;}
}

/* Phase 9 — premium polish */
:focus-visible{
  outline:3px solid rgba(223,79,135,.22);
  outline-offset:3px;
}

@media (prefers-reduced-motion: no-preference){
  .option-card,
  .time-card,
  .btn,
  .summary-whatsapp-btn,
  .confirm-contact-card,
  .confirm-instagram-btn,
  .confirm-item,
  .payment-inline-note,
  .payment-help-box,
  .payment-summary,
  .confirm-panel,
  .screen-card,
  .day-cell{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, opacity .18s ease;
  }

  .option-card:hover,
  .time-card:hover,
  .confirm-contact-card:hover,
  .confirm-instagram-btn:hover,
  .btn:hover,
  .day-cell.available:hover{
    transform:translateY(-1px);
  }
}

.option-card:hover,
.time-card:hover{
  border-color:rgba(223,79,135,.28);
}

.option-card.active,
.time-card.active,
.day-cell.active{
  box-shadow:0 14px 28px rgba(223,79,135,.10);
}

.btn-secondary:hover{
  background:#fff8fb;
  border-color:rgba(223,79,135,.22);
}

.btn:disabled,
.btn.is-loading{
  opacity:.88;
  cursor:wait;
  pointer-events:none;
}

.btn.is-loading{
  box-shadow:0 12px 24px rgba(223,79,135,.18);
}

.input::placeholder,
.textarea::placeholder{
  color:#b8a7af;
}

.checkbox a{
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.payment-state-card{
  gap:14px;
}

.payment-state-card__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  align-self:center;
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
  border:1px solid rgba(223,79,135,.16);
  color:var(--primary-strong);
  font-weight:700;
  font-size:12px;
  letter-spacing:.01em;
}

.payment-state-card--soft-error .payment-state-card__eyebrow{
  background:#fff8fb;
}

.payment-badge-subtitle,
.confirm-copy,
.step-subtitle{
  text-wrap:pretty;
}

.payment-summary,
.payment-help-box,
.confirm-panel,
.confirm-item,
.payment-inline-note,
.friendly-note,
.selected-date-note,
.date-info-box,
.checkout-summary{
  box-shadow:0 14px 30px rgba(51,23,35,.035);
}

.confirm-item{
  position:relative;
  overflow:hidden;
}

.confirm-item::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:2px;
  background:linear-gradient(90deg, rgba(223,79,135,.16), rgba(223,79,135,0));
}

.confirm-contact-card,
.confirm-instagram-btn{
  box-shadow:0 16px 34px rgba(51,23,35,.05);
}

.payment-inline-note{
  line-height:1.55;
}

.payment-inline-note--retry{
  background:linear-gradient(180deg,#fff7fa 0%, #fff 100%);
}

@media (max-width: 720px){
  .payment-state-card__eyebrow{
    width:100%;
    border-radius:16px;
  }

  .confirm-contact-card,
  .confirm-instagram-btn,
  .payment-help-box,
  .payment-summary,
  .checkout-summary,
  .confirm-panel{
    box-shadow:0 10px 22px rgba(51,23,35,.04);
  }
}


/* Final aesthetic touch-ups */
.selected-date-note,
.time-selected-date{
  text-transform:none !important;
}

.card-tag-feature-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center !important;
}
.card-tag-feature-copy .icon{
  order:0 !important;
  margin:0 auto !important;
  flex:0 0 18px !important;
}
.card-tag-feature-copy__text{
  order:1 !important;
  width:100% !important;
  text-align:center !important;
}

.treatment-warning-link--icon-white .icon{
  background:#fff !important;
  border-radius:999px;
  padding:6px !important;
  box-sizing:content-box;
  box-shadow:0 8px 18px rgba(255,255,255,.34) !important;
}

@media (max-width:1024px){
  .summary-mobile{
    margin-top:34px !important;
  }
}
@media (max-width:720px){
  .summary-mobile{
    margin-top:38px !important;
  }
}
/* FIX: precio packs en dos líneas */
.card-price-badge-bottom {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}

.card-price-badge-bottom small {
  display: block;
  font-size: 11px;
  margin-top: 2px;
  opacity: 0.8;
}
/* FIX definitivo: subtítulo "Ed. limitadas" visible en Nuestros packs */
.treatment-section-packs .treatment-section-title-stacked .title-sub-inline,
.treatment-section-packs .treatment-section-title-deluxe .title-sub-inline,
.treatment-section-packs .treatment-section-title-divider .title-sub-inline{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:6px !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:#bf6a8d !important;
}
/* FIX: icono blanco sin fondo en botón asesoría */
.treatment-warning-link--icon-white .icon{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;

  background:transparent !important; /* ❌ quitamos fondo blanco */
  padding:0 !important; /* ❌ quitamos círculo */
  box-shadow:none !important;

  color:#fff !important; /* ✅ icono blanco */
  fill:#fff !important;
  stroke:#fff !important;
}


.adele-mode-title-wrap{padding-bottom:8px !important;margin-bottom:10px !important;}
.adele-mode-title-wrap::after{width:68px !important;}
.adele-mode-title-wrap .title-main{font-size:clamp(22px,2.4vw,30px) !important;}
.adele-mode-card .treatment-card__body{display:grid;gap:6px;}


.adele-mode-card .card-price-badge-bottom{
  margin-top:14px;
}
.adele-mode-card .card-icon{
  align-self:flex-start;
}

.loading-dots{display:inline-block;min-width:1.6em;text-align:left;}
.loading-dots::after{content:"";animation:loadingDots 1.2s steps(4,end) infinite;}
@keyframes loadingDots{0%{content:"";}25%{content:".";}50%{content:"..";}75%,100%{content:"...";}}
.date-info-box--loading{margin-bottom:18px;}


/* Ajustes paso fecha */
.date-info-inline{
  display:inline-flex !important;
  align-items:baseline;
  justify-content:center;
  gap:0.14em;
  white-space:nowrap;
}
.loading-dots{
  display:inline-block;
  min-width:1.2em;
  text-align:left;
  vertical-align:baseline;
}
.date-policy-note{
  margin-top:18px;
}
