/* Glamour by Laurie — shared editorial footer */
.glam-footer-booking,
.glam-footer { margin-block-start:0 !important; }
.glam-footer-booking {
  position:relative; isolation:isolate; overflow:hidden; min-height:236px;
  background:linear-gradient(100deg,#f6f1eb 0%,#f8f4ef 53%,#f1e8df 100%);
  color:var(--wp--preset--color--ink); display:flex; align-items:center;
}
.glam-footer-booking::before {
  content:""; position:absolute; z-index:-1; inset:0 0 0 auto; width:53%;
  background:linear-gradient(90deg,#f7f3ef 0%,rgba(247,243,239,.84) 14%,rgba(247,243,239,.12) 54%,rgba(247,243,239,0) 100%);
  pointer-events:none;
}
.glam-footer-booking__photo { position:absolute; z-index:-2; inset:0 0 0 auto; width:48%; height:100%; margin:0 !important; }
.glam-footer-booking__photo img { width:100%; height:100%; object-fit:cover; object-position:center 44%; filter:brightness(1.08) saturate(.72) sepia(.12); }
.glam-footer-booking__botanical { position:absolute; z-index:-1; left:max(0px,calc((100% - 1420px)/2)); bottom:-38px; width:180px; height:210px; opacity:.5; transform:rotate(-8deg); pointer-events:none; }
.glam-footer-booking__copy { width:min(1280px,calc(100% - 80px)); margin:0 auto !important; padding:34px 0; display:grid; grid-template-columns:minmax(0,1fr) 255px; grid-template-areas:"eyebrow ." "title action" "text action"; align-items:center; column-gap:34px; row-gap:2px; }
.glam-footer-booking__copy > * { margin:0 !important; }
.glam-footer-booking__copy > .glam-footer-eyebrow { grid-area:eyebrow; }
.glam-footer-booking__title { grid-area:title; font-family:var(--wp--preset--font-family--heading); font-size:clamp(2rem,3.1vw,3rem); font-weight:400; line-height:1.15; letter-spacing:-.035em; }
.glam-footer-booking__text { grid-area:text; color:var(--wp--preset--color--muted); font-size:clamp(.95rem,1.2vw,1.15rem); line-height:1.55; }
.glam-footer-booking__action { grid-area:action; justify-self:center; }
.glam-footer-eyebrow { color:#53627f !important; font-size:.7rem !important; font-weight:600; letter-spacing:.3em; text-transform:uppercase; }
.glam-footer-button { display:inline-flex; min-width:214px; min-height:58px; padding:13px 28px; align-items:center; justify-content:center; gap:18px; border:1px solid rgba(255,255,255,.9); border-radius:999px; background:var(--wp--preset--color--mint); color:var(--wp--preset--color--ink) !important; font-size:1rem; font-weight:500; text-decoration:none !important; transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; box-shadow:0 2px 8px rgba(24,33,57,.04); }
.glam-footer-button span { font-size:1.4em; line-height:1; transition:transform .2s ease; }
.glam-footer-button:hover { background:#b8ddd5; transform:translateY(-2px); box-shadow:0 7px 18px rgba(24,33,57,.1); }
.glam-footer-button:hover span { transform:translateX(3px); }
.glam-footer-button:focus-visible,.glam-footer a:focus-visible { outline:2px solid var(--wp--preset--color--ink); outline-offset:4px; }

.glam-footer { position:relative; isolation:isolate; overflow:hidden; background:var(--wp--preset--color--paper); color:var(--wp--preset--color--ink); }
.glam-footer-inner { width:min(1280px,calc(100% - 80px)); margin:0 auto !important; padding:38px 0 18px; }
.glam-footer-columns { display:grid; grid-template-columns:1.18fr .86fr 1.18fr 1.25fr .48fr; gap:clamp(20px,2.15vw,34px); align-items:start; }
.glam-footer-col { min-width:0; margin:0 !important; }
.glam-footer-col > * { margin-block-start:0 !important; }
.glam-footer h2.glam-footer-heading { margin:0 0 18px !important; color:#3e4a68; font-family:var(--wp--preset--font-family--body); font-size:.69rem; line-height:1.5; font-weight:700; letter-spacing:.29em; text-transform:uppercase; }
.glam-footer h2.glam-footer-heading::after { content:""; display:inline-block; width:42px; height:1px; margin:0 0 3px 12px; background:#aeb8c8; }
.glam-footer-logo { width:100%; max-width:290px; margin:0 0 14px !important; }.glam-footer-masthead { display:grid; grid-template-columns:86px minmax(0,1fr); gap:13px; align-items:center; margin:0 0 16px !important; }
.glam-footer-masthead .glam-footer-logo { width:86px; max-width:86px; margin:0 !important; }
.glam-footer-masthead .glam-footer-logo a { display:block; max-width:none; }
.glam-footer-masthead .glam-footer-logo img { max-height:92px; }
.glam-footer-wordmark { min-width:0; margin:0 !important; }
.glam-footer h3.glam-footer-brand__name { margin:0 0 5px !important; color:var(--wp--preset--color--ink); font-family:var(--wp--preset--font-family--heading); font-size:clamp(1.1rem,1.55vw,1.45rem); font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.glam-footer-brand__tagline { margin:0 !important; color:#778096 !important; font-size:.56rem !important; font-weight:600; letter-spacing:.2em; line-height:1.65 !important; text-transform:uppercase; }
.glam-footer-logo a { display:block; max-width:115px; }
.glam-footer-logo img { display:block; width:100%; max-height:112px; object-fit:contain; object-position:left center; }
.glam-footer p { color:var(--wp--preset--color--muted); font-family:var(--wp--preset--font-family--body); font-size:.88rem; line-height:1.58; }
.glam-footer a { color:inherit; text-decoration:none; text-underline-offset:4px; }
.glam-footer a:hover { color:#53627f; }
.glam-footer-brand__intro { max-width:355px; margin:0 0 20px !important; }
.glam-footer-features { display:grid; gap:9px; }
.glam-footer-feature { display:grid; grid-template-columns:40px 1fr; gap:12px; align-items:center; margin:0 !important; }
.glam-footer-feature p { margin:0 !important; }
.glam-footer-icon { display:block; width:26px; height:26px; color:#53627f; background-repeat:no-repeat; background-position:center; background-size:contain; }
.glam-footer-icon--leaf::before { content:"♧"; display:block; font-size:25px; line-height:1; transform:rotate(-28deg); }
.glam-footer-icon--bloom::before { content:"❀"; display:block; font-size:23px; line-height:1.1; }
.glam-footer-icon--heart::before { content:"♡"; display:block; font-size:30px; line-height:.9; }
.glam-footer-icon--pin { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353627f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.glam-footer-icon--phone { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353627f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3 4 5c-.7.5 1.5 6 5 9.5s9 5.7 9.5 5l2-3-5-3-2 2c-2.2-1-4.1-2.9-5-5l2-2-3.5-5.5Z'/%3E%3C/svg%3E"); }
.glam-footer-icon--mail { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353627f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
.glam-footer-quick-link { margin:0 !important; border-bottom:1px solid #ecebe7; }
.glam-footer-quick-link a,.glam-footer-treatment__name a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:43px; color:#505b76; font-size:.91rem; transition:color .18s ease,padding .18s ease; }
.glam-footer-quick-link a:hover,.glam-footer-treatment__name a:hover { padding-left:4px; color:#182139; }
.glam-footer-quick-link a span,.glam-footer-treatment__name a span { color:#53627f; font-size:1.45rem; line-height:1; }
.glam-footer-treatment { display:grid; grid-template-columns:68px minmax(0,1fr); gap:12px; align-items:center; margin:0 0 8px !important; }
.glam-footer-treatment .glam-footer-treatment__image { width:68px; height:42px; margin:0 !important; overflow:hidden; border-radius:5px; background:#f2eee9; }
.glam-footer-treatment__image img { display:block; width:100%; height:100%; object-fit:cover; }
.glam-footer-treatment__name { margin:0 !important; }
.glam-footer-treatment__name a { min-height:42px; font-size:.82rem; line-height:1.25; }
.glam-footer-contact-row { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:start; gap:9px; margin:0 0 9px !important; }
.glam-footer-contact-row .wp-block-html { margin:2px 0 0 !important; }
.glam-footer-contact-row p { margin:0 !important; font-size:.82rem; line-height:1.5; overflow-wrap:anywhere; }
.glam-footer h3.glam-footer-subheading { margin:18px 0 9px !important; padding-top:12px; border-top:1px solid #ecebe7; color:#3e4a68; font-family:var(--wp--preset--font-family--body); font-size:.67rem; line-height:1.5; font-weight:700; letter-spacing:.27em; text-transform:uppercase; }
.glam-footer-hours-row { display:flex; justify-content:space-between; gap:12px; margin:0 0 4px !important; color:var(--wp--preset--color--muted); font-size:.76rem !important; line-height:1.45 !important; }
.glam-footer-hours-row > span:last-child { text-align:right; }
.glam-footer-appointment-note { margin:10px 0 0 !important; color:#53627f !important; font-size:.75rem !important; font-style:italic; }
.glam-footer-decor { position:relative; min-height:350px; margin:0 !important; display:flex; align-items:flex-end; justify-content:center; }
.glam-footer-decor::before { content:""; position:absolute; z-index:-1; inset:-70px -120px -50px 0; border-radius:55% 0 0 45%; background:linear-gradient(145deg,#eff8f7,#e4f3f2 75%,#f8fbf9); }
.glam-footer-decor img { position:absolute; width:100%; max-width:175px; height:270px; top:0; right:-8px; object-fit:contain; opacity:.68; }
.glam-footer-decor p { margin:0 0 24px !important; color:#43506c; font-family:var(--wp--preset--font-family--heading); font-size:clamp(1.1rem,1.6vw,1.55rem); font-style:italic; line-height:1.48; letter-spacing:.01em; }
.glam-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 22px; margin:30px 0 0 !important; padding-top:16px; border-top:1px solid #d9dce2; }
.glam-footer-bottom p { margin:0 !important; font-size:.69rem; line-height:1.5; }
.glam-footer-copyright { white-space:nowrap; }
.glam-footer-copyright span,.glam-footer-legal-links span { margin:0 10px; color:#8d95a6; }
.glam-footer-legal-links { display:flex; align-items:center; flex-wrap:wrap; }
.glam-footer-legal-links a:hover,.glam-footer-credit a:hover { text-decoration:underline; }
.glam-footer-socials { display:flex; align-items:center; gap:17px; margin:0 !important; padding:0 20px; border-inline:1px solid #d9dce2; }
.glam-footer-socials a { display:flex; width:24px; height:26px; align-items:center; justify-content:center; color:#27314a; }
.glam-footer-socials svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.glam-footer-socials a[aria-label="Facebook"] svg { fill:currentColor; stroke:none; }
.glam-footer-socials .glam-footer-social-dot { fill:currentColor; stroke:none; }
.glam-footer-credit { margin-left:auto !important; font-size:.67rem !important; white-space:nowrap; }

@media (max-width:1150px) {
 .glam-footer-booking__copy { grid-template-columns:minmax(0,1fr) 210px; width:calc(100% - 64px); }
 .glam-footer-booking__photo { width:45%; }
 .glam-footer-inner { width:calc(100% - 64px); }
 .glam-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 34px; }
 .glam-footer-decor { display:none !important; }
 .glam-footer-contact { max-width:480px; }
 .glam-footer-bottom { justify-content:flex-start; }
 .glam-footer-credit { margin-left:auto !important; }
}
@media (max-width:700px) {
 .glam-footer-booking { min-height:320px; align-items:flex-end; }
 .glam-footer-booking::before { width:100%; background:linear-gradient(0deg,rgba(247,243,239,.98) 0%,rgba(247,243,239,.94) 50%,rgba(247,243,239,.48) 100%); }
 .glam-footer-booking__photo { inset:0 0 auto; width:100%; height:100%; opacity:.55; }
 .glam-footer-booking__copy { width:calc(100% - 40px); padding:36px 0 30px; grid-template-columns:minmax(0,1fr); grid-template-areas:"eyebrow" "title" "text" "action"; row-gap:10px; }
 .glam-footer-booking__title { max-width:520px; font-size:clamp(2rem,8vw,2.75rem); }
 .glam-footer-booking__text { max-width:450px; }
 .glam-footer-booking__action { justify-self:start; margin-top:8px !important; }
 .glam-footer-booking__botanical { left:-36px; bottom:-55px; width:130px; height:160px; opacity:.28; }
 .glam-footer-inner { width:calc(100% - 40px); padding:34px 0 20px; }
 .glam-footer-columns { grid-template-columns:minmax(0,1fr); gap:28px; }
 .glam-footer-brand__intro { max-width:480px; }
 .glam-footer-logo { max-width:100%; }
 .glam-footer-treatment { grid-template-columns:72px minmax(0,1fr); }
 .glam-footer-treatment .glam-footer-treatment__image { width:72px; height:46px; }
 .glam-footer-treatment__name a { min-height:46px; font-size:.9rem; }
 .glam-footer-contact { max-width:none; }
 .glam-footer-hours-row { max-width:370px; font-size:.82rem !important; }
 .glam-footer-bottom { align-items:flex-start; flex-direction:column; gap:13px; margin-top:24px !important; }
 .glam-footer-copyright { white-space:normal; }
 .glam-footer-socials { padding:0; border:0; }
 .glam-footer-credit { margin-left:0 !important; }
}
@media (max-width:360px) {
 .glam-footer-booking { min-height:340px; }
 .glam-footer-button { min-width:190px; min-height:54px; }
 .glam-footer-hours-row { gap:8px; font-size:.75rem !important; }
 .glam-footer-contact-row { grid-template-columns:24px minmax(0,1fr); gap:6px; }
 .glam-footer-contact-row p { font-size:.78rem; }
 .glam-footer-icon { width:22px; height:22px; }
 .glam-footer-legal-links { gap:7px 0; }
 .glam-footer-legal-links span { margin:0 6px; }
}
@media (prefers-reduced-motion:reduce) { .glam-footer-button,.glam-footer-button span,.glam-footer-quick-link a,.glam-footer-treatment__name a { transition:none; } }
