/* ===== TOKENS ===== */
:root {
  --pink:    #E8007B;
  --pink-l:  #ff4dab;
  --pink-d:  #9c0054;
  --gold:    #c9a84c;
  --gold-l:  #f0d07a;
  --dark:    #1a0a12;
  --dark2:   #280d1b;
  --dark3:   #3d1629;
  --mid:     #6b3350;
  --light:   #fdf4f8;
  --white:   #ffffff;
  --shadow:  0 8px 40px rgba(232,0,123,.15);
  --r:       16px;
  --font-d:  'Cormorant Garamond', Georgia, serif;
  --font-s:  'Josefin Sans', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-s);
  background: var(--dark);
  color: var(--white);
  overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dark2); }
::-webkit-scrollbar-thumb { background: var(--pink); border-radius: 3px; }

/* ===== HERO ===== */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #1a0a12 0%, #3d1629 40%, #1a0a12 100%);
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 50%, rgba(232,0,123,.18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 40% at 20% 80%, rgba(201,168,76,.1) 0%, transparent 60%);
}

/* decorative circles */
.hero::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  border: 1px solid rgba(232,0,123,.1);
  top: -100px; right: -100px;
  pointer-events: none;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255,255,255,.01) 2px,
    rgba(255,255,255,.01) 4px
  );
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 2rem;
  animation: fadeUp .9s ease both;
}

.hero-sub {
  font-family: var(--font-s);
  letter-spacing: .35em;
  font-size: .75rem;
  color: var(--gold-l);
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.hero-title {
  font-family: var(--font-d);
  font-size: clamp(4rem, 12vw, 9rem);
  font-weight: 300;
  line-height: .95;
  color: var(--white);
}
.hero-title em {
  font-style: italic;
  color: var(--pink);
}

.hero-cosm {
  font-family: var(--font-d);
  font-style: italic;
  font-size: 1.1rem;
  color: rgba(255,255,255,.6);
  margin: .8rem 0 1.8rem;
  letter-spacing: .05em;
}

.hero-badges {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.hero-badges span {
  font-size: .65rem;
  letter-spacing: .2em;
  color: var(--gold);
  border: 1px solid rgba(201,168,76,.3);
  padding: .4rem 1rem;
  border-radius: 100px;
  text-transform: uppercase;
}

.btn-hero {
  display: inline-block;
  background: var(--pink);
  color: var(--white);
  font-family: var(--font-s);
  font-size: .75rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 1rem 3rem;
  border-radius: 100px;
  transition: background .3s, transform .3s, box-shadow .3s;
  box-shadow: 0 4px 30px rgba(232,0,123,.4);
}
.btn-hero:hover {
  background: var(--pink-l);
  transform: translateY(-2px);
  box-shadow: 0 8px 40px rgba(232,0,123,.5);
}

.hero-social {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.hero-social a {
  width: 38px; height: 38px;
  color: rgba(255,255,255,.5);
  transition: color .3s, transform .3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-social a:hover {
  color: var(--pink);
  transform: scale(1.2);
}
.hero-social svg { width: 20px; height: 20px; }

/* ===== NAV ===== */
.nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(26,10,18,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232,0,123,.15);
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: .9rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-logo {
  font-family: var(--font-d);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--pink);
  letter-spacing: .05em;
}
.nav ul {
  list-style: none;
  display: flex;
  gap: 2rem;
  align-items: center;
}
.nav a {
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  transition: color .3s;
}
.nav a:hover { color: var(--white); }
.nav-cta {
  background: var(--pink) !important;
  color: var(--white) !important;
  padding: .55rem 1.4rem;
  border-radius: 100px;
  font-size: .7rem !important;
  transition: background .3s !important;
}
.nav-cta:hover { background: var(--pink-l) !important; }

/* ===== SHARED ===== */
.sec-header {
  max-width: 1200px;
  margin: 0 auto 3.5rem;
  padding: 0 2rem;
}
.sec-header.light .tag { color: var(--pink-l); }
.sec-header.light h2 { color: var(--white); }

.tag {
  display: inline-block;
  font-size: .65rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .7rem;
}

.sec-header h2 {
  font-family: var(--font-d);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  color: var(--white);
  line-height: 1.1;
}
.sec-header h2 em {
  font-style: italic;
  color: var(--pink);
}

/* ===== SOBRE ===== */
.sobre {
  padding: 6rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.sobre-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.sobre-text .tag { display: block; margin-bottom: .5rem; }
.sobre-text h2 {
  font-family: var(--font-d);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  margin-bottom: 1.5rem;
}
.sobre-text h2 em { color: var(--pink); font-style: italic; }
.sobre-text p {
  color: rgba(255,255,255,.7);
  line-height: 1.8;
  font-size: .9rem;
  margin-bottom: 1rem;
}
.sobre-horario {
  margin-top: 1.8rem;
  background: rgba(232,0,123,.08);
  border: 1px solid rgba(232,0,123,.2);
  border-radius: var(--r);
  padding: 1.2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.sobre-horario span {
  font-size: .75rem;
  letter-spacing: .1em;
  color: var(--gold);
  text-transform: uppercase;
}
.sobre-horario strong {
  font-size: 1.3rem;
  font-family: var(--font-d);
  color: var(--white);
}
.sobre-img-wrap {
  display: flex;
  justify-content: center;
}
.sobre-img-placeholder {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 4/5;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--dark2), var(--dark3));
  border: 2px dashed rgba(232,0,123,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.2);
  font-size: .8rem;
  text-align: center;
  letter-spacing: .1em;
}

/* ===== SERVICIOS ===== */
.servicios {
  padding: 5rem 2rem 6rem;
  background: linear-gradient(180deg, var(--dark) 0%, var(--dark2) 100%);
}

.cat-label {
  grid-column: 1 / -1;
  font-size: .7rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  padding: .5rem 0;
  border-bottom: 1px solid rgba(201,168,76,.2);
  margin: 1rem 0 .5rem;
}

.servicios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.8rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* ===== CARD ===== */
.card {
  background: linear-gradient(145deg, rgba(61,22,41,.9), rgba(40,13,27,.9));
  border: 1px solid rgba(232,0,123,.15);
  border-radius: 20px;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 50px rgba(232,0,123,.2);
  border-color: rgba(232,0,123,.4);
}
.card.featured {
  border-color: rgba(201,168,76,.3);
}
.card.featured:hover {
  box-shadow: 0 16px 50px rgba(201,168,76,.2);
  border-color: rgba(201,168,76,.5);
}

/* --- gallery dentro da card --- */
.card-gallery {
  position: relative;
  background: var(--dark3);
}
.card-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.card-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.card:hover .card-img-wrap img { transform: scale(1.04); }

.card-img-wrap.no-img {
  background: linear-gradient(135deg, var(--dark3), var(--dark2));
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.card-img-wrap.no-img::after {
  content: '📸 Añadir foto';
  font-size: .75rem;
  color: rgba(255,255,255,.2);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.card-img-wrap.no-img img { display: none; }

/* thumbnails extras */
.card-thumbs {
  display: flex;
  gap: 4px;
  padding: 4px;
  background: var(--dark);
  flex-wrap: wrap;
}
.card-thumb {
  width: 48px; height: 48px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;
  opacity: .7;
  transition: opacity .2s, transform .2s;
  border: 2px solid transparent;
}
.card-thumb:hover, .card-thumb.active {
  opacity: 1;
  border-color: var(--pink);
  transform: scale(1.05);
}

/* add photo button */
.add-photo-btn {
  position: absolute;
  bottom: 8px; right: 8px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--pink);
  color: var(--white);
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
  z-index: 5;
  line-height: 1;
}
.card:hover .add-photo-btn { opacity: 1; }
.photo-input { display: none; }

.card-body {
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card-body h3 {
  font-family: var(--font-d);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--white);
  margin-bottom: .5rem;
}
.card-body p {
  font-size: .82rem;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  flex: 1;
  margin-bottom: 1rem;
}
.card-price {
  font-family: var(--font-d);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--gold-l);
  margin-bottom: 1rem;
}
.card.featured .card-price { color: var(--pink-l); }
.card-btn {
  display: block;
  text-align: center;
  background: transparent;
  border: 1px solid var(--pink);
  color: var(--pink);
  font-family: var(--font-s);
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: .7rem;
  border-radius: 100px;
  transition: background .3s, color .3s;
}
.card-btn:hover {
  background: var(--pink);
  color: var(--white);
}
.card.featured .card-btn {
  border-color: var(--gold);
  color: var(--gold);
}
.card.featured .card-btn:hover {
  background: var(--gold);
  color: var(--dark);
}

/* ===== GALERÍA ===== */
.galeria {
  padding: 5rem 2rem;
}
.galeria-grid {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.gal-placeholder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.gal-ph-item {
  aspect-ratio: 1;
  border-radius: var(--r);
  background: linear-gradient(135deg, rgba(232,0,123,.05), rgba(61,22,41,.5));
  border: 1px dashed rgba(232,0,123,.15);
}
.gal-hint {
  text-align: center;
  color: rgba(255,255,255,.2);
  font-size: .8rem;
  margin-top: 1.5rem;
  letter-spacing: .1em;
}
.gal-real {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.gal-real img {
  width: 100%; aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--r);
  cursor: pointer;
  transition: transform .3s, box-shadow .3s;
}
.gal-real img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 30px rgba(232,0,123,.25);
}

/* ===== AGENDAR ===== */
.agendar {
  padding: 5rem 2rem 6rem;
  background: linear-gradient(180deg, var(--dark2) 0%, var(--dark) 100%);
}
.agendar-wrap {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  align-items: start;
}
.agendar-info h3 {
  font-family: var(--font-d);
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: var(--gold-l);
}
.contact-item {
  display: flex;
  gap: .8rem;
  margin-bottom: 1.2rem;
  align-items: flex-start;
  font-size: .85rem;
  color: rgba(255,255,255,.7);
  line-height: 1.6;
}
.cicon { font-size: 1rem; }
.contact-item a { color: var(--pink-l); transition: color .3s; }
.contact-item a:hover { color: var(--white); }

.social-row {
  display: flex;
  gap: 1rem;
  margin-top: .5rem;
}
.social-row a {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  border: 1px solid rgba(255,255,255,.15);
  padding: .4rem 1rem;
  border-radius: 100px;
  transition: border-color .3s, color .3s;
}
.social-row a:hover { border-color: var(--pink); color: var(--pink); }

/* form */
.form-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.form-group label {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gold);
}
.form-group input,
.form-group select,
.form-group textarea {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(232,0,123,.2);
  color: var(--white);
  padding: .85rem 1rem;
  border-radius: 10px;
  font-family: var(--font-s);
  font-size: .9rem;
  transition: border-color .3s, background .3s;
  outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--pink);
  background: rgba(232,0,123,.08);
}
.form-group select option { background: var(--dark2); color: var(--white); }
.form-group textarea { resize: vertical; }
.form-group input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: .5;
  cursor: pointer;
}

.btn-submit {
  background: var(--pink);
  color: var(--white);
  border: none;
  font-family: var(--font-s);
  font-size: .75rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 1rem 2rem;
  border-radius: 100px;
  cursor: pointer;
  transition: background .3s, transform .3s, box-shadow .3s;
  box-shadow: 0 4px 20px rgba(232,0,123,.3);
  margin-top: .5rem;
}
.btn-submit:hover {
  background: var(--pink-l);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(232,0,123,.4);
}
.btn-submit:disabled {
  background: var(--mid);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.form-alert {
  padding: 1rem;
  border-radius: 10px;
  font-size: .85rem;
  text-align: center;
}
.form-alert.hidden { display: none; }
.form-alert.success { background: rgba(0,200,100,.1); border: 1px solid rgba(0,200,100,.3); color: #4ade80; }
.form-alert.error   { background: rgba(232,0,100,.1); border: 1px solid rgba(232,0,100,.3); color: #f87171; }

/* ===== FOOTER ===== */
.footer {
  background: var(--dark);
  border-top: 1px solid rgba(232,0,123,.1);
  padding: 3rem 2rem 1.5rem;
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto 2rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
}
.footer-logo {
  font-family: var(--font-d);
  font-size: 1.8rem;
  font-weight: 300;
  color: var(--pink);
  display: block;
  margin-bottom: .3rem;
}
.footer-brand p {
  font-size: .75rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .05em;
}
.footer-links {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.footer-links a {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  transition: color .3s;
}
.footer-links a:hover { color: var(--pink); }
.footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.05);
  text-align: center;
}
.footer-bottom p {
  font-size: .72rem;
  color: rgba(255,255,255,.25);
  letter-spacing: .05em;
}
.footer-bottom strong { color: var(--gold); }

/* ===== WHATSAPP ===== */
.whatsapp-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  width: 58px; height: 58px;
  border-radius: 50%;
  background: #25d366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  transition: transform .3s, box-shadow .3s;
  animation: pulse 2.5s infinite;
}
.whatsapp-float svg { width: 30px; height: 30px; color: var(--white); }
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 30px rgba(37,211,102,.5);
  animation: none;
}

