:root{
    --salon-ink:#2c1d1e;
    --salon-muted:#786667;
    --salon-rose:#7b2430;
    --salon-rose-dark:#59141f;
    --salon-gold:#c99a3d;
    --salon-blush:#f4e5e1;
    --salon-cream:#fff9f2;
    --salon-sage:#aab5a1;
    --salon-line:rgba(94,69,75,.16);
    --salon-white:#fff;
}
*{box-sizing:border-box}
body.salon-booking-page{margin:0;background:var(--salon-cream);color:var(--salon-ink);font-family:"DM Sans",sans-serif}
.salon-public-header{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(251,247,242,.92);border-bottom:1px solid var(--salon-line);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.salon-wordmark{display:flex;align-items:center;gap:11px;color:var(--salon-ink);text-decoration:none}
.salon-wordmark-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50% 50% 45% 55%;background:var(--salon-rose);color:#fff;font-family:"Playfair Display",serif;font-size:25px}
.salon-wordmark strong,.salon-wordmark small{display:block}
.salon-wordmark strong{font-family:"Playfair Display",serif;font-size:22px;line-height:1}
.salon-wordmark small{text-transform:uppercase;letter-spacing:.13em;color:var(--salon-muted);font-size:8px;margin-top:4px}
.salon-logo-image img{display:block;width:auto;height:64px;object-fit:contain}
.salon-public-header nav{display:flex;align-items:center;gap:26px}
.salon-public-header nav a{color:var(--salon-ink);font-size:14px;font-weight:600;text-decoration:none}
.salon-public-header .salon-nav-cta{background:var(--salon-rose);color:#fff;padding:11px 19px;border-radius:999px}
.booking-hero{max-width:1240px;margin:0 auto;padding:80px 24px 42px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:60px}
.salon-eyebrow{display:block;color:var(--salon-rose);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
.booking-hero h1{font-family:"Playfair Display",serif;font-size:clamp(42px,6vw,74px);line-height:1.02;letter-spacing:-.035em;max-width:820px;margin:0}
.booking-hero p{font-size:17px;line-height:1.7;color:var(--salon-muted);max-width:650px;margin:24px 0 0}
.booking-hero-note{display:flex;gap:16px;align-items:center;border-left:1px solid var(--salon-line);padding:18px 0 18px 28px}
.booking-hero-note>i{font-size:28px;color:var(--salon-rose)}
.booking-hero-note strong,.booking-hero-note small{display:block}
.booking-hero-note small{color:var(--salon-muted);margin-top:4px;line-height:1.45}
.booking-shell{max-width:1240px;margin:0 auto 80px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.booking-form{background:#fff;border:1px solid var(--salon-line);border-radius:26px;box-shadow:0 30px 80px rgba(79,55,61,.08);overflow:hidden}
.booking-step{display:grid;grid-template-columns:64px 220px minmax(0,1fr);gap:24px;padding:36px;border-bottom:1px solid var(--salon-line)}
.booking-step-number{font-family:"Playfair Display",serif;font-size:18px;color:var(--salon-rose)}
.booking-step-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--salon-muted);font-weight:700}
.booking-step-heading h2{font-family:"Playfair Display",serif;font-size:27px;line-height:1.15;margin:7px 0 0}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.booking-field{display:grid;gap:8px}
.booking-field-wide{grid-column:1/-1}
.booking-field>span{font-size:12px;font-weight:700;color:var(--salon-muted)}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;border:1px solid var(--salon-line);border-radius:12px;background:#fdfbf9;color:var(--salon-ink);font:inherit;font-size:14px;padding:13px 14px;outline:none;transition:.2s}
.booking-field textarea{resize:vertical}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--salon-rose);box-shadow:0 0 0 3px rgba(139,95,104,.11);background:#fff}
.booking-field[hidden]{display:none}
.booking-slots{display:flex;flex-wrap:wrap;gap:8px;min-height:45px}
.booking-slots p{margin:4px 0;color:var(--salon-muted);font-size:13px}
.booking-slot{border:1px solid var(--salon-line);border-radius:999px;background:#fff;padding:9px 13px;color:var(--salon-ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.booking-slot:hover,.booking-slot.active{background:var(--salon-rose);border-color:var(--salon-rose);color:#fff}
.booking-checks{grid-column:3;display:grid;gap:10px;margin-top:18px}
.booking-checks label{display:flex;align-items:flex-start;gap:9px;color:var(--salon-muted);font-size:12px;line-height:1.45}
.booking-checks input{margin-top:3px;accent-color:var(--salon-rose)}
.booking-submit-row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 36px;background:#f7efeb}
#bookingSummary span,#bookingSummary strong,#bookingSummary small{display:block}
#bookingSummary span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--salon-rose);font-weight:700}
#bookingSummary strong{font-family:"Playfair Display",serif;font-size:21px;margin-top:5px}
#bookingSummary small{color:var(--salon-muted);margin-top:4px}
#bookingSubmit{min-width:220px;border:0;border-radius:999px;background:var(--salon-rose);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;font:inherit;font-weight:700;cursor:pointer}
#bookingSubmit:hover{background:var(--salon-rose-dark)}
#bookingSubmit:disabled{opacity:.65;cursor:wait}
#bookingSubmit.loading i{animation:salonPulse .8s infinite alternate}
@keyframes salonPulse{to{transform:translateX(5px)}}
.booking-aside{display:grid;gap:20px;position:sticky;top:108px}
.booking-aside-card,.booking-promos{border-radius:22px;padding:28px;background:var(--salon-ink);color:#fff}
.booking-aside-card .salon-eyebrow{color:#d8bdc2}
.booking-aside-card h3{font-family:"Playfair Display",serif;font-size:31px;line-height:1.1;margin:0}
.booking-aside-card ul{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:15px}
.booking-aside-card li{display:flex;gap:10px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}
.booking-aside-card li i{color:#dbc8c1;margin-top:3px}
.booking-promos{background:#fff;color:var(--salon-ink);border:1px solid var(--salon-line)}
.booking-promos>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--salon-muted);margin-bottom:13px}
.booking-promos article{padding:13px 0;border-top:1px solid var(--salon-line)}
.booking-promos article strong{display:inline-block;background:var(--salon-blush);color:var(--salon-rose-dark);border-radius:999px;padding:5px 9px;font-size:11px;margin-right:7px}
.booking-promos article span{font-weight:700;font-size:13px}
.booking-promos article small{display:block;color:var(--salon-muted);margin-top:6px;line-height:1.4}
.salon-public-footer{padding:28px 5vw;border-top:1px solid var(--salon-line);display:flex;justify-content:space-between;color:var(--salon-muted)}
.salon-public-footer strong{font-family:"Playfair Display",serif;color:var(--salon-ink);font-size:20px}
.booking-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
@media(max-width:980px){
    .booking-shell{grid-template-columns:1fr}
    .booking-aside{position:static;grid-template-columns:1fr 1fr}
    .booking-step{grid-template-columns:48px minmax(0,1fr)}
    .booking-step-heading{grid-column:2}
    .booking-fields,.booking-checks{grid-column:2}
}
@media(max-width:680px){
    .salon-public-header{height:70px;padding:0 18px}
    .salon-public-header nav a:not(.salon-nav-cta){display:none}
    .booking-hero{grid-template-columns:1fr;padding:52px 18px 30px;gap:22px}
    .booking-hero h1{font-size:42px}
    .booking-hero-note{border-left:0;border-top:1px solid var(--salon-line);padding:20px 0 0}
    .booking-shell{padding:0 12px;margin-bottom:40px}
    .booking-step{grid-template-columns:1fr;padding:25px 20px;gap:10px}
    .booking-step-number{font-size:13px}
    .booking-step-heading,.booking-fields,.booking-checks{grid-column:1}
    .booking-fields{grid-template-columns:1fr}
    .booking-field-wide{grid-column:1}
    .booking-submit-row{align-items:stretch;flex-direction:column;padding:24px 20px}
    #bookingSubmit{width:100%}
    .booking-aside{grid-template-columns:1fr}
    .salon-public-footer{padding-bottom:90px}
}

/* Portada híbrida del salón */
body.salon-home-page{font-family:"DM Sans",sans-serif;background:var(--salon-cream);color:var(--salon-ink)}
.salon-home-page .app-header{background:rgba(251,247,242,.94);border-bottom-color:var(--salon-line);backdrop-filter:blur(18px)}
.salon-home-page .app-header .brand img{width:auto;max-width:180px;height:64px;object-fit:contain}
.salon-home-page .app-header .site-nav{color:var(--salon-ink)}
.salon-home-page .branch-switch select{border-color:var(--salon-line);background:#fff;color:var(--salon-ink)}
.salon-home-page .btn-cart-header{background:var(--salon-rose);color:#fff;border-color:var(--salon-rose)}
.salon-home-page .hero{background:var(--salon-cream)}
.salon-home-page .hero-shell{padding-top:24px}
.salon-home-page .store-banner{border-radius:26px;overflow:hidden;min-height:clamp(280px,38vw,510px)}
.salon-home-page .store-banner-empty{background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.18),transparent 22%),
    radial-gradient(circle at 15% 85%,rgba(222,199,194,.2),transparent 28%),
    linear-gradient(135deg,#3f3034,#8b5f68);color:#fff}
.salon-home-page .store-banner-empty span{max-width:760px;padding:clamp(30px,7vw,90px)}
.salon-home-page .store-banner-empty strong{font-family:"Playfair Display",serif;font-size:clamp(39px,6vw,76px);line-height:1.03}
.salon-home-page .store-banner-empty small{font-size:clamp(15px,2vw,20px);color:rgba(255,255,255,.74);margin-top:18px}
.salon-home-page .azahar-editorial-hero{position:relative;background:#2c1d1e}
.salon-home-page .azahar-editorial-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.68}
.salon-home-page .azahar-editorial-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,15,18,.9),rgba(35,15,18,.2) 68%,rgba(35,15,18,.05))}
.salon-home-page .azahar-editorial-hero>span{position:relative;z-index:1}
.salon-home-page .azahar-editorial-hero>span small:first-child{color:#efd69f;text-transform:uppercase;letter-spacing:.16em;font-size:11px;margin:0 0 14px}
.salon-home-intro{padding:75px 0 85px;background:var(--salon-cream)}
.salon-home-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:80px;align-items:end}
.salon-home-intro h1{font-family:"Playfair Display",serif;font-size:clamp(40px,5.4vw,70px);line-height:1.05;letter-spacing:-.035em;margin:0;max-width:860px}
.salon-home-intro-copy p{color:var(--salon-muted);font-size:17px;line-height:1.65;margin:0 0 24px}
.salon-home-intro-copy a,.salon-section-heading>a{display:inline-flex;align-items:center;gap:12px;color:var(--salon-rose-dark);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.salon-services-section,.salon-team-section{padding:85px 0;background:#fff}
.salon-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}
.salon-section-heading div>span{display:block;color:var(--salon-rose);font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;margin-bottom:10px}
.salon-section-heading h2{font-family:"Playfair Display",serif;font-size:clamp(32px,4vw,50px);line-height:1.08;max-width:720px;margin:0}
.salon-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.salon-service-card{border:1px solid var(--salon-line);border-radius:20px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.salon-service-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(74,49,55,.1)}
.salon-service-visual{height:190px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--service-color) 30%,white),color-mix(in srgb,var(--service-color) 70%,#efe5e1));overflow:hidden}
.salon-service-visual img{width:100%;height:100%;object-fit:cover}
.salon-service-visual i{font-size:38px;color:rgba(255,255,255,.9);z-index:1}
.salon-service-visual>span{position:absolute;right:14px;bottom:-30px;font-family:"Playfair Display",serif;font-size:130px;line-height:1;color:rgba(255,255,255,.18)}
.salon-service-body{padding:23px;display:flex;flex-direction:column;flex:1}
.salon-service-body>span{font-size:10px;color:var(--salon-rose);text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.salon-service-body h3{font-family:"Playfair Display",serif;font-size:24px;line-height:1.15;margin:9px 0}
.salon-service-body p{font-size:13px;line-height:1.55;color:var(--salon-muted);margin:0 0 16px}
.salon-price-options{display:grid;gap:5px;margin-bottom:16px}
.salon-price-options small{font-size:11px;color:var(--salon-muted);padding-left:11px;border-left:2px solid var(--salon-blush)}
.salon-service-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--salon-line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.salon-service-footer strong{font-size:15px}
.salon-service-footer a{border-radius:999px;background:var(--salon-rose);color:#fff;text-decoration:none;font-size:12px;font-weight:700;padding:9px 13px}
.salon-service-actions{display:flex;align-items:center;gap:6px}
.salon-service-footer .salon-service-more{background:transparent;color:var(--salon-rose-dark);border:1px solid var(--salon-line)}
.salon-empty-state{border:1px dashed var(--salon-line);border-radius:20px;padding:60px;display:grid;place-items:center;text-align:center;color:var(--salon-muted)}
.salon-empty-state i{font-size:34px;color:var(--salon-rose);margin-bottom:15px}
.salon-empty-state strong{color:var(--salon-ink);font-family:"Playfair Display",serif;font-size:26px}
.salon-promotions-section{padding:85px 0;background:var(--salon-ink);color:#fff}
.salon-section-heading-light h2{color:#fff}
.salon-section-heading-light div>span{color:#d9bec4}
.salon-promo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.salon-promo-grid article{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:25px;background:rgba(255,255,255,.04)}
.salon-promo-grid article>span{display:inline-block;border-radius:999px;background:#eadbd7;color:#50343a;padding:6px 10px;font-size:11px;font-weight:800}
.salon-promo-grid h3{font-family:"Playfair Display",serif;font-size:25px;margin:17px 0 8px}
.salon-promo-grid p{color:rgba(255,255,255,.65);font-size:13px;line-height:1.55;min-height:42px}
.salon-promo-grid a{color:#fff;font-size:12px;font-weight:700}
.salon-team-section{background:var(--salon-cream)}
.salon-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.salon-team-grid article{padding:25px;border-radius:18px;background:#fff;border:1px solid var(--salon-line)}
.salon-team-avatar{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--professional-color);color:#fff;font-family:"Playfair Display",serif;font-size:24px}
.salon-team-grid h3{font-family:"Playfair Display",serif;font-size:23px;margin:17px 0 4px}
.salon-team-grid strong{font-size:11px;color:var(--salon-rose);text-transform:uppercase;letter-spacing:.11em}
.salon-team-grid p{font-size:13px;color:var(--salon-muted);line-height:1.55;margin:13px 0 0}
.salon-home-page .catalog-tools{background:#f4ebe7;padding-top:50px}
.salon-home-page .filter-panel{border-radius:20px;border-color:var(--salon-line);box-shadow:none}
.salon-home-page .filter-heading>span{color:var(--salon-rose)}
.salon-home-page .search .btn{background:var(--salon-rose);color:#fff}
.salon-home-page main.wrap{background:#fff}
.salon-home-page .catalog-title>div>span{color:var(--salon-rose)}
.salon-home-page .app-footer{background:var(--salon-ink);color:rgba(255,255,255,.7)}
.salon-home-page .whatsapp-float{bottom:86px}
@media(max-width:1050px){
    .salon-service-grid,.salon-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .salon-home-intro-grid{grid-template-columns:1fr;gap:28px}
    .salon-home-intro-grid>*{min-width:0}
    .salon-home-intro,.salon-services-section,.salon-promotions-section,.salon-team-section{padding:55px 0}
    .salon-section-heading{align-items:flex-start;flex-direction:column}
    .salon-service-grid,.salon-promo-grid,.salon-team-grid{grid-template-columns:1fr}
    .salon-service-card{display:grid;grid-template-columns:115px 1fr}
    .salon-service-visual{height:100%;min-height:220px}
    .salon-service-body{padding:19px}
    .salon-home-page .mobile-bottom-nav{background:#fff}
}
@media(max-width:620px){
    body.salon-home-page{max-width:100%;overflow-x:hidden}
    .salon-home-page .top{width:100%;min-width:0}
    .salon-home-page .app-header .brand{flex:0 0 66px;min-width:0}
    .salon-home-page .app-header .brand img{width:66px;height:46px;max-width:66px}
    .salon-home-page .header-actions{min-width:0}
    .salon-home-page .branch-switch{max-width:150px}
    .salon-home-page .branch-switch select{min-width:0}
    .salon-home-page .hero-stage,.salon-home-page .store-banners{width:100%;min-width:0;max-width:100%}
    .salon-home-page .store-banner,.salon-home-page .store-banners.is-slider{width:100%;min-width:0;max-width:100%;min-height:0;aspect-ratio:16/9}
    .salon-home-intro h1{max-width:100%;font-size:39px;line-height:1.04;letter-spacing:-.025em;overflow-wrap:break-word}
    .salon-home-intro-copy{min-width:0}
    .salon-section-heading{gap:18px;margin-bottom:28px}
    .salon-service-card{grid-template-columns:96px minmax(0,1fr)}
    .salon-service-body{min-width:0;padding:17px}
    .salon-service-body h3{font-size:21px;overflow-wrap:anywhere}
    .salon-service-footer{align-items:flex-start;flex-direction:column}
    .salon-service-actions{width:100%;flex-wrap:wrap}
}

body.salon-content-page{font-family:"DM Sans",sans-serif;background:var(--salon-cream);color:var(--salon-ink)}
.salon-content-page .app-header{background:rgba(251,247,242,.94);border-bottom-color:var(--salon-line);backdrop-filter:blur(18px)}
.salon-content-page .btn-cart-header,.salon-content-page .contact-form .btn{background:var(--salon-rose);border-color:var(--salon-rose);color:#fff}
.salon-content-page .section-kicker,.salon-content-page .catalog-title span{color:var(--salon-rose)}
.salon-content-page .about-panel,.salon-content-page .contact-card{border-color:var(--salon-line);border-radius:22px;box-shadow:0 18px 50px rgba(74,49,55,.07)}
.salon-content-page .about-panel.featured{background:linear-gradient(135deg,#3e3034,#8b5f68);color:#fff}

/* Ficha pública de servicio y portal del cliente */
.service-detail-hero{max-width:1240px;margin:0 auto;padding:54px 24px 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:58px;align-items:center}
.service-detail-copy h1,.portal-shell>h1{font-family:"Playfair Display",serif;font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.04em;margin:0}
.service-detail-copy>p{font-size:18px;line-height:1.7;color:var(--salon-muted);max-width:690px;margin:22px 0}
.service-detail-media{height:610px;border-radius:28px;overflow:hidden;box-shadow:0 30px 70px rgba(55,22,27,.18);background:#eadbd0}
.service-detail-media img{width:100%;height:100%;object-fit:cover}
.service-facts{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}
.service-facts span{min-width:145px;padding:14px 16px;border:1px solid var(--salon-line);border-radius:14px;color:var(--salon-muted);font-size:11px}
.service-facts strong{display:block;color:var(--salon-ink);font-size:16px;margin-bottom:3px}
.service-evaluation{border-left:3px solid var(--salon-gold);background:#fff5dd;padding:14px 17px;border-radius:0 12px 12px 0;color:#6b4e13;font-size:13px;line-height:1.5;margin:22px 0}
.service-primary-cta,.portal-shell button{display:inline-flex;border:0;border-radius:999px;background:var(--salon-rose);color:#fff;text-decoration:none;font:inherit;font-size:14px;font-weight:700;padding:14px 20px;cursor:pointer}
.service-detail-content{max-width:1120px;margin:0 auto;padding:0 24px 80px;display:grid;gap:22px}
.service-panel{background:#fff;border:1px solid var(--salon-line);border-radius:22px;padding:28px;box-shadow:0 20px 55px rgba(69,36,40,.06)}
.service-panel h2,.service-panel h3,.service-related h2{font-family:"Playfair Display",serif;margin:0 0 13px}
.service-panel p{color:var(--salon-muted);line-height:1.7;margin:0}
.service-variants>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--salon-line)}
.service-variants>div span{font-weight:700}.service-variants>div small{display:block;color:var(--salon-muted);font-weight:400;margin-top:4px}
.service-variants>div strong{white-space:nowrap;color:var(--salon-rose)}
.service-care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-related{background:#fff;padding:70px max(24px,calc((100vw - 1120px)/2));border-top:1px solid var(--salon-line)}
.service-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}
.service-related-grid a{display:grid;gap:7px;padding:22px;border:1px solid var(--salon-line);border-radius:16px;color:var(--salon-ink);text-decoration:none}
.service-related-grid a:hover{border-color:var(--salon-gold);transform:translateY(-2px)}
.service-related-grid span{color:var(--salon-muted);font-size:12px}
.portal-shell{max-width:1000px;min-height:72vh;margin:0 auto;padding:70px 24px}
.portal-shell>h1{max-width:760px;margin-bottom:30px}
.portal-message{padding:15px 18px;border-radius:13px;margin:0 0 22px;background:#e9f7ef;color:#1f6f43}
.portal-message.error{background:#fdebea;color:#9b2c2c}
.portal-lookup{max-width:560px;display:grid;gap:15px}
.portal-shell label{display:grid;gap:7px;color:var(--salon-muted);font-size:12px;font-weight:700}
.portal-shell input,.portal-shell textarea{width:100%;border:1px solid var(--salon-line);border-radius:11px;background:#fffdfa;padding:12px 13px;font:inherit;color:var(--salon-ink)}
.portal-reservation{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;overflow:hidden}
.portal-reservation>div{padding:23px;border-right:1px solid var(--salon-line);border-bottom:1px solid var(--salon-line)}
.portal-reservation span,.portal-reservation strong,.portal-reservation small{display:block}
.portal-reservation span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--salon-muted)}
.portal-reservation strong{margin-top:7px}.portal-reservation small{color:var(--salon-muted);margin-top:4px}
.portal-status{color:var(--salon-rose)}
.portal-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.portal-actions form{display:grid;gap:14px;align-content:start}
.portal-actions form>p{font-size:13px}
.portal-cancel button{background:#fff;color:#9b2c2c;border:1px solid #e8bbbb}
@media(max-width:800px){
    .service-detail-hero{grid-template-columns:1fr;padding-top:36px;gap:30px}
    .service-detail-media{height:420px;order:-1}
    .service-care-grid,.service-related-grid,.portal-actions{grid-template-columns:1fr}
    .portal-reservation{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .salon-logo-image img{height:52px}
    .service-detail-media{height:330px}
    .service-facts span{flex:1}
    .portal-reservation{grid-template-columns:1fr}
}
.salon-content-page .about-panel h1,.salon-content-page .about-panel h2,.salon-content-page .contact-card h1,.salon-content-page .contact-card h2,.salon-content-page .catalog-title h2{font-family:"Playfair Display",serif}
.salon-content-page .trust-row span{background:var(--salon-blush);color:var(--salon-rose-dark);border-color:transparent}
.salon-content-page .contact-list i{color:var(--salon-rose)}
.salon-content-page .field:focus{border-color:var(--salon-rose);box-shadow:0 0 0 3px rgba(139,95,104,.11)}
.salon-content-page .app-footer{background:var(--salon-ink);color:rgba(255,255,255,.72)}
