
/* ============================================================
   THE THERAPIST TALK CLINIC — ULTRA PREMIUM LOGO THEME
   Palette inspired by the premium blush / rose / warm brown logo
   ============================================================ */
:root{
  --ttc-rose:#d46f79;
  --ttc-rose-deep:#9a3548;
  --ttc-wine:#81263a;
  --ttc-wine-dark:#5f1b2a;
  --ttc-brown:#6d3c27;
  --ttc-brown-deep:#4f2b1f;
  --ttc-blush:#f9e9ec;
  --ttc-blush-soft:#fff7f8;
  --ttc-cream:#fffaf6;
  --ttc-pearl:#fffdfc;
  --ttc-text:#2f2024;
  --ttc-muted:#756269;
  --ttc-line:#ead8dc;
  --ttc-gold:#c99a67;
  --ttc-shadow:0 24px 65px rgba(101,45,57,.11);
  --ttc-shadow-soft:0 14px 38px rgba(101,45,57,.08);
}

/* Global canvas */
html{scroll-behavior:smooth}
body{
  color:var(--ttc-text)!important;
  background:
    radial-gradient(circle at 12% 10%,rgba(219,122,137,.055),transparent 24%),
    radial-gradient(circle at 88% 24%,rgba(111,61,39,.035),transparent 22%),
    linear-gradient(180deg,#fffdfc 0%,#fffaf9 100%)!important;
}
body,button,input,select,textarea{font-family:"Inter","Segoe UI",Arial,sans-serif}
h1,h2,h3,h4,h5,h6,
.home-luxe-copy h1,.section-head h2,.about-ref-copy h1,.page-hero h1,
.booking-hero h1,.cp-hero h1,.faq-premium h2,.cta h2{
  font-family:Georgia,"Times New Roman",serif!important;
  color:#24161a!important;
  letter-spacing:-.025em;
}
p{color:var(--ttc-muted)}
::selection{background:#f3ced5;color:#501a27}

/* Elegant separators */
.section,.cp-section,.appointment-premium{position:relative}
.section:where(:not(.ttc-social-section))::before,
.cp-section::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(1200px,86%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(173,82,99,.16),transparent);
}

/* Buttons — one luxury system site-wide */
.btn,.cp-btn,.uf-btn,.ttc-master-book,.about-ref-primary,.about-ref-secondary,
.review-primary,.review-secondary,.next-step,.prev-step{
  border-radius:999px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.btn-primary,.cp-btn-primary,.about-ref-primary,.next-step,.review-primary,
.ttc-master-book,.uf-btn.primary{
  background:linear-gradient(135deg,var(--ttc-rose-deep),var(--ttc-wine-dark))!important;
  color:#fff!important;border-color:transparent!important;
  box-shadow:0 16px 35px rgba(123,35,55,.20)!important;
}
.btn-primary:hover,.cp-btn-primary:hover,.about-ref-primary:hover,.next-step:hover,
.review-primary:hover,.ttc-master-book:hover,.uf-btn.primary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 42px rgba(123,35,55,.26)!important;
}
.btn-outline,.cp-btn-ghost,.about-ref-secondary,.review-secondary,.uf-btn.secondary{
  background:rgba(255,255,255,.88)!important;
  color:var(--ttc-wine)!important;
  border:1px solid rgba(154,53,72,.26)!important;
  box-shadow:0 10px 24px rgba(99,47,58,.06)!important;
}
.btn-outline:hover,.cp-btn-ghost:hover,.about-ref-secondary:hover,.review-secondary:hover{
  background:var(--ttc-blush)!important;
  transform:translateY(-2px)!important;
}
.cp-btn-gold{
  background:linear-gradient(135deg,#c28a60,#996143)!important;
  color:#fff!important;border-color:transparent!important
}

/* Premium labels */
.eyebrow,.kicker,.therapy-kicker,.step-kicker,.cp-eyebrow,.ttc-social-kicker,.mini-label{
  color:var(--ttc-wine)!important;
  background:linear-gradient(90deg,#fff,#fff6f8)!important;
  border:1px solid rgba(154,53,72,.16)!important;
  box-shadow:0 8px 20px rgba(101,45,57,.05)!important;
}

/* Home */
.home-luxe-hero{
  background:
    radial-gradient(circle at 84% 30%,rgba(211,111,126,.15),transparent 25%),
    radial-gradient(circle at 15% 20%,rgba(115,65,42,.06),transparent 22%),
    linear-gradient(135deg,#fffaf9 0%,#fff 48%,#f9e9ec 100%)!important;
  overflow:hidden;
}
.home-luxe-copy h1{
  background:linear-gradient(110deg,#271719 0%,#8c2a3d 58%,#6d3c27 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.home-luxe-lead{color:#6c5960!important}
.home-luxe-visual,.hero-glass{
  border-color:rgba(175,82,101,.14)!important;
  box-shadow:var(--ttc-shadow)!important;
}
.hero-glass{
  background:rgba(255,253,252,.86)!important;
  backdrop-filter:blur(16px);
}
.home-marquee{
  background:linear-gradient(90deg,#6a1f30,#923449,#6a1f30)!important;
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(255,255,255,.15)
}
.home-welcome-panel,.home-service-card,.home-benefits,.story-card,.about-feature,
.process-card,.premium-panel,.booking-card,.qcard,.detail-panel,.review-card,.trust-glass{
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,249,247,.93))!important;
  border:1px solid rgba(152,64,82,.12)!important;
  box-shadow:var(--ttc-shadow-soft)!important;
}
.home-service-card:hover,.about-feature:hover,.process-card:hover,.qcard:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 22px 48px rgba(105,46,59,.13)!important;
}
.home-service-card i,.about-feature i,.process-card i,.qicon,
.uf-trust-icon,.hero-trust-item i{
  color:var(--ttc-wine)!important;
}

/* Soft sections */
.section-soft,.soft,.cp-section.soft{
  background:
    radial-gradient(circle at 10% 20%,rgba(208,108,124,.08),transparent 24%),
    linear-gradient(180deg,#fff9fa,#fff5f6)!important;
}
.section-head h2:after{
  content:"";display:block;width:56px;height:3px;margin:14px auto 0;
  background:linear-gradient(90deg,var(--ttc-rose),var(--ttc-brown));border-radius:99px
}

/* About hero */
.about-ref-hero,.about-hero{
  background:
    radial-gradient(circle at 80% 25%,rgba(210,108,124,.13),transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#fff 48%,#f9e8ec 100%)!important;
}
.about-ref-copy h1{
  background:linear-gradient(115deg,#231719 0%,#a23a4e 62%,#6b3b29 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.about-ref-photo-card{
  background:linear-gradient(145deg,#fff,#fff7f8)!important;
  border:10px solid rgba(255,255,255,.95)!important;
  outline:1px solid rgba(161,75,92,.14);
  box-shadow:0 30px 70px rgba(102,45,58,.17)!important;
}
.about-ref-feature,.about-ref-stat{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(158,69,88,.12)!important
}
.about-hand-note,.about-ref-empathy{
  color:#9a3548!important
}
.about-ref-trustbar{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(155,68,87,.12)!important;
  box-shadow:var(--ttc-shadow-soft)!important
}

/* Treatment */
.page-hero{
  background:
    radial-gradient(circle at 88% 25%,rgba(213,114,130,.12),transparent 27%),
    linear-gradient(135deg,#fffaf9,#fff,#f9e9ed)!important;
}
.therapy-nav{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(156,68,87,.12)!important;
  box-shadow:var(--ttc-shadow-soft)!important
}
.therapy-nav a{color:#5d454c!important}
.therapy-nav a:hover{background:#fff0f3!important;color:var(--ttc-wine)!important}
.therapy-detail{
  background:linear-gradient(145deg,#fff,#fff9f7)!important;
  border:1px solid rgba(154,65,84,.12)!important;
  box-shadow:var(--ttc-shadow)!important;
  border-radius:30px!important;
}
.therapy-side{
  background:linear-gradient(160deg,#fbebee,#fff7f7)!important;
  border:1px solid rgba(151,65,84,.13)!important
}
.therapy-note,.safety-box{
  background:linear-gradient(135deg,#fff6f7,#fffaf5)!important;
  border-color:rgba(188,126,91,.18)!important
}
.process-num{
  background:linear-gradient(135deg,#a53c50,#713020)!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(117,44,57,.17)!important
}

/* Appointment */
.booking-hero{
  background:
    radial-gradient(circle at 82% 20%,rgba(214,116,132,.13),transparent 26%),
    linear-gradient(135deg,#fff9f8,#fff,#f9e9ed)!important;
}
.hero-trust-card,.booking-card,.premium-panel{
  border-radius:28px!important
}
.booking-progress{
  background:#fff7f8!important;border:1px solid rgba(154,67,85,.12)!important
}
.progress-step.active,.progress-step.completed{
  color:var(--ttc-wine)!important
}
.progress-step.active .step-number,.progress-step.completed .step-number{
  background:linear-gradient(135deg,#a1394d,#732034)!important;color:#fff!important
}
.choice-card{
  background:linear-gradient(145deg,#fff,#fff9f8)!important;
  border:1px solid rgba(151,62,81,.13)!important;
  border-radius:20px!important;
  transition:.2s!important
}
.choice-card:hover,.choice-card.selected{
  border-color:#b6576a!important;
  box-shadow:0 14px 32px rgba(112,47,61,.11)!important;
  background:#fff4f6!important
}
.booking-card input,.booking-card select,.booking-card textarea,
.form-control,input[type="text"],input[type="email"],input[type="tel"],input[type="date"],input[type="time"],select,textarea{
  border:1px solid #e7d5d9!important;
  background:#fffdfc!important;
  color:#342529!important;
  border-radius:14px!important;
}
.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus,
input:focus,select:focus,textarea:focus{
  outline:none!important;border-color:#bb6475!important;
  box-shadow:0 0 0 4px rgba(186,92,111,.10)!important
}

/* Contact */
.contact-premium,.cp-hero{
  background:
    radial-gradient(circle at 85% 25%,rgba(213,111,128,.14),transparent 26%),
    linear-gradient(135deg,#fffaf8,#fff,#f9e9ec)!important;
}
.qcard,.detail-panel,.review-card,.map-box{
  border-radius:26px!important
}
.review-score .score,.rating-line strong{color:var(--ttc-wine)!important}
.stars{color:#d49b59!important}
.route-strip{
  background:linear-gradient(135deg,#81263a,#613321)!important;
  color:#fff!important
}

/* Social cards */
.ttc-social-section{
  background:
    radial-gradient(circle at 12% 10%,rgba(212,112,128,.08),transparent 22%),
    linear-gradient(135deg,#fff8fa,#fff,#fbf2ee)!important;
}
.ttc-social-card{
  border-radius:24px!important;
  border:1px solid rgba(155,68,87,.12)!important;
  background:rgba(255,255,255,.93)!important;
  box-shadow:var(--ttc-shadow-soft)!important
}
.ttc-social-card:hover{transform:translateY(-5px)!important;box-shadow:var(--ttc-shadow)!important}

/* Header logo-theme harmonisation */
.ttc-master-header{
  box-shadow:0 10px 32px rgba(94,42,54,.08)!important;
}
.ttc-master-top{
  background:linear-gradient(90deg,#fff9fa,#fff,#fff8f5)!important;
  border-bottom-color:#eddee2!important
}
.ttc-master-main{
  background:linear-gradient(180deg,#fff,#fffbfa)!important
}
.ttc-master-nav a.is-active{
  background:linear-gradient(135deg,#f9e6ea,#fff1f3)!important;
  color:var(--ttc-wine)!important
}
.ttc-master-phone{
  background:linear-gradient(135deg,#f9e8ec,#fff3f5)!important
}

/* Footer — matched to the brown/rose logo */
.ttc-ultra-footer{
  background:
    radial-gradient(circle at 8% 12%,rgba(213,117,131,.20),transparent 25%),
    radial-gradient(circle at 92% 45%,rgba(202,154,103,.08),transparent 22%),
    linear-gradient(125deg,#4b2822 0%,#2f171c 48%,#5d2432 100%)!important;
}
.ttc-ultra-footer .uf-heading:after{
  background:linear-gradient(90deg,#efa1ae,#c99a67)!important
}
.ttc-ultra-footer .uf-brand-logo{
  background:linear-gradient(145deg,#fff,#fff8f7)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important
}
.ttc-ultra-footer .uf-location-card,.ttc-ultra-footer .uf-trust{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,225,230,.13)!important
}
.ttc-ultra-footer .uf-btn.primary{
  background:linear-gradient(135deg,#f0a0af,#c87b86)!important;
  color:#391a20!important
}

/* Premium rounded rhythm */
.home-welcome-panel,.home-service-card,.story-card,.about-feature,.therapy-detail,
.process-card,.premium-panel,.booking-card,.qcard,.detail-panel,.review-card,.trust-glass,
.ttc-social-card{overflow:hidden}

/* Breadcrumbs and links */
.breadcrumb a,.text-link,.luxe-link{color:var(--ttc-wine)!important}
.breadcrumb{color:#8a7279!important}

/* Floating WhatsApp harmonisation */
.whatsapp-float,.floating-whatsapp,[class*="whatsapp-float"]{
  box-shadow:0 16px 34px rgba(22,151,79,.25)!important;
}

/* Mobile polish */
@media(max-width:768px){
  h1{letter-spacing:-.03em}
  .section,.cp-section{padding-top:56px!important;padding-bottom:56px!important}
  .home-service-card,.about-feature,.process-card,.qcard,.detail-panel,.review-card,
  .premium-panel,.booking-card{border-radius:22px!important}
}