/* ===== LIGHTBOX ===== */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(10,4,8,.97);
  display: none;
  align-items: center;
  justify-content: center;
}
.lightbox.open { display: flex; }
.lb-img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 12px;
  object-fit: contain;
}
.lb-close, .lb-prev, .lb-next {
  position: absolute;
  background: rgba(232,0,123,.2);
  border: 1px solid rgba(232,0,123,.3);
  color: var(--white);
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s;
}
.lb-close:hover, .lb-prev:hover, .lb-next:hover { background: var(--pink); }
.lb-close { top: 1.5rem; right: 1.5rem; width: 42px; height: 42px; font-size: 1.2rem; }
.lb-prev  { left: 1.5rem;  top: 50%; transform: translateY(-50%); width: 48px; height: 48px; font-size: 1.8rem; }
.lb-next  { right: 1.5rem; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; font-size: 1.8rem; }

/* ===== ANIMATIONS ===== */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
  0%,100% { box-shadow: 0 4px 20px rgba(37,211,102,.4); }
  50%      { box-shadow: 0 4px 35px rgba(37,211,102,.7); }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .sobre-inner   { grid-template-columns: 1fr; }
  .agendar-wrap  { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero-social   { right: 1rem; }
}
@media (max-width: 640px) {
  .nav ul { gap: .8rem; }
  .nav a  { font-size: .62rem; }
  .hero-social { display: none; }
  .servicios-grid { grid-template-columns: 1fr; }
  .gal-placeholder { grid-template-columns: repeat(2,1fr); }
  .footer-inner { flex-direction: column; }
}

/* =========================================================
   V2 Premium - tema rosa claro, avaliações e admin
   ========================================================= */
:root {
  --pink: #f3a7c4;
  --pink-l: #ffd9e8;
  --pink-d: #c76591;
  --gold: #d8ad55;
  --gold-l: #f4d991;
  --dark: #fff7fb;
  --dark2: #ffffff;
  --dark3: #ffe8f1;
  --mid: #a46b84;
  --light: #fff9fc;
  --white: #3a1f2b;
  --shadow: 0 16px 50px rgba(199,101,145,.18);
}
body { background: linear-gradient(180deg,#fff7fb,#fff); color:#3a1f2b; }
.hero { background: linear-gradient(135deg,#fff7fb 0%, #ffe1ec 45%, #fffafc 100%); }
.hero::before { background: radial-gradient(ellipse 60% 50% at 80% 50%, rgba(243,167,196,.42) 0%, transparent 70%), radial-gradient(ellipse 40% 40% at 20% 80%, rgba(216,173,85,.16) 0%, transparent 60%); }
.hero-sub, .hero-badges span, .tag { color:#b78636; }
.hero-title { color:#3a1f2b; text-shadow: 0 10px 40px rgba(199,101,145,.12); }
.hero-title em, .nav-logo, h2 em { color:#c76591; }
.hero-cosm { color:#81546a; }
.hero-badges span { background:rgba(255,255,255,.6); border-color:rgba(199,101,145,.22); }
.btn-hero, .nav-cta, .card-btn, .btn-submit { background: linear-gradient(135deg,#f3a7c4,#c76591) !important; color:#fff !important; box-shadow:0 10px 28px rgba(199,101,145,.28); }
.nav { background: rgba(255,247,251,.92); border-bottom:1px solid rgba(199,101,145,.16); }
.nav a { color:#694057; }
.nav a:hover { color:#c76591; }
section, .sobre, .servicios, .galeria, .agendar, .avaliacoes { background: transparent; }
.card, .soft-panel, .agendar-form, .sobre-text, .review-card { background: rgba(255,255,255,.82); border:1px solid rgba(199,101,145,.15); box-shadow: var(--shadow); }
.card-price { color:#c76591; }
.form-group input, .form-group select, .form-group textarea, .review-form input, .review-form select, .review-form textarea, .admin-input { background:#fff; color:#3a1f2b; border:1px solid rgba(199,101,145,.22); }
.form-group input::placeholder, .review-form textarea::placeholder, .review-form input::placeholder { color:#b98ca2; }
.footer { background:#fff0f6; color:#3a1f2b; }
.footer-bottom { border-top:1px solid rgba(199,101,145,.12); }
.whatsapp-float { background: linear-gradient(135deg,#f3a7c4,#c76591); }

.sec-sub { max-width: 620px; margin: .6rem auto 0; color:#81546a; line-height:1.7; }
.avaliacoes { padding: 6rem 2rem; }
.rating-summary { max-width: 760px; margin: 0 auto 2rem; padding:1.5rem 2rem; display:flex; align-items:center; justify-content:center; gap:1.5rem; background:linear-gradient(135deg,#fff,#fff0f6); border:1px solid rgba(199,101,145,.16); border-radius:24px; box-shadow:var(--shadow); }
.rating-number { font-family:var(--font-d); font-size:4rem; color:#c76591; line-height:1; }
.rating-stars, .stars { color:#d8ad55; letter-spacing:.08em; font-size:1.15rem; }
.rating-summary p { color:#81546a; margin-top:.3rem; }
.reviews-grid { max-width:1100px; margin:0 auto 2rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem; }
.review-card { padding:1.4rem; border-radius:22px; }
.review-card p { color:#684156; line-height:1.7; margin:.8rem 0 1rem; }
.review-card strong { color:#c76591; }
.review-form { max-width:760px; margin:0 auto; padding:1.6rem; border-radius:24px; }
.review-form h3 { font-family:var(--font-d); font-size:2rem; margin-bottom:1rem; }
.form-grid-mini { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.review-form input, .review-form select, .review-form textarea { width:100%; border-radius:14px; padding:.95rem 1rem; font-family:var(--font-s); margin-bottom:1rem; }
.star-input { display:flex; gap:.4rem; margin:.2rem 0 1rem; }
.star-input button { border:0; background:transparent; font-size:2rem; color:#e3c7d5; cursor:pointer; transition:.2s; }
.star-input button.active, .star-input button:hover { color:#d8ad55; transform:translateY(-2px); }

.admin-body { min-height:100vh; padding:2rem; background:linear-gradient(135deg,#fff7fb,#ffeaf3); }
.admin-shell { max-width:1200px; margin:0 auto; }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.admin-header h1 { font-family:var(--font-d); font-size:3rem; color:#3a1f2b; }
.admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1rem 0 1.5rem; }
.admin-card { background:#fff; border:1px solid rgba(199,101,145,.15); border-radius:22px; padding:1.3rem; box-shadow:var(--shadow); }
.admin-card span { color:#81546a; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.admin-card strong { display:block; font-size:2.2rem; color:#c76591; margin-top:.4rem; }
.admin-panel { background:rgba(255,255,255,.88); border:1px solid rgba(199,101,145,.16); border-radius:24px; padding:1.2rem; box-shadow:var(--shadow); margin-bottom:1.2rem; }
.admin-panel h2 { font-family:var(--font-d); margin-bottom:1rem; }
.admin-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:1rem; }
.admin-input { border-radius:14px; padding:.8rem 1rem; }
.admin-table { width:100%; border-collapse:collapse; overflow:hidden; }
.admin-table th, .admin-table td { padding:.8rem; border-bottom:1px solid rgba(199,101,145,.12); text-align:left; font-size:.92rem; }
.admin-table th { color:#c76591; text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; }
.admin-btn { border:0; border-radius:999px; padding:.6rem .9rem; cursor:pointer; background:#fff0f6; color:#c76591; font-weight:700; }
.admin-btn.danger { background:#ffe5e5; color:#b84a4a; }
.admin-btn.ok { background:#eaf8ef; color:#257647; }
@media (max-width:700px){ .form-grid-mini{grid-template-columns:1fr;} .rating-summary{align-items:flex-start; flex-direction:column;} .admin-body{padding:1rem;} .admin-header{align-items:flex-start; flex-direction:column;} .admin-table{display:block; overflow-x:auto;} }


/* =========================================================
   V3 BEAUTY LUXE - rosa elegante, texto legible e impacto
   ========================================================= */
:root{
  --pink:#D63384;
  --pink-l:#FFE4EF;
  --pink-d:#9F1D5B;
  --rose:#F9B9D1;
  --cream:#FFF8FB;
  --ink:#26121B;
  --muted:#6F4A5C;
  --gold:#D4A373;
  --white:#FFFFFF;
  --shadow:0 22px 60px rgba(159,29,91,.16);
}
body{background:linear-gradient(180deg,#fff8fb 0%,#fff 42%,#fff3f8 100%)!important;color:var(--ink)!important;}
.hero{background:linear-gradient(135deg,#fff8fb 0%,#ffe4ef 45%,#fff 100%)!important;}
.hero::before{background:radial-gradient(ellipse 55% 48% at 78% 45%,rgba(214,51,132,.24) 0%,transparent 70%),radial-gradient(ellipse 45% 45% at 18% 78%,rgba(212,163,115,.18) 0%,transparent 65%)!important;}
.hero-title{color:#2b1320!important;text-shadow:0 18px 50px rgba(159,29,91,.14)!important;}
.hero-title em,h2 em,.nav-logo{color:var(--pink)!important;}
.hero-sub,.tag{color:var(--gold)!important;}
.hero-cosm,.sec-sub,.sobre-text p,.card-body p,.review-form p{color:var(--muted)!important;}
.nav{background:rgba(255,248,251,.86)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,51,132,.13)!important;}
.nav a{color:#422234!important}.nav a:hover{color:var(--pink)!important}.nav-cta{color:#fff!important}
.btn-hero,.nav-cta,.card-btn,.btn-submit{background:linear-gradient(135deg,#E75480,#B51E66)!important;color:#fff!important;box-shadow:0 16px 34px rgba(181,30,102,.26)!important;}
.btn-hero:hover,.card-btn:hover,.btn-submit:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(181,30,102,.34)!important;}
section,.sobre,.servicios,.galeria,.agendar,.opiniones,.avaliacoes{background:transparent!important;}
.card,.sobre-text,.agendar-info,.form-wrap,.review-card,.review-form,.rating-summary,.glass-card{background:rgba(255,255,255,.88)!important;border:1px solid rgba(214,51,132,.14)!important;box-shadow:var(--shadow)!important;color:var(--ink)!important;}
.card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease!important;}
.card:hover{transform:translateY(-10px)!important;border-color:rgba(214,51,132,.32)!important;box-shadow:0 26px 70px rgba(159,29,91,.22)!important;}
.cat-label{color:#9f1d5b!important;background:linear-gradient(135deg,#fff,#ffe4ef)!important;border:1px solid rgba(214,51,132,.18)!important;}
.card-body h3,.sobre-text h2,.sec-header h2,.agendar-info h3,.review-form h3{color:#26121B!important;}
.card-price{color:#B51E66!important;font-weight:800!important;}
.form-group input,.form-group select,.form-group textarea,.review-form input,.review-form select,.review-form textarea,.admin-input{background:#fff!important;color:#26121B!important;border:1px solid rgba(214,51,132,.22)!important;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none!important;border-color:#D63384!important;box-shadow:0 0 0 4px rgba(214,51,132,.11)!important;}
::placeholder{color:#A97991!important;}
.opiniones{padding:7rem 2rem;background:linear-gradient(180deg,#fff 0%,#fff5f9 100%)!important;position:relative;overflow:hidden;}
.opiniones::before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(214,51,132,.10);filter:blur(14px);right:-120px;top:40px;}
.opiniones::after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(212,163,115,.12);filter:blur(12px);left:-90px;bottom:30px;}
.opiniones>*{position:relative;z-index:1;}
.rating-summary{max-width:780px;margin:2rem auto 2.2rem;padding:1.6rem 2rem;border-radius:28px;display:flex;align-items:center;justify-content:center;gap:1.5rem;background:linear-gradient(135deg,#fff,#fff0f6)!important;}
.rating-number{font-family:var(--font-d);font-size:4.4rem;line-height:1;color:#B51E66!important;}
.rating-stars,.stars{color:#D4A373!important;letter-spacing:.08em;font-size:1.18rem;}
.rating-summary p{color:#6F4A5C!important;margin-top:.3rem;}
.reviews-grid{max-width:1180px;margin:0 auto 2.2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;}
.review-card{padding:1.55rem;border-radius:26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s ease,box-shadow .35s ease!important;}
.review-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(159,29,91,.20)!important;}
.review-card p{color:#3B2230!important;line-height:1.75;margin:1rem 0;font-style:italic;}
.review-person{display:flex;align-items:center;gap:.8rem;margin-top:1rem;}
.review-person span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#F9B9D1,#D63384);color:#fff;font-weight:800;}
.review-person strong{display:block;color:#26121B!important}.review-person small,.review-card small{display:block;color:#7C5A6B!important;margin-top:.2rem;}
.review-form{max-width:820px;margin:0 auto;padding:1.8rem;border-radius:28px;background:linear-gradient(135deg,#fff,#fff7fb)!important;}
.form-grid-mini{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.review-form input,.review-form select,.review-form textarea{width:100%;border-radius:16px;padding:1rem 1.05rem;font-family:var(--font-s);margin-bottom:1rem;}
.star-input{display:flex;gap:.45rem;margin:.25rem 0 1rem;}
.star-input button{border:0;background:transparent;font-size:2.2rem;color:#e9c8d8;cursor:pointer;transition:.2s;}
.star-input button.active,.star-input button:hover{color:#D4A373;transform:translateY(-3px) scale(1.06);}
.footer{background:#2b1320!important;color:#fff!important}.footer a,.footer p{color:rgba(255,255,255,.75)!important}.footer-logo{color:#fff!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.10)!important;}
.whatsapp-float{background:linear-gradient(135deg,#25D366,#128C7E)!important;}
.admin-body{background:linear-gradient(135deg,#fff8fb,#ffe4ef)!important;color:#26121B!important;}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-badges span{animation:softFloat 4s ease-in-out infinite;background:rgba(255,255,255,.68)!important;color:#7C3E5A!important;border-color:rgba(214,51,132,.20)!important;}
.hero-badges span:nth-child(2){animation-delay:.35s}.hero-badges span:nth-child(3){animation-delay:.7s}
@media(max-width:700px){.form-grid-mini{grid-template-columns:1fr}.rating-summary{align-items:flex-start;flex-direction:column}.opiniones{padding:5rem 1rem}.review-card{min-height:auto}.rating-number{font-size:3.4rem}}


/* =========================================================
   V4 BEAUTY IMPACT - acabamento premium, legibilidade e animação
   ========================================================= */
:root{
  --v4-bg:#fff7fb;
  --v4-card:#ffffff;
  --v4-pink:#D63384;
  --v4-pink-2:#F05A9D;
  --v4-pink-dark:#8F184F;
  --v4-blush:#FFE3EF;
  --v4-text:#24131B;
  --v4-muted:#6B4658;
  --v4-gold:#D7A85F;
  --v4-shadow:0 28px 80px rgba(143,24,79,.18);
}
html{scroll-behavior:smooth;}
body{background:radial-gradient(circle at 12% 8%,#ffe3ef 0,#fff7fb 24%,#fff 62%,#fff1f7 100%)!important;color:var(--v4-text)!important;}
.hero{min-height:100vh!important;background:linear-gradient(122deg,#fff 0%,#fff4f9 43%,#ffe1ee 100%)!important;position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72),rgba(255,227,239,.56));z-index:0;}
.hero::after{content:"";position:absolute;right:5%;bottom:8%;width:min(38vw,520px);height:min(38vw,520px);border-radius:42% 58% 52% 48%;background:linear-gradient(145deg,rgba(240,90,157,.20),rgba(215,168,95,.16));filter:blur(.2px);animation:morphBeauty 8s ease-in-out infinite;z-index:0;}
.hero-overlay{background:radial-gradient(circle at 78% 30%,rgba(214,51,132,.18),transparent 36%)!important;z-index:0!important;}
.hero-content{position:relative!important;z-index:2!important;max-width:820px!important;padding-left:clamp(1.4rem,5vw,5rem)!important;}
.hero-sub{display:inline-flex!important;align-items:center!important;gap:.45rem!important;padding:.62rem 1rem!important;background:rgba(255,255,255,.78)!important;border:1px solid rgba(214,51,132,.16)!important;border-radius:999px!important;color:var(--v4-pink-dark)!important;font-weight:800!important;letter-spacing:.18em!important;box-shadow:0 14px 40px rgba(143,24,79,.08)!important;}
.hero-sub::before{content:"✦";color:var(--v4-gold);}
.hero-title{font-size:clamp(4.4rem,10vw,10.5rem)!important;line-height:.78!important;margin:.65rem 0 .5rem!important;color:var(--v4-text)!important;text-shadow:0 22px 70px rgba(143,24,79,.12)!important;}
.hero-title em{background:linear-gradient(135deg,var(--v4-pink),var(--v4-pink-dark));-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.hero-cosm{font-size:clamp(1rem,2vw,1.35rem)!important;color:var(--v4-pink-dark)!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
.hero-copy{max-width:610px;margin:1rem 0 1.1rem;color:var(--v4-muted);font-size:1.1rem;line-height:1.75;font-weight:500;}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.2rem;align-items:center;}
.btn-hero,.btn-submit,.card-btn,.nav-cta{background:linear-gradient(135deg,#F05A9D,#B51E66)!important;color:#fff!important;border:0!important;font-weight:900!important;letter-spacing:.02em!important;box-shadow:0 18px 44px rgba(181,30,102,.28)!important;}
.btn-hero:hover,.btn-submit:hover,.card-btn:hover,.nav-cta:hover{transform:translateY(-4px)!important;box-shadow:0 26px 62px rgba(181,30,102,.36)!important;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(214,51,132,.22);color:var(--v4-pink-dark);font-weight:900;text-decoration:none;box-shadow:0 12px 34px rgba(143,24,79,.10);transition:.28s ease;}
.btn-ghost:hover{transform:translateY(-4px);background:#fff;color:var(--v4-pink);}
.hero-trust{display:flex;align-items:center;gap:.75rem;margin-top:1.3rem;color:var(--v4-muted);font-size:.95rem;flex-wrap:wrap;}
.hero-trust strong{color:var(--v4-gold);font-size:1.05rem;letter-spacing:.04em;}
.beauty-orb{position:absolute;border-radius:50%;z-index:1;pointer-events:none;filter:blur(.2px);opacity:.82;}
.orb-1{width:160px;height:160px;right:18%;top:18%;background:linear-gradient(135deg,rgba(240,90,157,.22),rgba(255,255,255,.16));animation:floatOrb 7s ease-in-out infinite;}
.orb-2{width:90px;height:90px;right:10%;bottom:22%;background:linear-gradient(135deg,rgba(215,168,95,.20),rgba(240,90,157,.14));animation:floatOrb 6s ease-in-out infinite reverse;}
.sparkle{position:absolute;z-index:2;color:var(--v4-gold);font-size:2rem;animation:sparklePulse 3.4s ease-in-out infinite;}
.sparkle-1{right:31%;top:22%;}.sparkle-2{right:12%;top:50%;animation-delay:.8s;}
.nav{backdrop-filter:blur(18px)!important;background:rgba(255,255,255,.82)!important;box-shadow:0 10px 36px rgba(143,24,79,.08)!important;}
.nav-logo{background:linear-gradient(135deg,var(--v4-pink),var(--v4-pink-dark));-webkit-background-clip:text;background-clip:text;color:transparent!important;font-weight:900!important;}
.impact-strip{max-width:1180px;margin:-3.2rem auto 1.5rem;padding:0 1.2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative;z-index:4;}
.impact-card{background:rgba(255,255,255,.88);border:1px solid rgba(214,51,132,.14);border-radius:24px;padding:1.2rem 1rem;text-align:center;box-shadow:var(--v4-shadow);backdrop-filter:blur(14px);}
.impact-card strong{display:block;font-family:var(--font-d);font-size:2.4rem;color:var(--v4-pink-dark);line-height:1;}
.impact-card span{display:block;margin-top:.45rem;color:var(--v4-muted);font-weight:700;font-size:.92rem;}
.sec-sub{font-size:1.04rem!important;color:var(--v4-muted)!important;}
.card{border-radius:30px!important;overflow:hidden!important;background:rgba(255,255,255,.92)!important;position:relative!important;}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--v4-pink),#F8BBD0,var(--v4-gold));opacity:0;transition:.3s ease;}
.card:hover::before{opacity:1;}
.card-body h3{font-size:1.35rem!important;}
.card-body p{color:var(--v4-muted)!important;line-height:1.7!important;}
.card-img-wrap{background:linear-gradient(135deg,#fff0f7,#fff)!important;}
.card-img-wrap.no-img::after{content:"Imagen del servicio"!important;color:#B36A8D!important;font-weight:800!important;}
.service-cta{max-width:1050px;margin:3rem auto 0;padding:1.35rem 1.5rem;border-radius:28px;background:linear-gradient(135deg,#fff,#fff0f7);border:1px solid rgba(214,51,132,.16);box-shadow:var(--v4-shadow);display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.service-cta span{display:block;color:var(--v4-pink-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;margin-bottom:.25rem;}
.service-cta strong{font-size:1.22rem;color:var(--v4-text);}
.opiniones{background:linear-gradient(180deg,#fff 0%,#fff4f9 100%)!important;}
.review-note{margin:-.4rem 0 1.1rem;color:var(--v4-muted);line-height:1.6;}
.review-card{border-radius:30px!important;}
.review-card .stars{font-size:1.28rem!important;text-shadow:0 8px 20px rgba(215,168,95,.16);}
.review-person span{box-shadow:0 12px 30px rgba(214,51,132,.2);}
.form-alert.success{background:#EAF8EF!important;color:#257647!important;border:1px solid rgba(37,118,71,.18)!important;}
.form-alert.error{background:#FFECEE!important;color:#A33B4B!important;border:1px solid rgba(163,59,75,.18)!important;}
.reveal-up{opacity:0;transform:translateY(24px);animation:heroReveal .86s cubic-bezier(.2,.8,.2,1) forwards;}
.reveal-up:nth-child(2){animation-delay:.12s}.reveal-up:nth-child(3){animation-delay:.24s}.reveal-up:nth-child(4){animation-delay:.36s}.reveal-up:nth-child(5){animation-delay:.48s}.reveal-up:nth-child(6){animation-delay:.6s}.reveal-up:nth-child(7){animation-delay:.72s}
.reveal-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0);}
@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}
@keyframes floatOrb{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-18px) translateX(8px)}}
@keyframes sparklePulse{0%,100%{opacity:.42;transform:scale(.9) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(12deg)}}
@keyframes morphBeauty{0%,100%{border-radius:42% 58% 52% 48%;transform:translateY(0) rotate(0)}50%{border-radius:58% 42% 45% 55%;transform:translateY(-14px) rotate(3deg)}}
@media(max-width:900px){.impact-strip{grid-template-columns:repeat(2,1fr);margin:-2rem auto 1rem}.service-cta{flex-direction:column;align-items:flex-start}.hero-content{padding-right:1.2rem!important}.hero::after{width:70vw;height:70vw;right:-18%;bottom:8%;opacity:.5}}
@media(max-width:620px){.impact-strip{grid-template-columns:1fr}.hero-title{font-size:4.5rem!important}.hero-copy{font-size:1rem}.hero-actions a{width:100%}.btn-ghost,.btn-hero{justify-content:center}.hero-trust{font-size:.86rem}.sparkle,.beauty-orb{display:none}.nav ul{gap:.45rem!important}.service-cta{margin-top:2rem}}


/* =========================================================
   V5 CLIENTE PREMIUM - contraste, ordem e layout real
   ========================================================= */
:root{
  --v5-bg:#fff8fb;
  --v5-panel:#ffffff;
  --v5-soft:#ffeaf3;
  --v5-pink:#E75480;
  --v5-pink-dark:#9B1B5A;
  --v5-ink:#24131B;
  --v5-muted:#5C3B4D;
  --v5-line:rgba(155,27,90,.16);
  --v5-shadow:0 26px 70px rgba(155,27,90,.16);
}
body{background:linear-gradient(180deg,#fff 0%,#fff8fb 38%,#fff1f7 100%)!important;color:var(--v5-ink)!important;}
section{scroll-margin-top:96px;}
.sec-header{max-width:920px!important;margin:0 auto 3rem!important;text-align:center!important;}
.sec-header .tag,.tag{color:var(--v5-pink-dark)!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
.sec-header h2,.sobre-text h2{color:var(--v5-ink)!important;text-shadow:none!important;}
.sec-header h2 em,.sobre-text h2 em{color:var(--v5-pink)!important;}
.sec-sub{color:var(--v5-muted)!important;font-weight:600!important;line-height:1.7!important;}
.nav{position:sticky!important;top:0!important;z-index:99!important;background:rgba(255,255,255,.92)!important;border-bottom:1px solid var(--v5-line)!important;}
.nav a{color:var(--v5-ink)!important;font-weight:800!important;}
.nav a:hover{color:var(--v5-pink-dark)!important;}
.nav-cta{color:#fff!important;background:linear-gradient(135deg,var(--v5-pink),var(--v5-pink-dark))!important;}

/* Sobre: sem quadrado feio */
.sobre{max-width:1180px!important;padding:6rem 1.4rem 5rem!important;}
.sobre-inner{grid-template-columns:1.05fr .95fr!important;gap:2.2rem!important;align-items:stretch!important;}
.sobre-text{background:linear-gradient(135deg,#fff,#fff4f8)!important;border:1px solid var(--v5-line)!important;border-radius:34px!important;padding:2.4rem!important;box-shadow:var(--v5-shadow)!important;}
.sobre-text p{color:var(--v5-muted)!important;font-weight:600!important;font-size:1rem!important;line-height:1.85!important;}
.sobre-horario{background:#fff!important;border:1px solid var(--v5-line)!important;box-shadow:0 16px 42px rgba(155,27,90,.10)!important;}
.sobre-horario span{color:var(--v5-pink-dark)!important;font-weight:900!important;}
.sobre-horario strong{color:var(--v5-ink)!important;}
.sobre-img-placeholder{display:none!important;}
.premium-studio-card{display:flex!important;align-items:stretch!important;justify-content:center!important;}
.studio-glow-card{width:100%;min-height:430px;border-radius:38px;padding:2.3rem;background:radial-gradient(circle at 82% 14%,rgba(231,84,128,.24),transparent 32%),linear-gradient(145deg,#fff,#ffeaf3 55%,#fff);border:1px solid rgba(155,27,90,.18);box-shadow:var(--v5-shadow);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
.studio-glow-card::before{content:"✦";position:absolute;right:32px;top:28px;font-size:4.5rem;color:rgba(155,27,90,.12);}
.studio-glow-card::after{content:"";position:absolute;left:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(231,84,128,.16);filter:blur(10px);}
.studio-badge{position:relative;z-index:2;display:inline-flex;width:max-content;margin-bottom:1rem;padding:.65rem 1rem;border-radius:999px;background:#fff;color:var(--v5-pink-dark);font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;box-shadow:0 12px 30px rgba(155,27,90,.11);}
.studio-glow-card h3{position:relative;z-index:2;font-family:var(--font-d);font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;color:var(--v5-ink);font-weight:600;margin:0 0 .8rem;}
.studio-glow-card p{position:relative;z-index:2;color:var(--v5-muted);font-weight:700;line-height:1.65;margin-bottom:1.2rem;}
.studio-mini-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
.studio-mini-grid span{background:rgba(255,255,255,.78);border:1px solid var(--v5-line);border-radius:18px;padding:.85rem;color:var(--v5-ink);font-weight:800;text-align:center;}

/* Agendamento premium antes das avaliações */
.agendar{padding:6rem 1.4rem 6rem!important;background:linear-gradient(180deg,#fff 0%,#fff3f8 100%)!important;position:relative;overflow:hidden;}
.agendar::before{content:"";position:absolute;right:-160px;top:40px;width:420px;height:420px;border-radius:50%;background:rgba(231,84,128,.12);filter:blur(8px);}
.agendar-wrap{position:relative;z-index:1;max-width:1120px!important;grid-template-columns:.85fr 1.15fr!important;gap:1.4rem!important;align-items:stretch!important;}
.agendar-info,.form-wrap{border-radius:34px!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--v5-line)!important;box-shadow:var(--v5-shadow)!important;color:var(--v5-ink)!important;}
.agendar-info{padding:2.2rem!important;}
.agendar-info h3{color:var(--v5-ink)!important;font-size:2rem!important;margin-bottom:1.4rem!important;}
.contact-item{background:#fff7fb;border:1px solid var(--v5-line);border-radius:20px;padding:1rem!important;margin-bottom:.9rem!important;color:var(--v5-ink)!important;font-size:1rem!important;line-height:1.6!important;align-items:center!important;}
.contact-item span,.contact-item a{color:var(--v5-ink)!important;font-weight:800!important;}
.contact-item strong{color:var(--v5-pink-dark)!important;font-weight:900!important;}
.cicon{width:42px;height:42px;min-width:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe1ee,#fff);box-shadow:0 10px 22px rgba(155,27,90,.10);}
.social-row a{background:#fff!important;border:1px solid var(--v5-line)!important;color:var(--v5-pink-dark)!important;font-weight:900!important;}
.form-wrap{padding:2.2rem!important;}
.form-group label{color:var(--v5-pink-dark)!important;font-weight:900!important;letter-spacing:.12em!important;}
.form-group input,.form-group select,.form-group textarea,.review-form input,.review-form select,.review-form textarea{background:#fff!important;border:1.5px solid rgba(155,27,90,.20)!important;color:var(--v5-ink)!important;font-weight:700!important;box-shadow:none!important;}
.form-group input::placeholder,.form-group textarea::placeholder,.review-form textarea::placeholder{color:#9a6b82!important;opacity:1!important;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none!important;border-color:var(--v5-pink)!important;box-shadow:0 0 0 4px rgba(231,84,128,.14)!important;}
.btn-submit{width:100%;min-height:54px;border-radius:999px!important;font-size:1rem!important;}

/* Opiniões depois do agendamento */
.opiniones{padding:6rem 1.4rem!important;background:linear-gradient(180deg,#fff8fb 0%,#fff 100%)!important;}
.rating-summary,.review-form,.review-card{background:#fff!important;border:1px solid var(--v5-line)!important;box-shadow:var(--v5-shadow)!important;color:var(--v5-ink)!important;}
.review-card p,.review-form p,.review-note,#ratingTotal{color:var(--v5-muted)!important;font-weight:600!important;line-height:1.7!important;}
.stars,.rating-stars,.star-input button{color:#D7A85F!important;}

/* Corrige espaços vazios e deixa serviços aparecerem melhor */
.impact-strip{margin:0 auto 2rem!important;transform:translateY(-40px);}
.card,.impact-card{transition:transform .35s ease, box-shadow .35s ease!important;}
.card:hover,.impact-card:hover{transform:translateY(-8px)!important;box-shadow:0 32px 86px rgba(155,27,90,.20)!important;}
@media(max-width:900px){.sobre-inner,.agendar-wrap{grid-template-columns:1fr!important}.studio-glow-card{min-height:340px}.impact-strip{transform:none;margin:1rem auto 2rem!important}.nav ul{flex-wrap:wrap;justify-content:center}.nav-inner{gap:.5rem}}
@media(max-width:620px){.sobre-text,.agendar-info,.form-wrap,.studio-glow-card{padding:1.35rem!important;border-radius:26px!important}.contact-item{font-size:.92rem!important}.studio-mini-grid{grid-template-columns:1fr}.sec-header h2{font-size:2.55rem!important}}

/* ===== V6 CLIENTA PREMIUM — CONTRASTE, CREDIBILIDAD Y LOOK REAL ===== */
:root{
  --v6-bg:#fff7fa;
  --v6-card:#ffffff;
  --v6-pink:#e83e83;
  --v6-pink-dark:#b9155c;
  --v6-rose:#ffe2ed;
  --v6-ink:#24131b;
  --v6-text:#3a2630;
  --v6-muted:#735365;
  --v6-gold:#c9964a;
  --v6-border:#f3b7cf;
  --v6-shadow:0 24px 70px rgba(184, 31, 99, .14);
}

body{ background:linear-gradient(180deg,#fff7fa 0%,#fff1f7 48%,#fffafc 100%) !important; color:var(--v6-text) !important; }
body, p, a, label, input, select, textarea, span, small{ color:var(--v6-text); }
.nav{ background:rgba(255,255,255,.92) !important; backdrop-filter: blur(18px); border-bottom:1px solid rgba(232,62,131,.12); box-shadow:0 12px 35px rgba(185,21,92,.08); }
.nav a{ color:var(--v6-ink) !important; font-weight:700; }
.nav-cta{ background:linear-gradient(135deg,var(--v6-pink),var(--v6-pink-dark)) !important; color:white !important; box-shadow:0 12px 28px rgba(232,62,131,.25); }

.hero{ min-height:96vh; background:
  radial-gradient(circle at 14% 18%, rgba(232,62,131,.28), transparent 34%),
  radial-gradient(circle at 84% 22%, rgba(255,196,216,.48), transparent 34%),
  linear-gradient(135deg,#fff7fa 0%,#ffe5ef 48%,#fff 100%) !important; }
.hero-overlay{ background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,247,250,.78),rgba(255,231,241,.45)) !important; }
.hero-title, .hero-title em, .sec-header h2, .sobre h2{ color:var(--v6-ink) !important; text-shadow:none !important; }
.hero-title em, .sec-header em, .sobre em{ color:var(--v6-pink-dark) !important; }
.hero-copy, .sec-sub, .sobre p{ color:var(--v6-text) !important; font-weight:500; }
.tag, .hero-sub{ color:var(--v6-pink-dark) !important; font-weight:800 !important; letter-spacing:.22em; }
.btn-hero, .btn-submit, .card-btn{ background:linear-gradient(135deg,var(--v6-pink),var(--v6-pink-dark)) !important; color:#fff !important; border:0 !important; box-shadow:0 18px 40px rgba(232,62,131,.28); }
.btn-ghost{ color:var(--v6-pink-dark) !important; border-color:var(--v6-border) !important; background:#fff !important; }

.impact-premium{ max-width:1180px; margin:-58px auto 80px; padding:0 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:5; }
.impact-premium .impact-card{ background:rgba(255,255,255,.96) !important; border:1px solid rgba(232,62,131,.15) !important; border-radius:28px !important; box-shadow:var(--v6-shadow) !important; padding:26px 20px !important; text-align:center; }
.impact-card strong{ color:var(--v6-pink-dark) !important; font-size:34px !important; line-height:1; }
.impact-card span{ color:var(--v6-text) !important; font-weight:700; }

.sobre-premium{ padding:95px 20px !important; background:linear-gradient(180deg,#fffafc,#fff1f7) !important; }
.sobre-luxe-grid{ display:grid !important; grid-template-columns:1.05fr .95fr !important; gap:46px !important; max-width:1180px !important; align-items:center !important; }
.sobre-text{ background:transparent !important; box-shadow:none !important; border:0 !important; padding:0 !important; }
.sobre-text h2{ font-size:clamp(38px,5vw,72px) !important; line-height:.98 !important; margin-bottom:24px !important; }
.sobre-text p{ font-size:17px !important; line-height:1.85 !important; max-width:650px; }
.about-proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }
.about-proof-grid div{ background:#fff; border:1px solid rgba(232,62,131,.16); border-radius:22px; padding:20px; box-shadow:0 16px 35px rgba(185,21,92,.08); }
.about-proof-grid strong{ display:block; color:var(--v6-pink-dark); font-size:22px; margin-bottom:8px; }
.about-proof-grid span{ color:var(--v6-text); font-weight:700; }
.about-showcase{ display:grid; gap:16px; }
.showcase-card{ background:linear-gradient(145deg,#fff,#fff0f6); border:1px solid rgba(232,62,131,.18); border-radius:32px; padding:30px; box-shadow:var(--v6-shadow); position:relative; overflow:hidden; }
.showcase-card::after{ content:""; position:absolute; width:170px; height:170px; border-radius:50%; background:rgba(232,62,131,.12); right:-55px; top:-65px; }
.showcase-card.main{ min-height:275px; display:flex; flex-direction:column; justify-content:end; }
.showcase-card h3{ color:var(--v6-ink); font-size:32px; margin:10px 0; }
.showcase-card p, .showcase-card span{ color:var(--v6-text) !important; font-weight:600; }
.mini-label{ color:var(--v6-pink-dark) !important; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:900; }
.showcase-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.showcase-card.small{ padding:22px; }
.showcase-card.small strong{ color:var(--v6-pink-dark); display:block; margin-bottom:6px; }
.premium-hours{ background:#fff !important; border:1px solid rgba(232,62,131,.18) !important; color:var(--v6-text) !important; }
.premium-hours strong, .premium-hours span{ color:var(--v6-text) !important; }

.servicios{ background:#fff7fa !important; }
.card{ background:#fff !important; border:1px solid rgba(232,62,131,.15) !important; box-shadow:0 20px 55px rgba(185,21,92,.12) !important; }
.card h3, .card p, .card li, .card .price{ color:var(--v6-text) !important; }
.card h3{ color:var(--v6-ink) !important; }
.card-img-wrap.no-img{ background:linear-gradient(135deg,#ffdce9,#fff,#f6b4cf) !important; }
.card-img-wrap.no-img::after{ content:"Foto del servicio"; color:var(--v6-pink-dark); font-weight:900; letter-spacing:.08em; }

.results-premium{ padding:100px 20px !important; background:linear-gradient(180deg,#fff,#fff4f8) !important; }
.before-after-grid{ max-width:1180px; margin:44px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ba-card{ background:#fff; border:1px solid rgba(232,62,131,.18); border-radius:32px; overflow:hidden; box-shadow:var(--v6-shadow); transition:transform .35s ease, box-shadow .35s ease; }
.ba-card:hover{ transform:translateY(-8px); box-shadow:0 30px 80px rgba(185,21,92,.18); }
.ba-visual{ height:260px; display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(135deg,#fff2f7,#ffdce9); position:relative; }
.ba-visual::before{ content:""; position:absolute; inset:22px; border-radius:24px; border:1px solid rgba(255,255,255,.65); box-shadow:inset 0 0 45px rgba(255,255,255,.65); }
.ba-side{ display:flex; align-items:flex-end; justify-content:center; padding-bottom:24px; position:relative; overflow:hidden; }
.ba-side::before{ content:""; position:absolute; width:115px; height:115px; border-radius:50%; top:62px; background:rgba(185,21,92,.18); box-shadow:0 14px 35px rgba(185,21,92,.12); }
.ba-side.after::before{ background:rgba(232,62,131,.33); transform:scale(1.12); }
.ba-side span{ position:relative; background:#fff; color:var(--v6-pink-dark) !important; padding:8px 15px; border-radius:999px; font-weight:900; box-shadow:0 10px 25px rgba(185,21,92,.14); }
.ba-visual.facial{ background:linear-gradient(135deg,#fff,#ffe5ef,#fbd0df); }
.ba-visual.lips{ background:linear-gradient(135deg,#fff0f7,#ffc1d8,#fff); }
.ba-info{ padding:24px; }
.ba-info strong{ color:var(--v6-ink); font-size:20px; }
.ba-info p{ color:var(--v6-text) !important; line-height:1.6; margin-top:8px; }
.gallery-note{ max-width:780px; margin:34px auto 0; background:#fff; border:1px solid rgba(232,62,131,.18); border-radius:24px; padding:22px 26px; display:flex; gap:14px; align-items:center; box-shadow:0 15px 40px rgba(185,21,92,.09); }
.gallery-note span{ font-size:28px; }
.gallery-note p{ margin:0; color:var(--v6-text) !important; font-weight:650; }

.agendar{ background:linear-gradient(180deg,#fff4f8,#fffafc) !important; padding-top:100px !important; }
.agendar-wrap{ max-width:1120px !important; align-items:stretch !important; }
.agendar-info{ background:linear-gradient(145deg,#fff,#fff0f6) !important; border:1px solid rgba(232,62,131,.18) !important; border-radius:34px !important; padding:34px !important; box-shadow:var(--v6-shadow) !important; color:var(--v6-text) !important; }
.agendar-info h3{ color:var(--v6-ink) !important; font-size:30px !important; }
.contact-lead{ color:var(--v6-text) !important; font-weight:700; margin:8px 0 22px; }
.contact-item{ background:#fff !important; border:1px solid rgba(232,62,131,.13); border-radius:20px; padding:16px; margin-bottom:12px; color:var(--v6-text) !important; box-shadow:0 10px 24px rgba(185,21,92,.06); }
.contact-item span, .contact-item a, .contact-item strong, .contact-item small{ color:var(--v6-text) !important; opacity:1 !important; }
.cicon{ background:#ffe0eb; color:var(--v6-pink-dark) !important; width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; margin-right:12px; }
.social-row a{ background:var(--v6-pink-dark) !important; color:#fff !important; border-radius:999px; padding:10px 15px; }
.form-wrap{ background:#fff !important; border:1px solid rgba(232,62,131,.16) !important; border-radius:34px !important; padding:34px !important; box-shadow:var(--v6-shadow) !important; }
.form-group label{ color:var(--v6-pink-dark) !important; font-weight:900 !important; }
input, select, textarea{ background:#fff !important; color:var(--v6-ink) !important; border:1.5px solid #efb2cb !important; }
input::placeholder, textarea::placeholder{ color:#8d6177 !important; opacity:1 !important; }
input:focus, select:focus, textarea:focus{ border-color:var(--v6-pink) !important; box-shadow:0 0 0 4px rgba(232,62,131,.12) !important; outline:none; }

.opiniones{ background:#fff !important; color:var(--v6-text) !important; }
.rating-summary, .review-card, .review-form{ background:#fff !important; border:1px solid rgba(232,62,131,.16) !important; box-shadow:0 18px 50px rgba(185,21,92,.10) !important; color:var(--v6-text) !important; }
.review-card p, .review-form p, .rating-summary p{ color:var(--v6-text) !important; }
.review-person span{ background:linear-gradient(135deg,var(--v6-pink),var(--v6-pink-dark)) !important; color:#fff !important; }
.stars, .rating-stars, .star-input button{ color:#d79a32 !important; }

.footer{ background:#2a141d !important; }
.footer *{ color:#fff !important; }

.reveal-on-scroll{ opacity:0; transform:translateY(28px); transition:opacity .75s ease, transform .75s ease; }
.reveal-on-scroll.is-visible{ opacity:1; transform:translateY(0); }

@media(max-width: 900px){
  .impact-premium, .before-after-grid, .sobre-luxe-grid{ grid-template-columns:1fr !important; }
  .impact-premium{ margin:20px auto 40px; }
  .about-proof-grid{ grid-template-columns:1fr; }
  .showcase-row{ grid-template-columns:1fr; }
  .ba-visual{ height:220px; }
  .sobre-text h2{ font-size:40px !important; }
}

/* ===== ADMIN V7 COMPLETO ===== */
.admin-v7{background:linear-gradient(135deg,#fff8fa 0%,#ffe8f0 45%,#ffffff 100%)!important;color:#2b1d24!important;min-height:100vh;}
.admin-v7 .admin-shell{max-width:1240px;margin:0 auto;padding:34px 18px 80px;}
.premium-admin-head{background:linear-gradient(135deg,#7b173d,#c2185b 55%,#e75480)!important;border:0!important;box-shadow:0 28px 70px rgba(194,24,91,.24)!important;border-radius:32px!important;color:white!important;}
.premium-admin-head h1,.premium-admin-head p{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.premium-admin-head .tag{background:rgba(255,255,255,.18);color:#fff!important;border-color:rgba(255,255,255,.28)}
.admin-v7 .admin-login-card,.admin-v7 .admin-panel{background:rgba(255,255,255,.92)!important;border:1px solid rgba(194,24,91,.12)!important;box-shadow:0 20px 60px rgba(123,23,61,.11)!important;border-radius:28px!important;color:#2b1d24!important;}
.admin-v7 .admin-panel h2{color:#7b173d!important;font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:16px;}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0;background:#fff;padding:10px;border-radius:22px;box-shadow:0 18px 50px rgba(123,23,61,.10);border:1px solid rgba(194,24,91,.10)}
.admin-tabs .tab{border:0;background:#fff3f7;color:#7b173d;padding:13px 18px;border-radius:16px;font-weight:700;cursor:pointer;transition:.25s;font-family:'Josefin Sans',sans-serif;}
.admin-tabs .tab:hover,.admin-tabs .tab.active{background:linear-gradient(135deg,#c2185b,#e75480);color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(194,24,91,.24)}
.tab-panel{display:none;animation:fadeUp .38s ease both}.tab-panel.active{display:block}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.admin-form-grid .wide{grid-column:1/-1}.admin-form-grid textarea{min-height:100px;resize:vertical}
.admin-v7 .admin-input{background:#fff!important;border:1.5px solid rgba(123,23,61,.18)!important;color:#2b1d24!important;border-radius:16px!important;padding:14px 16px!important;box-shadow:0 8px 24px rgba(123,23,61,.05)!important;outline:none!important;}
.admin-v7 .admin-input:focus{border-color:#c2185b!important;box-shadow:0 0 0 4px rgba(231,84,128,.16)!important}.admin-v7 .admin-input::placeholder{color:#7c6971!important;opacity:1!important}
.admin-check{display:flex;align-items:center;gap:10px;color:#4b3440;font-weight:700}.admin-check input{accent-color:#c2185b;width:18px;height:18px}.admin-muted{color:#6d5962!important;font-size:.98rem;margin-top:-5px}.admin-msg{color:#7b173d!important;font-weight:700;margin-top:10px}.gold-stars{color:#d4a017;font-weight:900;letter-spacing:2px}.admin-table-wrap{overflow:auto;width:100%}
.admin-v7 .admin-table{width:100%;border-collapse:separate;border-spacing:0 10px;color:#2b1d24!important}.admin-v7 .admin-table th{background:#fff0f5;color:#7b173d;text-align:left;padding:14px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.admin-v7 .admin-table td{background:#fff;color:#2b1d24!important;padding:14px;border-top:1px solid rgba(194,24,91,.08);border-bottom:1px solid rgba(194,24,91,.08)}.admin-v7 .admin-table tr td:first-child{border-left:1px solid rgba(194,24,91,.08);border-radius:16px 0 0 16px}.admin-v7 .admin-table tr td:last-child{border-right:1px solid rgba(194,24,91,.08);border-radius:0 16px 16px 0}
.mini-admin-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#fff7fa);border:1px solid rgba(194,24,91,.12);border-radius:22px;padding:18px 20px;margin:12px 0;box-shadow:0 10px 30px rgba(123,23,61,.08)}.mini-admin-card b{color:#7b173d;font-size:1.08rem}.mini-admin-card p{color:#4b3440;margin:8px 0}.mini-admin-card small{color:#806a74}.pill{display:inline-block;padding:7px 11px;border-radius:999px;background:#fff0f5;color:#7b173d;font-weight:800}.pill.confirmado{background:#e8fff1;color:#157347}.pill.cancelado{background:#fff0f0;color:#b02a37}.pill.concluido{background:#eef3ff;color:#2346a0}.admin-top-actions{display:flex;gap:12px}.admin-v7 .btn-ghost{border-color:rgba(255,255,255,.55)!important;color:#fff!important;background:rgba(255,255,255,.12)!important}.admin-v7 .admin-btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;background:#fff0f5;color:#7b173d;transition:.2s}.admin-v7 .admin-btn:hover{transform:translateY(-2px)}.admin-v7 .admin-btn.ok{background:linear-gradient(135deg,#c2185b,#e75480);color:#fff}.admin-v7 .admin-btn.danger{background:#b02a37;color:#fff}.admin-v7 .admin-card{background:#fff!important;border:1px solid rgba(194,24,91,.12)!important;color:#2b1d24!important;box-shadow:0 18px 45px rgba(123,23,61,.10)!important}.admin-v7 .admin-card span{color:#7b173d!important}.admin-v7 .admin-card strong{color:#c2185b!important}
@media(max-width:760px){.admin-form-grid{grid-template-columns:1fr}.admin-tabs{display:grid;grid-template-columns:1fr 1fr}.mini-admin-card{align-items:flex-start;flex-direction:column}.premium-admin-head{border-radius:24px!important}.admin-v7 .admin-shell{padding:18px 12px 60px}}

/* ===== V9 FIX AGENDAMIENTO PREMIUM / LEGIBILIDAD ===== */
.agendar .sec-header h2,
.agendar .sec-header h2 em,
.agendar .sec-header .sec-sub,
.agendar .sec-header .tag {
  color: #26121B !important;
  text-shadow: none !important;
}
.agendar-wrap {
  display: grid !important;
  grid-template-columns: 0.9fr 1.25fr !important;
  gap: 28px !important;
  max-width: 1180px !important;
}
.agendar-info,
.form-wrap {
  background: #ffffff !important;
  border: 1px solid rgba(214, 51, 132, .18) !important;
  color: #26121B !important;
  box-shadow: 0 22px 60px rgba(155, 27, 90, .13) !important;
}
.agendar-info h3 { color:#26121B !important; }
.contact-lead,
.contact-item,
.contact-item span,
.contact-item strong,
.contact-item small,
.contact-item a {
  color: #3A2630 !important;
  opacity: 1 !important;
}
.contact-item {
  background: linear-gradient(135deg, #fff, #fff4f8) !important;
  border: 1px solid rgba(231, 84, 128, .18) !important;
  border-radius: 22px !important;
  padding: 16px 18px !important;
  margin-bottom: 12px !important;
}
.cicon {
  background: #FFE3EE !important;
  color: #C2185B !important;
  min-width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-size: 20px !important;
}
.social-row a {
  color: #fff !important;
  background: linear-gradient(135deg, #E75480, #C2185B) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 11px 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 25px rgba(194, 24, 91, .18) !important;
}
.form-wrap {
  position: relative !important;
  overflow: hidden !important;
}
.form-wrap::before {
  content: "Cita personalizada";
  display: inline-flex;
  margin-bottom: 18px;
  color: #C2185B;
  background: #FFE3EE;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .04em;
}
.form-group label {
  color: #8A174F !important;
  font-size: .88rem !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 8px !important;
  align-items: center !important;
}
.field-hint {
  color: #7a5364 !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.form-group input,
.form-group select,
.form-group textarea {
  background: #fff !important;
  color: #26121B !important;
  border: 2px solid #F0B7CD !important;
  border-radius: 18px !important;
  min-height: 54px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}
.form-group select option {
  background: #fff !important;
  color: #26121B !important;
  font-weight: 700 !important;
}
.form-group textarea { min-height: 110px !important; }
.service-choice-grid,
.time-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.service-choice,
.time-choice {
  border: 1.5px solid #F0B7CD;
  background: linear-gradient(135deg, #fff, #fff6fa);
  color: #321927;
  border-radius: 18px;
  padding: 13px 14px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.service-choice:hover,
.time-choice:hover {
  transform: translateY(-2px);
  border-color: #E75480;
  box-shadow: 0 12px 24px rgba(231,84,128,.14);
}
.service-choice.active,
.time-choice.active {
  color: #fff;
  background: linear-gradient(135deg, #E75480, #C2185B);
  border-color: transparent;
  box-shadow: 0 15px 30px rgba(194,24,91,.22);
}
#fServicio.enhanced-hidden,
#fHorario.enhanced-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.empty-time-msg {
  grid-column: 1 / -1;
  padding: 14px;
  border-radius: 18px;
  background: #fff4f8;
  border: 1px dashed #E75480;
  color: #5b3145;
  font-weight: 800;
}
.secure-note {
  margin-top: 12px;
  color: #5b3145 !important;
  font-weight: 800;
  text-align: center;
}
@media(max-width: 900px){
  .agendar-wrap { grid-template-columns: 1fr !important; }
}
@media(max-width: 560px){
  .service-choice-grid,
  .time-choice-grid { grid-template-columns: 1fr; }
  .form-wrap, .agendar-info { padding: 22px !important; border-radius: 26px !important; }
}

/* V11 - Painel admin mais premium e bloqueios claros */
.admin-schedule-info{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  margin:18px 0 26px;
}
.admin-schedule-info span{
  background:linear-gradient(135deg,#fff,#fff4f7);
  border:1px solid rgba(194,24,91,.16);
  border-radius:18px;
  padding:14px 16px;
  color:#2b2b2b;
  font-weight:700;
  box-shadow:0 12px 30px rgba(194,24,91,.08);
}
.premium-block-panel h3{ color:#c2185b; margin-top:20px; }
.admin-input, .admin-panel select, .admin-panel textarea{
  color:#222 !important;
  background:#fff !important;
  border:1px solid rgba(194,24,91,.22) !important;
}
.admin-input::placeholder{ color:#777 !important; }
.admin-muted, .admin-panel p{ color:#555 !important; }
.admin-panel h2{ color:#2b2b2b !important; }
.admin-table th{ color:#7a1740 !important; background:#fff0f5 !important; }
.admin-table td{ color:#333 !important; background:#fff !important; }
.admin-btn.ok{ background:linear-gradient(135deg,#e75480,#c2185b) !important; color:#fff !important; }

/* V12 - Calendario visual + horarios premium */
.calendar-hidden-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.premium-calendar {
  background: linear-gradient(145deg, #ffffff, #fff4f8);
  border: 2px solid rgba(231, 84, 128, .18);
  border-radius: 28px;
  padding: 18px;
  box-shadow: 0 18px 45px rgba(194,24,91,.10);
  color: #26121B;
  margin-top: 10px;
}
.calendar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.calendar-top strong {
  display: block;
  font-family: var(--font-d, Georgia, serif);
  font-size: 1.55rem;
  line-height: 1;
  color: #26121B;
}
.calendar-top small {
  display: block;
  color: #7a5364;
  font-weight: 800;
  margin-top: 4px;
}
.cal-nav {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(231,84,128,.22);
  background: #fff;
  color: #C2185B;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(231,84,128,.10);
  transition: .2s ease;
}
.cal-nav:hover { transform: translateY(-2px); background: #fff0f6; }
.calendar-weekdays,
.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.calendar-weekdays span {
  text-align: center;
  font-size: .78rem;
  color: #9d5776;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.calendar-days { margin-top: 10px; }
.calendar-empty { min-height: 42px; }
.calendar-day {
  min-height: 46px;
  border: 1.5px solid rgba(231,84,128,.18);
  border-radius: 16px;
  background: #fff;
  color: #26121B;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(231,84,128,.06);
  transition: .2s ease;
}
.calendar-day:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: #E75480;
  background: #fff4f8;
}
.calendar-day.selected {
  background: linear-gradient(135deg, #E75480, #C2185B);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 28px rgba(194,24,91,.24);
}
.calendar-day.closed,
.calendar-day.past {
  opacity: .45;
  cursor: not-allowed;
  background: #f7edf1;
  color: #8b6f7b;
  box-shadow: none;
}
.calendar-day.closed { text-decoration: line-through; }
.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
  color: #5b3145;
  font-size: .86rem;
  font-weight: 800;
}
.calendar-legend span { display:flex; align-items:center; gap:6px; }
.dot { width:10px; height:10px; border-radius:999px; display:inline-block; }
.dot.ok { background:#29a36a; }
.dot.closed { background:#b8a2ab; }
.dot.selected { background:#C2185B; }
.schedule-helper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 12px;
}
.schedule-helper span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  border-radius: 999px;
  background: #fff4f8;
  color: #5b3145;
  border: 1px solid rgba(231,84,128,.16);
  font-size: .85rem;
  font-weight: 900;
}
.premium-slots-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
.time-group {
  background: #fff;
  border: 1px solid rgba(231,84,128,.14);
  border-radius: 24px;
  padding: 14px;
  box-shadow: 0 12px 25px rgba(194,24,91,.06);
}
.time-group-title {
  color: #C2185B;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .8rem;
  margin-bottom: 10px;
}
.time-group-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.time-choice {
  min-height: 54px;
  text-align: center !important;
  padding: 9px 8px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.time-choice strong { font-size: .98rem; }
.time-choice small { font-size: .68rem; font-weight: 900; opacity: .78; }
.time-choice.available {
  border-color: rgba(41,163,106,.30) !important;
  background: linear-gradient(135deg,#ffffff,#f1fff7) !important;
}
.time-choice.available small { color:#168653; }
.time-choice.blocked {
  border-color: rgba(194,24,91,.14) !important;
  background: #f8eef2 !important;
  color: #8b6f7b !important;
  cursor: not-allowed !important;
  opacity: .78;
}
.time-choice.status-cerrado { text-decoration: line-through; }
.time-choice.active {
  color: #fff !important;
  background: linear-gradient(135deg, #E75480, #C2185B) !important;
}
.time-choice.active small { color:#fff !important; opacity:.92; }
@media(max-width: 720px){
  .calendar-weekdays,.calendar-days{gap:6px}
  .calendar-day{min-height:42px;border-radius:13px}
  .time-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width: 420px){
  .time-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .calendar-top strong{font-size:1.28rem;}
}


/* V13 - Agendamento em estilo clean/premium como referência enviada */
.form-row-two {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: end !important;
}
.agenda-date-row {
  margin-top: 8px !important;
}
.form-wrap {
  background: linear-gradient(145deg, #fff7f2, #fff0f6) !important;
  border: 1px solid rgba(194, 24, 91, .10) !important;
}
.form-group label {
  color: #9B5B36 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  font-size: .78rem !important;
  margin-bottom: 8px !important;
}
.form-group label span { color:#C2185B !important; }
.form-group input,
.form-group select,
.form-group textarea {
  background: #FFFFFF !important;
  color: #2B1721 !important;
  border: 1.7px solid #F1BDD1 !important;
  border-radius: 15px !important;
  min-height: 58px !important;
  padding: 0 18px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 30px rgba(194, 24, 91, .04) !important;
}
.form-group input[type="date"] {
  color-scheme: light !important;
  cursor: pointer !important;
}
.form-group input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 1 !important;
  cursor: pointer !important;
  width: 22px !important;
  height: 22px !important;
  filter: none !important;
}
#fConfirmacion[readonly] {
  color: #6E2E49 !important;
  background: #fff !important;
  cursor: default !important;
}
.calendar-hidden-input,
.native-calendar-premium {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.premium-calendar { display: none !important; }
.horario-premium-block {
  margin-top: 6px !important;
}
.horario-premium-block .field-hint {
  color: #9B5B36 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.horario-premium-block select.enhanced-hidden,
#fHorario.enhanced-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.empty-time-msg {
  border: 1.7px dashed #F1A7C5 !important;
  background: rgba(255,255,255,.62) !important;
  color: #8A174F !important;
  padding: 18px !important;
  border-radius: 18px !important;
  font-weight: 900 !important;
}
.time-group {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(194,24,91,.12) !important;
  box-shadow: 0 14px 35px rgba(194,24,91,.08) !important;
}
.time-group-title {
  color: #9B5B36 !important;
  letter-spacing: .12em !important;
}
.time-choice.available {
  border-color: rgba(231,84,128,.32) !important;
  background: linear-gradient(135deg, #fff, #fff7fb) !important;
  color: #321927 !important;
}
.time-choice.available small { color:#8A174F !important; }
.time-choice.active {
  background: linear-gradient(135deg, #E75480, #C2185B) !important;
  color: #fff !important;
}
.time-choice.blocked {
  background: #F8EEF2 !important;
  color: #8B6F7B !important;
}
@media(max-width: 760px){
  .form-row-two { grid-template-columns: 1fr !important; gap: 12px !important; }
}


/* V14 - Estados de horarios más claros: verde disponible, rojo no disponible */
.time-choice.available {
  border-color: rgba(34, 166, 90, .45) !important;
  background: linear-gradient(135deg, #ffffff, #f1fff7) !important;
  color: #241522 !important;
}
.time-choice.available small {
  color: #168653 !important;
  font-weight: 950 !important;
  opacity: 1 !important;
}
.time-choice.blocked,
.time-choice.status-ocupado,
.time-choice.status-pasado,
.time-choice.status-bloqueado,
.time-choice.status-cerrado {
  border-color: rgba(220, 53, 69, .45) !important;
  background: linear-gradient(135deg, #fff5f6, #ffe8ec) !important;
  color: #7a1d2a !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}
.time-choice.blocked small,
.time-choice.status-ocupado small,
.time-choice.status-pasado small,
.time-choice.status-bloqueado small,
.time-choice.status-cerrado small {
  color: #dc3545 !important;
  font-weight: 950 !important;
  opacity: 1 !important;
}
.time-choice.active {
  background: linear-gradient(135deg, #E75480, #C2185B) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 16px 35px rgba(194, 24, 91, .22) !important;
  transform: translateY(-2px) !important;
}
.time-choice.active small {
  color: #fff !important;
  font-weight: 950 !important;
  opacity: 1 !important;
}
.time-choice strong {
  color: inherit !important;
  font-weight: 950 !important;
}


/* V17 - Acabado premium: calendario visual real, contraste y dashboard */
.hero-sub { color:#8A174F !important; font-weight:900 !important; }
.sec-sub, .contact-lead, .form-wrap p, .form-group small { color:#4B2A39 !important; }
.form-wrap { background:linear-gradient(145deg,#ffffff,#fff7fa) !important; }
.form-group label { color:#7A1740 !important; }
#fFecha.calendar-hidden-input {
  position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important;
}
#fFecha.native-calendar-premium { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.premium-calendar { display:block !important; margin-top:8px !important; }
.calendar-day { min-height:54px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:2px !important; }
.calendar-day strong { font-size:1rem !important; color:inherit !important; }
.calendar-day small { font-size:.58rem !important; font-weight:900 !important; color:#168653 !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.calendar-day.closed small, .calendar-day.past small { color:#8b6f7b !important; }
.calendar-day.selected small { color:#fff !important; }
.calendar-top { background:#fff !important; border-radius:20px !important; padding:10px !important; border:1px solid rgba(231,84,128,.12) !important; }
.calendar-legend { background:#fff !important; padding:10px 12px !important; border-radius:16px !important; border:1px solid rgba(231,84,128,.10) !important; }
.time-group-title { color:#7A1740 !important; font-size:.86rem !important; }
.time-choice.available { border-color:rgba(22,134,83,.48) !important; }
.time-choice.blocked { border-color:rgba(220,53,69,.48) !important; }
.admin-card { background:linear-gradient(145deg,#fff,#fff3f7) !important; border:1px solid rgba(194,24,91,.12) !important; box-shadow:0 18px 38px rgba(194,24,91,.08) !important; }
.admin-card span { color:#7A1740 !important; font-weight:950 !important; }
.admin-card strong { color:#241522 !important; }
.dashboard-chart-panel { margin-top:18px !important; }
.mini-bar-chart { display:grid; gap:10px; margin-top:12px; }
.bar-row { display:grid; grid-template-columns:64px 1fr 34px; align-items:center; gap:10px; color:#321927; font-weight:900; }
.bar-track { height:14px; background:#fff0f5; border-radius:999px; overflow:hidden; border:1px solid rgba(194,24,91,.10); }
.bar-track i { display:block; height:100%; background:linear-gradient(135deg,#E75480,#C2185B); border-radius:999px; }
@media(max-width:720px){ .calendar-day{min-height:48px !important;} .calendar-day small{font-size:.52rem !important;} .bar-row{grid-template-columns:52px 1fr 28px;} }

/* =========================================================
   V18 - Calendario limpio estilo agenda profesional
   - quita textos amontonados dentro de los días
   - días grandes, claros y con indicadores de color
   - mejor distribución en desktop y móvil
   ========================================================= */
.agenda-date-row {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.15fr) minmax(280px, .85fr) !important;
  align-items: start !important;
  gap: 22px !important;
}
.clean-agenda-calendar,
.premium-calendar.clean-agenda-calendar {
  width: 100% !important;
  max-width: 560px !important;
  margin-top: 10px !important;
  padding: 18px !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #fff, #fff7fa) !important;
  border: 1.5px solid rgba(231, 84, 128, .18) !important;
  box-shadow: 0 18px 45px rgba(194, 24, 91, .10) !important;
}
.clean-agenda-calendar .calendar-top {
  background: linear-gradient(135deg, #fff, #fff2f7) !important;
  border: 1px solid rgba(231, 84, 128, .14) !important;
  border-radius: 22px !important;
  padding: 12px !important;
  margin-bottom: 14px !important;
}
.clean-agenda-calendar .calendar-title-box { text-align: center !important; }
.clean-agenda-calendar .calendar-eyebrow {
  display: block !important;
  font-size: .66rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #A45B36 !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}
.clean-agenda-calendar .calendar-top strong {
  font-size: 1.48rem !important;
  color: #251421 !important;
  line-height: 1.05 !important;
}
.clean-agenda-calendar .calendar-top small {
  color: #7A1740 !important;
  font-size: .75rem !important;
  font-weight: 900 !important;
}
.clean-agenda-calendar .cal-nav {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  color: #C2185B !important;
  background: #fff !important;
  border: 1px solid rgba(194, 24, 91, .16) !important;
}
.clean-agenda-calendar .calendar-weekdays,
.clean-agenda-calendar .calendar-days {
  grid-template-columns: repeat(7, minmax(44px, 1fr)) !important;
  gap: 10px !important;
}
.clean-agenda-calendar .calendar-weekdays span {
  font-size: .72rem !important;
  color: #7A1740 !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
}
.clean-agenda-calendar .calendar-empty {
  min-height: 54px !important;
}
.clean-agenda-calendar .calendar-day {
  position: relative !important;
  min-height: 58px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 1.5px solid rgba(231, 84, 128, .22) !important;
  color: #251421 !important;
  box-shadow: 0 8px 18px rgba(194, 24, 91, .06) !important;
  overflow: hidden !important;
}
.clean-agenda-calendar .calendar-day strong {
  font-size: 1.12rem !important;
  color: #251421 !important;
  line-height: 1 !important;
}
.clean-agenda-calendar .calendar-day small {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
.clean-agenda-calendar .calendar-day .day-status-dot {
  width: 8px !important;
  height: 8px !important;
  margin-top: 6px !important;
  border-radius: 999px !important;
  display: block !important;
  background: #22A66A !important;
  box-shadow: 0 0 0 4px rgba(34, 166, 106, .12) !important;
}
.clean-agenda-calendar .calendar-day:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  border-color: #E75480 !important;
  background: #fff3f8 !important;
}
.clean-agenda-calendar .calendar-day.selected {
  background: linear-gradient(135deg, #E75480, #C2185B) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 16px 32px rgba(194, 24, 91, .24) !important;
}
.clean-agenda-calendar .calendar-day.selected strong { color: #fff !important; }
.clean-agenda-calendar .calendar-day.selected .day-status-dot {
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .25) !important;
}
.clean-agenda-calendar .calendar-day.closed,
.clean-agenda-calendar .calendar-day.past {
  opacity: 1 !important;
  background: #F7EEF2 !important;
  color: #a8919b !important;
  border-color: rgba(80, 50, 65, .08) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.clean-agenda-calendar .calendar-day.closed strong,
.clean-agenda-calendar .calendar-day.past strong { color: #b8a2ab !important; }
.clean-agenda-calendar .calendar-day.closed .day-status-dot,
.clean-agenda-calendar .calendar-day.past .day-status-dot {
  background: #b8a2ab !important;
  box-shadow: 0 0 0 4px rgba(184, 162, 171, .13) !important;
}
.clean-agenda-calendar .calendar-legend {
  margin-top: 16px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  border: 1px solid rgba(194, 24, 91, .10) !important;
  border-radius: 18px !important;
  color: #412332 !important;
  font-size: .84rem !important;
}
@media (max-width: 900px) {
  .agenda-date-row { grid-template-columns: 1fr !important; }
  .clean-agenda-calendar, .premium-calendar.clean-agenda-calendar { max-width: 100% !important; }
}
@media (max-width: 520px) {
  .clean-agenda-calendar { padding: 12px !important; border-radius: 22px !important; }
  .clean-agenda-calendar .calendar-weekdays,
  .clean-agenda-calendar .calendar-days { gap: 6px !important; grid-template-columns: repeat(7, minmax(36px, 1fr)) !important; }
  .clean-agenda-calendar .calendar-day { min-height: 46px !important; border-radius: 14px !important; }
  .clean-agenda-calendar .calendar-day strong { font-size: .95rem !important; }
  .clean-agenda-calendar .calendar-top strong { font-size: 1.2rem !important; }
  .clean-agenda-calendar .calendar-top small { font-size: .66rem !important; }
}


/* AWZION Premium Agenda Titles */
.time-group-title,
.schedule-title,
.section-agenda-title,
.agenda-section-title{
  color:#c9a84c !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
}

.form-group label{
  color:#c9a84c !important;
  font-weight:800 !important;
}

.schedule-helper span{
  background:#fffaf0 !important;
  border-color:rgba(201,168,76,.25) !important;
  color:#8a6a14 !important;
}

.time-group{
  border:1px solid rgba(201,168,76,.22) !important;
  box-shadow:0 12px 30px rgba(201,168,76,.10) !important;
}

.time-choice.available{
  box-shadow:0 4px 12px rgba(41,163,106,.08);
}

.time-choice.active{
  box-shadow:0 8px 20px rgba(194,24,91,.25);
}

/* V19 - Luxury Gold Agenda Polish */
:root{
  --lux-gold:#c79a35;
  --lux-gold-2:#e9c36f;
  --lux-gold-soft:#fff6dc;
  --lux-ink:#23111b;
  --lux-rose:#d93678;
  --lux-rose-dark:#bd145f;
}
.agendar{
  background:
    radial-gradient(circle at 12% 18%, rgba(233,195,111,.22), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(217,54,120,.14), transparent 30%),
    linear-gradient(180deg,#fff7fb 0%,#fff1f7 100%) !important;
}
.agendar .sec-header .tag{
  color:var(--lux-gold)!important;
  font-weight:950!important;
  letter-spacing:.22em!important;
}
.agendar .sec-header h2 em{ color:var(--lux-rose)!important; }
.agendar-wrap{
  gap:2rem!important;
  align-items:stretch!important;
}
.agendar-info,
.form-wrap{
  position:relative!important;
  overflow:hidden!important;
  border:1.5px solid rgba(199,154,53,.32)!important;
  box-shadow:0 25px 70px rgba(181,88,124,.16), 0 0 0 1px rgba(255,255,255,.78) inset!important;
}
.agendar-info::before,
.form-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.75),transparent 38%,rgba(255,246,220,.38));
}
.agendar-info>* , .form-wrap>*{ position:relative; z-index:1; }
.agendar-info{
  background:linear-gradient(150deg,#fffdf8 0%,#fff7fb 62%,#fff1f7 100%)!important;
  padding:38px!important;
}
.agendar-info h3{
  color:var(--lux-gold)!important;
  font-size:2.45rem!important;
  line-height:1.03!important;
  letter-spacing:.02em!important;
  margin-bottom:1rem!important;
  text-shadow:0 10px 28px rgba(199,154,53,.16)!important;
}
.agendar-info h3::before{
  content:"✦";
  display:block;
  font-size:2.4rem;
  color:var(--lux-gold-2);
  margin-bottom:.3rem;
  filter:drop-shadow(0 8px 15px rgba(199,154,53,.35));
}
.agendar-info h3::after{
  content:"";
  display:block;
  width:78%;
  height:1px;
  margin:18px 0 0;
  background:linear-gradient(90deg,transparent,var(--lux-gold),var(--lux-gold-2),transparent);
}
.contact-lead{
  color:#3b2330!important;
  font-weight:800!important;
  line-height:1.55!important;
  margin-bottom:26px!important;
}
.contact-lead strong,
.contact-lead b{ color:var(--lux-gold)!important; }
.contact-item{
  background:rgba(255,255,255,.78)!important;
  border:1.3px solid rgba(199,154,53,.22)!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(199,154,53,.09)!important;
  padding:18px 20px!important;
  transition:.25s ease!important;
}
.contact-item:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 45px rgba(199,154,53,.15)!important;
  border-color:rgba(199,154,53,.42)!important;
}
.contact-item .cicon{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:radial-gradient(circle at 35% 25%,#fff 0,#fff7e3 38%,#e8bd62 100%)!important;
  color:#8b5b12!important;
  box-shadow:0 12px 26px rgba(199,154,53,.24)!important;
  font-size:1.45rem!important;
}
.contact-item strong,
.contact-item a{
  color:#2c1723!important;
  font-weight:950!important;
}
.contact-item small{color:#4b3340!important;font-weight:800!important;}
.social-row a{
  background:linear-gradient(135deg,var(--lux-gold),var(--lux-gold-2),#d93678)!important;
  border:none!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(199,154,53,.25)!important;
}
.form-wrap{
  background:linear-gradient(145deg,#fff 0%,#fff9fb 55%,#fff4f8 100%)!important;
  padding:38px!important;
}
.form-wrap::after{
  content:"✦   CITA PERSONALIZADA   ✦";
  display:block;
  text-align:center;
  color:var(--lux-gold)!important;
  font-size:.98rem;
  letter-spacing:.16em;
  font-weight:950;
  padding:12px 16px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,246,220,.95),transparent);
  border-bottom:1px solid rgba(199,154,53,.22);
  margin:-14px 0 26px;
  order:-1;
}
.form-wrap{
  display:flex!important;
  flex-direction:column!important;
}
#formAlert{order:-2;}
.form-group label{
  color:var(--lux-gold)!important;
  font-weight:950!important;
  text-shadow:0 5px 18px rgba(199,154,53,.12)!important;
}
.form-group label .field-hint,
.field-hint{
  color:#8d6019!important;
}
.form-group input,
.form-group select,
.form-group textarea{
  border:1.7px solid rgba(217,54,120,.22)!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--lux-ink)!important;
  box-shadow:0 12px 32px rgba(199,154,53,.06)!important;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--lux-gold)!important;
  box-shadow:0 0 0 4px rgba(199,154,53,.14),0 14px 36px rgba(217,54,120,.10)!important;
  outline:none!important;
}
#fServicio{
  min-height:64px!important;
  font-weight:950!important;
}
.schedule-helper span{
  color:#4d2a37!important;
  border:1px solid rgba(199,154,53,.25)!important;
  background:linear-gradient(135deg,#fff,#fff8e7)!important;
}
.time-group{
  border:1.4px solid rgba(199,154,53,.22)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 16px 42px rgba(199,154,53,.10)!important;
}
.time-group-title{
  color:var(--lux-gold)!important;
  font-size:.9rem!important;
  font-weight:950!important;
  letter-spacing:.16em!important;
  display:flex;
  align-items:center;
  gap:8px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(199,154,53,.18);
}
.time-choice{
  border-radius:15px!important;
  min-height:58px!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(199,154,53,.06)!important;
}
.time-choice.available{
  border-color:rgba(41,163,106,.34)!important;
  background:linear-gradient(135deg,#fff,#f4fff8)!important;
}
.time-choice.available small{ color:#128250!important; }
.time-choice.blocked,
.time-choice.status-ocupado,
.time-choice.status-pasado,
.time-choice.status-bloqueado,
.time-choice.status-cerrado{
  border-color:rgba(220,53,69,.35)!important;
  background:linear-gradient(135deg,#fff7f8,#ffe9ee)!important;
}
.time-choice.active{
  background:linear-gradient(135deg,var(--lux-gold),#e9b557,var(--lux-rose))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 18px 42px rgba(199,154,53,.28)!important;
}
.btn-submit,
#btnAgendar{
  background:linear-gradient(135deg,var(--lux-rose),#cc1b68,var(--lux-gold))!important;
  border:1.5px solid rgba(255,255,255,.55)!important;
  box-shadow:0 18px 36px rgba(199,154,53,.24),0 14px 34px rgba(194,24,91,.18)!important;
  letter-spacing:.08em!important;
}
.btn-submit:hover,
#btnAgendar:hover{ transform:translateY(-3px)!important; }
.secure-note{ color:#684856!important;font-weight:800!important; }
@media(max-width:900px){
  .agendar-info h3{font-size:2.1rem!important;}
  .form-wrap::after{font-size:.78rem;letter-spacing:.1em;}
}


/* V20 - Nuevos servicios Angie: Plasma Pen + Todo Tipo de Piel */
.new-service-label {
  color: #c9a84c !important;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,244,213,.98)) !important;
  border: 1px solid rgba(201,168,76,.35) !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  box-shadow: 0 18px 45px rgba(201,168,76,.16) !important;
  text-align: center !important;
}
.new-service-card {
  position: relative !important;
  border: 1px solid rgba(201,168,76,.42) !important;
  box-shadow: 0 24px 70px rgba(201,168,76,.13), 0 18px 45px rgba(232,62,131,.10) !important;
}
.new-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle at 18% 0%, rgba(255,232,171,.22), transparent 38%);
}
.new-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #8a5a05;
  background: linear-gradient(135deg,#fff9e8,#f4d37b);
  border: 1px solid rgba(201,168,76,.45);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.new-badge::before { content: "✦"; }
.service-mini-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 14px;
  display: grid;
  gap: 8px;
}
.service-mini-list li {
  color: #4a2434;
  font-weight: 700;
  font-size: .92rem;
  padding-left: 22px;
  position: relative;
}
.service-mini-list li::before {
  content: "•";
  position: absolute;
  left: 4px;
  color: #c9a84c;
  font-size: 1.4rem;
  line-height: .8;
}
.service-choice-grid .service-choice:nth-last-child(-n+2) {
  border-color: rgba(201,168,76,.55) !important;
  background: linear-gradient(135deg,#fff,#fff8e8) !important;
  color: #6d4b08 !important;
}

/* Admin Premium v22 */
.pill.atendida{background:#e9fff3;color:#087a3d;border:1px solid #6ee7a8;}
.pill.confirmado{background:#fff7df;color:#9a6b00;border:1px solid #e8c56f;}
.pill.cancelado{background:#ffe9ee;color:#a91236;border:1px solid #f4a6b6;}
.admin-table td .admin-btn{margin:3px 3px 3px 0;}
#tab-historial .admin-panel,#tab-backup .admin-panel{border:1px solid rgba(201,168,76,.28);box-shadow:0 22px 60px rgba(201,168,76,.12);}

.nowrap{white-space:nowrap;}
.pill.atendida,.pill.concluido{background:#e9fff3;color:#0f8a4b;border:1px solid #8be0b4;}
.pill.cancelado{background:#fff0f0;color:#b4232f;border:1px solid #f2a0a8;}
.pill.confirmado{background:#fff8df;color:#9a6a00;border:1px solid #e8c45a;}

/* =========================================================
   V25 - Dashboard financeiro premium
   - receita em cards alinhados
   - gráfico mensal com dinheiro estimado por mês
   ========================================================= */
.premium-dashboard {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  align-items: stretch !important;
}
.money-card {
  background: linear-gradient(145deg, #fffaf0, #fff) !important;
  border: 1px solid rgba(201, 162, 74, .32) !important;
}
.money-card span {
  color: #946a13 !important;
}
.money-card strong {
  color: #9b6508 !important;
  font-size: 1.8rem !important;
  white-space: nowrap;
}
.money-card small {
  display: block;
  color: #6f5a64;
  font-size: .78rem;
  margin-top: .45rem;
  line-height: 1.3;
}
.monthly-panel {
  margin-top: 18px !important;
}
.monthly-chart {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.month-card {
  background: linear-gradient(145deg, #fff, #fff7fa);
  border: 1px solid rgba(194, 24, 91, .11);
  border-radius: 18px;
  padding: 13px 14px;
  box-shadow: 0 12px 26px rgba(123, 23, 61, .06);
}
.month-card.active {
  border-color: rgba(201, 162, 74, .48);
  background: linear-gradient(145deg, #fffaf0, #fff7fa);
}
.month-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.month-top b {
  color: #7a1740;
  font-size: 1.05rem;
}
.month-top span {
  color: #7b6872;
  font-size: .76rem;
  font-weight: 800;
}
.month-track {
  height: 8px;
  border-radius: 999px;
  background: #fff0f5;
  overflow: hidden;
  border: 1px solid rgba(194, 24, 91, .08);
  margin-bottom: 10px;
}
.month-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(135deg, #f0d07a, #c9a24a, #e75480);
}
.month-card strong {
  color: #241522;
  font-size: 1.1rem;
}
@media(max-width:720px){
  .monthly-chart { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .money-card strong { font-size: 1.45rem !important; }
}


/* =========================================================
   Admin financeiro premium V27
   ========================================================= */
.premium-admin-head {
  background: linear-gradient(135deg, #8a1748, #d62f77, #e75480) !important;
  border: 1px solid rgba(240, 208, 122, .32) !important;
  box-shadow: 0 25px 60px rgba(138, 23, 72, .22) !important;
}
.premium-admin-head h1 {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-shadow: 0 2px 14px rgba(0,0,0,.16);
}
.premium-admin-head h1::before {
  content: "AW";
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff6d9, #f0d07a, #c9a24a);
  color: #8a1748;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.3rem;
  font-weight: 800;
  box-shadow: 0 12px 34px rgba(201,162,74,.34);
}
.premium-dashboard {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 1rem !important;
}
.premium-dashboard .admin-card {
  min-height: 105px;
}
.money-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #fffaf0 0%, #fff 55%, #fff7fb 100%) !important;
  border: 1px solid rgba(201, 162, 74, .45) !important;
  box-shadow: 0 18px 38px rgba(201, 162, 74, .12) !important;
}
.money-card::after {
  content: "";
  position: absolute;
  right: -25px;
  top: -25px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,208,122,.36), transparent 64%);
}
.money-card span {
  color: #946a13 !important;
}
.money-card strong {
  color: #b98212 !important;
  font-size: 1.9rem !important;
  white-space: nowrap;
  letter-spacing: -.02em;
}
.money-card small {
  display: block;
  color: #6f5a64;
  font-size: .76rem;
  margin-top: .4rem;
  line-height: 1.25;
}
.monthly-panel h2 {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.monthly-chart {
  display: block !important;
  margin-top: 18px;
}
.monthly-bars {
  display: grid;
  grid-template-columns: repeat(12, minmax(72px, 1fr));
  gap: 10px;
  align-items: end;
}
.month-bar-card {
  min-height: 180px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: .6rem;
  padding: .85rem .75rem;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #fff8fb);
  border: 1px solid rgba(194, 24, 91, .12);
  box-shadow: 0 12px 24px rgba(123, 23, 61, .06);
}
.month-bar-card.active {
  border-color: rgba(201, 162, 74, .56);
  background: linear-gradient(145deg, #fffaf0, #fff7fb);
  box-shadow: 0 18px 40px rgba(201, 162, 74, .16);
}
.month-bar-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.month-bar-meta b {
  color: #7a1740;
  font-size: 1rem;
}
.month-bar-meta span {
  color: #7b6872;
  font-size: .7rem;
  font-weight: 800;
  text-align: right;
}
.month-bar-track {
  height: 92px;
  border-radius: 999px;
  background: #fff0f5;
  border: 1px solid rgba(194, 24, 91, .08);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.month-bar-track i {
  display: block;
  width: 100%;
  min-height: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f0d07a, #c9a24a, #d62f77);
}
.month-bar-card strong {
  color: #9b6508;
  font-size: .95rem;
  white-space: nowrap;
}
.monthly-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
@media(max-width: 980px){
  .monthly-bars { grid-template-columns: repeat(6, minmax(80px, 1fr)); }
}
@media(max-width: 620px){
  .monthly-bars { grid-template-columns: repeat(3, minmax(80px, 1fr)); }
  .money-card strong { font-size: 1.45rem !important; }
}


/* ===== Fotos reales Angie - galería antes/después ===== */
.ba-visual.ba-photo{
  display:block !important;
  height:280px !important;
  background:#fff !important;
  overflow:hidden !important;
}
.ba-visual.ba-photo::before{ display:none !important; }
.ba-visual.ba-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .35s ease;
}
.ba-card:hover .ba-visual.ba-photo img{ transform:scale(1.04); }

/* ===== BLOQUE BÍBLICO / BELLEZA - AGENDA ===== */
.faith-beauty-card{
  margin-top:28px;
  padding:28px 26px;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,241,247,.96));
  border:1px solid rgba(212,175,55,.38);
  box-shadow:0 22px 55px rgba(199,21,96,.12);
  position:relative;
  overflow:hidden;
}
.faith-beauty-card::before{
  content:"";
  position:absolute;
  inset:-80px auto auto -80px;
  width:170px;
  height:170px;
  background:radial-gradient(circle,rgba(212,175,55,.23),transparent 68%);
  pointer-events:none;
}
.faith-beauty-card::after{
  content:"✦";
  position:absolute;
  right:24px;
  top:20px;
  color:#d4af37;
  font-size:26px;
  opacity:.75;
}
.faith-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:999px;
  background:linear-gradient(90deg,#fff2c9,#fff8ea);
  border:1px solid rgba(212,175,55,.45);
  color:#9a6a00;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.76rem;
}
.faith-beauty-card h4{
  margin:18px 0 14px;
  color:#26121B;
  font-family:var(--serif, Georgia, serif);
  font-size:1.65rem;
  line-height:1.15;
}
.faith-beauty-card blockquote{
  margin:0 0 16px;
  padding:18px 20px;
  border-left:4px solid #d4af37;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  color:#8a1747;
  font-style:italic;
  line-height:1.55;
}
.faith-beauty-card blockquote strong{
  display:block;
  margin-top:8px;
  color:#9a6a00;
  font-style:normal;
}
.faith-beauty-card p{
  color:#3b2430;
  line-height:1.7;
  margin:0 0 12px;
  font-size:.98rem;
}
.faith-benefits{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.faith-benefits span{
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(232,62,131,.14);
  color:#6b1238;
  font-weight:800;
  font-size:.88rem;
}
@media(max-width:780px){
  .faith-benefits{grid-template-columns:1fr;}
  .faith-beauty-card{padding:22px 18px;border-radius:24px;}
}


/* Promesa dentro del bloque de agenda */
.promise-card{
  margin-top:22px;
  padding:24px 24px 26px;
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,247,251,.96));
  border:1px solid rgba(212,175,55,.42);
  box-shadow:0 18px 45px rgba(214,51,132,.12);
}
.promise-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#9a1553;
  letter-spacing:.04em;
  margin-bottom:14px;
}
.promise-list{
  display:grid;
  gap:10px;
}
.promise-list span{
  display:block;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(246,184,211,.7);
  font-weight:700;
  color:#371429;
}
.promise-card blockquote{
  margin:18px 0 0;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(255,239,247,.95), rgba(255,252,244,.95));
  border-left:4px solid #d4af37;
  color:#7a1646;
  font-style:italic;
  text-align:center;
  line-height:1.5;
}
.promise-card blockquote strong{
  display:block;
  margin-top:6px;
  color:#b98212;
  font-style:normal;
}


/* ===== BLOQUES EXTRA PARA COMPLETAR EL ESPACIO DE HORARIOS ===== */
.booking-side-card{
  margin-top:22px;
  padding:24px 24px 26px;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,242,248,.96));
  border:1px solid rgba(212,175,55,.42);
  box-shadow:0 18px 48px rgba(199,21,96,.12);
  position:relative;
  overflow:hidden;
}
.booking-side-card::before{
  content:"";
  position:absolute;
  right:-55px;
  top:-55px;
  width:135px;
  height:135px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,175,55,.22),transparent 68%);
  pointer-events:none;
}
.booking-side-card.soft{
  background:linear-gradient(145deg,rgba(255,252,246,.98),rgba(255,244,250,.96));
}
.side-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(90deg,#fff1c7,#fffaf0);
  border:1px solid rgba(212,175,55,.45);
  color:#9a6a00;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.74rem;
}
.booking-side-card h4{
  margin:16px 0 12px;
  color:#2b1320;
  font-family:var(--serif, Georgia, serif);
  font-size:1.45rem;
  line-height:1.15;
}
.booking-side-card blockquote{
  margin:0 0 15px;
  padding:16px 18px;
  border-left:4px solid #d4af37;
  border-radius:18px;
  background:rgba(255,255,255,.75);
  color:#7a1646;
  font-style:italic;
  line-height:1.5;
}
.booking-side-card blockquote strong{
  display:block;
  margin-top:7px;
  color:#a16d00;
  font-style:normal;
}
.booking-side-card p{
  color:#432333;
  line-height:1.68;
  margin:0 0 14px;
  font-size:.96rem;
}
.mini-trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.mini-trust-grid span{
  padding:12px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(246,184,211,.72);
  color:#64113a;
  font-weight:800;
  font-size:.88rem;
}
.mission-text{
  font-weight:700;
}
.help-strip{
  display:grid;
  gap:4px;
  margin:14px 0;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,239,247,.95),rgba(255,252,244,.95));
  border:1px solid rgba(212,175,55,.35);
  color:#5b1738;
}
.help-strip small{
  color:#6e4257;
  line-height:1.45;
}
.booking-side-card .hope-verse{
  margin-top:14px;
  text-align:center;
  font-size:.93rem;
}
@media(max-width:780px){
  .mini-trust-grid{grid-template-columns:1fr;}
  .booking-side-card{padding:20px 18px;border-radius:24px;}
}
