/* DESIGN PLAN — The Bloom Room, Noosa Heads
   palette: blush #E3A6AE (hers, primary) · deep blush #866267 (her blush deepened, text-safe) · sage #8AA394 (hers, secondary) · deep sage #3F5046 (sage deepened, footer and dark bands) · cream #F8F2EC (hers, the page itself) · ink #2A2325 (running text)
   type: Fraunces (display — a soft, slightly wild serif, per her "soft serif, not cursive script") with Nunito (body — rounded and warm, matching "curvy"); fallbacks Georgia / Trebuchet MS.
   shape: curvy — large radii (28–36px on panels, pills on buttons), organic blob masks on photographs beside words, soft pill labels.
   motion: subtle — the site-kit handles reveal, lift and photo settle; nothing else moves beyond a gentle colour change under the pointer. All off under prefers-reduced-motion.
   their one wish: "make the wedding gallery the star of the home page". The home hero is a full-screen slider of her finished bridal work (upload-2 leading, with 4, 5 and 6 rotating behind the heading), the second band "Why couples and locals choose The Bloom Room" leads with her photograph and a direct link on "Gallery page" to gallery.html, and the two consultation buttons sit above the shop button at every turn. Same-day delivery, her non-negotiable for the everyday visitor, is a pill strip directly under the hero buttons, before any wedding content.
*/

/* ── tokens ── */
:root{
  --blush:#E3A6AE;--blush-soft:#F4DDE0;--blush-deep:#866267;
  --sage:#8AA394;--sage-soft:#E4ECE6;--sage-deep:#3F5046;
  --cream:#F8F2EC;--cream-deep:#F1E7DD;--white:#FFFFFF;
  --ink:#2A2325;--ink-soft:#5A4F52;
  --wrap:1180px;--gutter:clamp(18px,4.5vw,44px);
  --band-s:clamp(2.5rem,6vw,4rem);--band-m:clamp(3.5rem,8vw,6rem);--band-l:clamp(4.5rem,10vw,8rem);
  --r-s:14px;--r-m:28px;--r-l:36px;--pill:999px;
  --fs-900:clamp(2.4rem,1.6rem + 3.6vw,4.4rem);--fs-800:clamp(2rem,1.4rem + 2.4vw,3.2rem);
  --fs-700:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);--fs-600:clamp(1.25rem,1.1rem + .7vw,1.55rem);
  --fs-500:clamp(1.05rem,1rem + .3vw,1.2rem);--fs-400:1.0625rem;--fs-300:.9375rem;
  --display:"Fraunces",Georgia,"Times New Roman",serif;--body:"Nunito","Trebuchet MS",Verdana,sans-serif;
  --shadow:0 10px 30px rgba(42,35,37,.10);
}

/* ── base ── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:var(--fs-400);line-height:1.65;overflow-x:hidden}
img,picture,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.12;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:var(--fs-900)}h2{font-size:var(--fs-800)}h3{font-size:var(--fs-600)}h4{font-size:var(--fs-500)}
p{margin:0 0 1em;max-width:66ch}
p:last-child{margin-bottom:0}
a{color:var(--blush-deep);text-decoration-thickness:2px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:820px}
.lede{font-size:var(--fs-500);color:var(--ink-soft)}
.eyebrow{display:inline-block;font-family:var(--body);font-weight:700;font-size:var(--fs-300);letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:.75rem}
.prose{max-width:66ch}
.prose h2,.prose h3{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
hr{border:0;border-top:2px solid var(--blush-soft);margin:var(--band-s) 0}

/* ── header ── */
.header{position:sticky;top:0;z-index:50;background:var(--cream)}
.header__inner{position:relative;display:flex;align-items:center;gap:1.25rem;min-height:92px;padding-block:.75rem}
.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink);margin-right:auto}
.her-name{font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem);letter-spacing:-.01em;white-space:nowrap}
.nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;min-height:48px;padding:.4rem .85rem;border-radius:var(--pill);color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--fs-300)}
.nav__link[aria-current="page"]{background:var(--blush-soft);color:var(--blush-deep)}
@media (hover:hover){.nav__link:hover{background:var(--sage-soft)}}
.nav__sub{list-style:none;margin:0;padding:.5rem;background:var(--white);border-radius:var(--r-s);box-shadow:var(--shadow);position:absolute;left:0;top:100%;min-width:230px;display:none;z-index:60}
.nav__item--has-sub:hover .nav__sub,.nav__item--has-sub:focus-within .nav__sub{display:block}
.nav__sub .nav__link{width:100%;border-radius:10px}
.header__cta{margin-left:.25rem}
.nav-toggle__label{border:2px solid var(--sage-deep);border-radius:var(--pill);padding:.4rem 1.1rem;font-weight:700;color:var(--sage-deep);background:var(--white)}
@media (max-width:900px){
  .header__inner{flex-wrap:wrap;gap:.75rem}
  .header__cta{order:2}
  .nav-toggle__label{order:3}
  .nav{order:4;flex-basis:100%}
  .nav .nav__list{align-items:stretch;gap:.1rem;padding:.5rem 0 1rem;border-top:2px solid var(--blush-soft)}
  .nav__link{min-height:48px;width:100%}
  .nav__sub{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 .25rem 1rem}
}
@media (max-width:480px){.her-name{font-size:1.5rem}.header__cta{padding-inline:1rem}}

/* ── buttons (shape only; colours are given below) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.6rem;border-radius:var(--pill);border:2px solid transparent;font-family:var(--body);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.actions--center{justify-content:center}
.actions--start{justify-content:flex-start}

/* ── bands ── */
.band{padding-block:var(--band-m)}
.band--tight{padding-block:var(--band-s)}
.band--roomy{padding-block:var(--band-l)}
.band--cream{background:var(--cream)}
.band--cream-deep{background:var(--cream-deep)}
.band--blush{background:var(--blush-soft);color:var(--ink)}
.band--sage{background:var(--sage-soft);color:var(--ink)}
.band--deep{background:var(--sage-deep);color:var(--cream)}
.band--deep h1,.band--deep h2,.band--deep h3,.band--deep p,.band--deep .lede{color:var(--cream)}
.band--deep a{color:var(--cream)}
.band--deep .eyebrow{color:var(--blush)}
.band__head{max-width:760px;margin-bottom:clamp(1.5rem,4vw,3rem)}
.band__head--center{margin-inline:auto;text-align:center}
.band__head--center p{margin-inline:auto}

/* ── hero ── */
.hero{position:relative;min-height:min(86vh,820px);display:grid;align-items:end;isolation:isolate;overflow:hidden}
.hero__slides{position:absolute;inset:0;z-index:-1}
.hero__slides img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero__panel{background:rgba(248,242,236,.82);border-radius:var(--r-l);padding:clamp(1.5rem,4vw,3rem);max-width:720px;margin-block:clamp(2rem,6vw,5rem)}
.hero__panel h1{margin-bottom:.4em}
.hero__panel .lede{color:var(--ink)}
.hero--page{min-height:min(52vh,520px)}
.hero--page .hero__panel{max-width:640px}
.strip{display:inline-flex;align-items:center;gap:.6rem;background:var(--sage-soft);color:var(--sage-deep);border-radius:var(--pill);padding:.55rem 1.1rem;font-weight:700;font-size:var(--fs-300);margin-top:1.25rem;max-width:100%}
.strip svg{flex:none}

/* ── grids and cards ── */
.grid{display:grid;gap:clamp(1rem,2.5vw,1.75rem)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}
.card{background:var(--white);border-radius:var(--r-m);padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem}
.card h3{margin:0}
.card h3 a{color:var(--ink);text-decoration:none}
@media (hover:hover){.card h3 a:hover{color:var(--blush-deep);text-decoration:underline}}
.card__mark{width:44px;height:44px;border-radius:50%;background:var(--blush-soft);display:grid;place-items:center;color:var(--blush-deep);margin-bottom:.5rem}
.card--blush{background:var(--blush-soft)}
.card--sage{background:var(--sage-soft)}
.card--photo{padding:0;overflow:hidden}
.card--photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card--photo .card__body{padding:clamp(1.2rem,2.5vw,1.6rem);display:flex;flex-direction:column;gap:.5rem}
.list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1rem,2.5vw,1.75rem)}

/* ── photo beside words ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.split--photo-right .split__photo{order:2}
.split__photo{border-radius:var(--r-l);overflow:hidden;clip-path:ellipse(50% 48% at 50% 50%);aspect-ratio:4/5}
.split__photo--soft{clip-path:none;border-radius:48% 52% 46% 54% / 54% 46% 54% 46%}
.split__photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.split{grid-template-columns:1fr}.split--photo-right .split__photo{order:0}.split__photo{aspect-ratio:4/3;max-width:560px}}

/* ── reasons ── */
.reasons{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.reason{background:var(--white);border-radius:var(--r-m);padding:1.4rem 1.6rem;border-left:6px solid var(--blush)}
.reason--lead{border-left-color:var(--sage);background:var(--sage-soft)}
.reason h3{margin-bottom:.3em}

/* ── story / quote pull ── */
.story{background:var(--white);border-radius:var(--r-l);padding:clamp(1.8rem,5vw,3.5rem);box-shadow:var(--shadow);max-width:860px;margin-inline:auto}
.story p{font-size:var(--fs-500)}
.story .actions{margin-top:1.5rem}

/* ── kind words ── */
.quotes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,2rem)}
@media (max-width:760px){.quotes{grid-template-columns:1fr}}
.quote{background:var(--white);border-radius:var(--r-m);padding:clamp(1.5rem,3vw,2.2rem);margin:0;position:relative}
.quote::before{content:"\201C";font-family:var(--display);font-size:4rem;line-height:1;color:var(--blush);position:absolute;top:.6rem;left:1.2rem}
.quote p{font-family:var(--display);font-size:var(--fs-600);line-height:1.35;margin:1.6rem 0 .8rem;max-width:none}
.quote cite{font-style:normal;font-weight:700;color:var(--sage-deep)}

/* ── cta band with photo ── */
.cta{position:relative;isolation:isolate;overflow:hidden;padding-block:var(--band-l)}
.cta__photo{position:absolute;inset:0;z-index:-1}
.cta__photo img{width:100%;height:100%;object-fit:cover}
.cta__panel{background:rgba(248,242,236,.84);border-radius:var(--r-l);padding:clamp(1.6rem,4vw,3rem);max-width:640px;margin-inline:auto;text-align:center}
.cta__panel p{margin-inline:auto}
.cta__panel .actions{margin-top:1.25rem}

/* ── price list (Services) ── */
.price-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.price-row{display:grid;grid-template-columns:1fr auto;gap:.5rem 1.5rem;background:var(--white);border-radius:var(--r-m);padding:1.3rem 1.6rem;align-items:start}
.price-row__name{font-family:var(--display);font-size:var(--fs-600);margin:0}
.price-row__price{font-weight:700;color:var(--blush-deep);white-space:nowrap;justify-self:end}
.price-row__desc{grid-column:1 / -1;margin:0;color:var(--ink-soft)}
@media (max-width:480px){.price-row{grid-template-columns:1fr}.price-row__price{justify-self:start}}
.service{padding-block:var(--band-m)}
.service:nth-of-type(even){background:var(--cream-deep)}
.service__photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.service__photos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-m)}
@media (max-width:640px){.service__photos{grid-template-columns:1fr}}

/* ── gallery ── */
.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.75rem,2vw,1.25rem)}
.gallery-grid li{margin:0}
.gallery-grid a{display:block;border-radius:var(--r-m);overflow:hidden;background:var(--white)}
.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
@media (max-width:640px){.gallery-grid{grid-template-columns:1fr}}

/* ── faq ── */
.faq{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.faq__item{background:var(--white);border-radius:var(--r-m);padding:1.3rem 1.6rem}
.faq__item h3{margin-bottom:.3em}

/* ── details / info panels ── */
.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.panel{background:var(--white);border-radius:var(--r-m);padding:1.5rem 1.7rem}
.panel--sage{background:var(--sage-soft)}
.panel--blush{background:var(--blush-soft)}
.panel h3{margin-bottom:.4em}
.note{background:var(--blush-soft);border-radius:var(--r-s);padding:1rem 1.25rem;font-weight:600}
.hours{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.hours li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(42,35,37,.12);padding-bottom:.3rem}

/* ── forms ── */
.form{display:grid;gap:1rem;background:var(--white);border-radius:var(--r-l);padding:clamp(1.5rem,4vw,2.5rem);box-shadow:var(--shadow)}
.form label{font-weight:700;display:block;margin-bottom:.35rem}
.form input,.form textarea{width:100%;font:inherit;padding:.8rem 1rem;min-height:48px;border:2px solid var(--cream-deep);border-radius:var(--r-s);background:var(--cream);color:var(--ink)}
.form textarea{min-height:8rem;resize:vertical}
.form input:focus-visible,.form textarea:focus-visible{outline:3px solid var(--sage);outline-offset:0;border-color:var(--sage)}
.form .btn{justify-self:start}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.map{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow)}
.map iframe{width:100%;height:380px;border:0;display:block}
.kit-follow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.kit-follow__label{font-weight:700}
.social-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
.social-list li{display:inline-flex;align-items:center;gap:.5rem}
.social-list__name{font-weight:600;font-size:var(--fs-300)}

/* ── shop ── */
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.product{background:var(--white);border-radius:var(--r-m);padding:1.25rem;display:grid;gap:.6rem}
.product img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-s)}
.product__name{font-family:var(--display);font-size:var(--fs-600);margin:0}
.product__price{font-weight:700;color:var(--blush-deep)}

/* ── booking ── */
.booking-embed-band{padding-block:var(--band-m);background:var(--cream-deep)}
.booking-step-words{max-width:68rem;margin:0 auto 1rem;padding:.8rem 1.2rem;background:var(--sage-soft);border-radius:var(--r-s);font-weight:700;color:var(--sage-deep)}

/* ── blog ── */
.post{max-width:760px;margin-inline:auto;padding-block:var(--band-s)}
.post h2{font-size:var(--fs-800)}
.post picture img,.post > img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-m);margin:1rem 0 1.5rem}
.post h3{margin-top:1.6em}

/* ── footer ── */
.footer{background:var(--sage-deep);color:var(--cream);padding-block:var(--band-m) var(--band-s)}
.footer a{color:var(--cream)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(1.5rem,4vw,3rem)}
@media (max-width:1000px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer__grid{grid-template-columns:1fr}}
.footer h2{font-size:var(--fs-500);color:var(--blush);margin-bottom:.6em;font-family:var(--body);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.footer p{color:var(--cream)}
.footer__brand .brand{color:var(--cream)}
.footer__brand img{height:72px;width:auto}
.footer__tag{font-family:var(--display);font-size:var(--fs-500);margin-top:.75rem}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.footer__list a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
@media (hover:hover){.footer__list a:hover{text-decoration:underline}}
.footer__hours{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.footer__hours li{display:flex;justify-content:space-between;gap:1rem;max-width:280px}
.footer__contact a{display:inline-flex;align-items:center;min-height:44px}
.footer__legal{margin-top:var(--band-s);padding-top:1.5rem;border-top:1px solid rgba(248,242,236,.25);font-size:var(--fs-300);display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center}
.footer__legal a{display:inline-flex;align-items:center;min-height:44px}
.footer .kit-follow{margin-top:1rem}

/* ── motion discipline ── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}

/* ── HER LOGO — GIVEN, FIXED ── */
img.her-logo{height:64px !important;min-height:64px !important;max-height:none !important;width:auto !important;max-width:none !important;object-fit:contain !important;display:block}

/* ── HER MENU — GIVEN, FIXED ── */
.nav-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.nav-toggle__label{display:none;cursor:pointer;min-height:48px;min-width:48px;align-items:center;justify-content:center}
.nav-toggle:focus-visible + .nav-toggle__label{outline:3px solid currentColor;outline-offset:3px}
@media (max-width:900px){
  .nav-toggle__label{display:inline-flex}
  .nav .nav__list{display:none}
  .nav-toggle:checked ~ .nav .nav__list{display:flex;flex-direction:column}
}

/* ── HER BUTTONS — GIVEN, FIXED. Supplied by Clever Dog from her own colour answers. Include verbatim; write no colour, background or border-colour rule for any .btn of your own. ── */
/* primary: her logo colour #E3A6AE, deepened for readable words #866267, words #FFFFFF — 5.31:1 */
.btn--primary,.btn--primary:link,.btn--primary:visited,.btn--primary:hover,.btn--primary:focus,.btn--primary:focus-visible,.btn--primary:active{background-color:#866267 !important;color:#FFFFFF !important;border-color:#866267 !important}
.btn--primary *{color:inherit !important}
/* secondary: her logo colour #8AA394, words #1C1C1C — 6.29:1 */
.btn--secondary,.btn--secondary:link,.btn--secondary:visited,.btn--secondary:hover,.btn--secondary:focus,.btn--secondary:focus-visible,.btn--secondary:active{background-color:#8AA394 !important;color:#1C1C1C !important;border-color:#8AA394 !important}
.btn--secondary *{color:inherit !important}
/* ── END HER BUTTONS — GIVEN, FIXED ── */

/* ── HER SOCIAL MARKS — GIVEN, FIXED. Supplied by Clever Dog from her own colour answers. Include verbatim, as the last thing in the file. Write no colour, background, width or height rule of your own for .social-list a or its svg. ── */
/* circle: her "Blush" #E8B4B8, mark #1C1C1C — 9.46:1 */
.social-list a,.social-list a:link,.social-list a:visited,.social-list a:hover,.social-list a:focus,.social-list a:focus-visible,.social-list a:active{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;padding:0 !important;border-radius:50% !important;background-color:#E8B4B8 !important;color:#1C1C1C !important}
.social-list a svg{width:24px !important;height:24px !important;display:block !important}
.social-list a *{color:inherit !important}
/* ── END HER SOCIAL MARKS — GIVEN, FIXED ── */

/* ── HER BOOKING CALENDAR — GIVEN, FIXED, COLOURS ONLY. Supplied by Clever Dog from her own colour answers and the engine's own calendar rules (resources/sections/sections.css). Include verbatim; write no colour, background, border-color or box-shadow rule of your own for anything inside .booking-embed. ── */
.booking-embed{max-width:68rem !important;margin-inline:auto !important}
.booking-embed #asContainer_1{color:#1c1c1c !important;font-family:inherit !important;font-size:1rem !important;line-height:1.55 !important}
.booking-embed #asContainer_1 h1,.booking-embed #asContainer_1 h2,.booking-embed #asContainer_1 h3,
.booking-embed #asContainer_1 h4,.booking-embed #asContainer_1 h5{font-family:inherit !important;color:#1c1c1c !important;letter-spacing:-.01em !important;text-transform:none !important}
.booking-embed #asContainer_1 p,.booking-embed #asContainer_1 li,.booking-embed #asContainer_1 dt,.booking-embed #asContainer_1 dd,
.booking-embed #asContainer_1 label,.booking-embed #asContainer_1 td,.booking-embed #asContainer_1 th,
.booking-embed #asContainer_1 input,.booking-embed #asContainer_1 select,.booking-embed #asContainer_1 textarea,
.booking-embed #asContainer_1 a,.booking-embed #asContainer_1 strong{font-family:inherit !important}
.booking-embed #asContainer_1 .text-uppercase,.booking-embed #asContainer_1 .text-capitalize{text-transform:none !important}
.booking-embed #asContainer_1 a{color:#a27e81 !important}

/* panels */
.booking-embed #asContainer_1 .panel{background:#ffffff !important;border:2px solid #dddddd !important;border-radius:.75rem !important;box-shadow:0 8px 24px rgba(0,0,0,.10) !important;overflow:hidden !important;margin-bottom:1.25rem !important}
.booking-embed #asContainer_1 .panel-heading{background:#f6f6f4 !important;border-bottom:2px solid #dddddd !important;padding:1rem 1.25rem !important}
.booking-embed #asContainer_1 .panel-body{padding:1.25rem !important}
.booking-embed #asContainer_1 .pjAsHeadTitle,.booking-embed #asContainer_1 .pjAsAsideTitle,.booking-embed #asContainer_1 .pjAsSectionTitle{font-size:1.25rem !important;font-weight:800 !important;margin:0 !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .list-group-item{background:#ffffff !important;border:0 !important;border-bottom:2px solid #dddddd !important;border-radius:0 !important}
.booking-embed #asContainer_1 .list-group-item:last-child{border-bottom:0 !important}
.booking-embed #asContainer_1 .alert{margin:0 !important;color:#1c1c1c !important}

/* buttons — the same pill the site's own .btn is */
.booking-embed #asContainer_1 .btn,.booking-embed #asContainer_1 .pjAsBtn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:.5rem !important;min-height:48px !important;padding:.65rem 1.4rem !important;border-radius:999px !important;border:2px solid #1c1c1c !important;background:transparent !important;color:#1c1c1c !important;font-family:inherit !important;font-weight:800 !important;font-size:1rem !important;line-height:1.2 !important;text-transform:none !important;text-decoration:none !important;box-shadow:none !important;text-shadow:none !important;cursor:pointer !important;transition:transform .2s ease,background .2s ease !important}
.booking-embed #asContainer_1 .btn:hover,.booking-embed #asContainer_1 .pjAsBtn:hover{transform:translateY(-2px) !important;background:#f6f6f4 !important}
.booking-embed #asContainer_1 .pjAsBtnPrimary,.booking-embed #asContainer_1 .btn-primary{background:#E8B4B8 !important;border-color:#E8B4B8 !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .pjAsBtnPrimary:hover,.booking-embed #asContainer_1 .btn-primary:hover{background:#eec7ca !important;border-color:#eec7ca !important}
.booking-embed #asContainer_1 .btn-link,.booking-embed #asContainer_1 .pjAsBtnBack{border-color:transparent !important;color:#a27e81 !important;text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px !important;min-height:44px !important}
.booking-embed #asContainer_1 .nav-pills>li>a{background:transparent !important;border-color:#1c1c1c !important;color:#1c1c1c !important;text-transform:none !important;font-size:1rem !important;line-height:1.2 !important;padding:.65rem 1.4rem !important}
.booking-embed #asContainer_1 .nav-pills>li.active>a,.booking-embed #asContainer_1 .nav-pills>li.active>a:hover{background:#1c1c1c !important;border-color:#1c1c1c !important;color:#ffffff !important}
.booking-embed #asContainer_1 .nav-pills{display:flex !important;flex-wrap:wrap !important;gap:.5rem !important;margin:0 !important;padding:0 !important;list-style:none !important}
.booking-embed #asContainer_1 .nav-pills>li{float:none !important;margin:0 !important}
.booking-embed #asContainer_1 .close{position:static !important;float:none !important;opacity:1 !important;color:#1c1c1c !important;text-shadow:none !important;background:transparent !important;border:0 !important;font-size:1.6rem !important;min-width:44px !important;min-height:44px !important}

/* the calendar — the vendor paints the <p> inside each day cell, so that is what is repainted */
.booking-embed #asContainer_1 .pj-calendar,.booking-embed #asContainer_1 .pj-calendar-body,.booking-embed #asContainer_1 .pj-calendar-day{border:0 !important;background:transparent !important;background-image:none !important}
.booking-embed #asContainer_1 .pj-calendar-ym{font-family:inherit !important;font-weight:800 !important;color:#1c1c1c !important;left:60px !important;right:60px !important;width:auto !important}
.booking-embed #asContainer_1 .pj-calendar-actions .btn{min-height:44px !important;min-width:44px !important;padding:.4rem .8rem !important;background:#ffffff !important;border-color:#dddddd !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .pj-calendar-actions .glyphicon,.booking-embed #asContainer_1 .pj-calendar-actions .btn{color:#1c1c1c !important}
.booking-embed #asContainer_1 .pj-calendar-day-header p{color:#4a4a4a !important;font-weight:800 !important;font-size:.9rem !important;background:transparent !important}
.booking-embed #asContainer_1 .pj-calendar-day,.booking-embed #asContainer_1 .pj-calendar-day p{border:0 !important;border-radius:.5rem !important}
.booking-embed #asContainer_1 .pj-calendar-day p{margin:0 !important;background:transparent !important;color:#8a8a8a !important}
.booking-embed #asContainer_1 .pj-calendar-day-past p,.booking-embed #asContainer_1 .pj-calendar-day-inactive p,
.booking-embed #asContainer_1 .pj-calendar-day-past p:hover,.booking-embed #asContainer_1 .pj-calendar-day-inactive p:hover,
.booking-embed #asContainer_1 .pj-calendar-day-disabled p{background:transparent !important;color:#8a8a8a !important;cursor:not-allowed !important}
.booking-embed #asContainer_1 .pjAsCalendarDate p{background:#e8edea !important;color:#1c1c1c !important;font-weight:800 !important;cursor:pointer !important}
.booking-embed #asContainer_1 .pjAsCalendarDate p:hover{background:#8AA394 !important}
.booking-embed #asContainer_1 .pj-calendar-day-selected p,.booking-embed #asContainer_1 .pj-calendar-day-selected p:hover{background:#E8B4B8 !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .pjAsSelectedDate,.booking-embed #asContainer_1 .pjAsSelectedDate strong,.booking-embed #asContainer_1 .pjAsSelectedDateWrapper strong{color:#a27e81 !important;font-weight:800 !important}

/* services */
.booking-embed #asContainer_1 .pjAsService .img-responsive,.booking-embed #asContainer_1 .pjAsListElement .img-responsive{border-radius:.5rem !important}
.booking-embed #asContainer_1 .pjAsListElementTitle,.booking-embed #asContainer_1 .pjAsService h3,.booking-embed #asContainer_1 .pjAsService h4{font-size:1.2rem !important;font-weight:800 !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 dl{margin:.25rem 0 .75rem !important}
.booking-embed #asContainer_1 dt{color:#4a4a4a !important;font-weight:600 !important}
.booking-embed #asContainer_1 dd{color:#1c1c1c !important;font-weight:800 !important}
/* The vendor's grey gear-wheel stands in for a service photograph when none is uploaded. We upload none, so the
   placeholder never shows, and the words take the whole row. */
.booking-embed #asContainer_1 .pjAsService [class*="col-"]:has(>a>img[src$="/service.gif"]){display:none !important}
.booking-embed #asContainer_1 .pjAsService .row>[class*="col-"]:has(>h2){width:100% !important}

/* times */
.booking-embed #asContainer_1 .pjAsTableTimes{width:100% !important;border-collapse:separate !important;border-spacing:.4rem !important}
.booking-embed #asContainer_1 .pjAsTime{border:0 !important;padding:0 !important;background:transparent !important}
.booking-embed #asContainer_1 .pjAsTableTimes .pjAsTime a,.booking-embed #asContainer_1 .asSlotBlock{display:block !important;text-align:center !important;min-height:44px !important;line-height:40px !important;padding:0 .5rem !important;border:2px solid #dddddd !important;border-radius:999px !important;background:#ffffff !important;color:#1c1c1c !important;font-weight:800 !important;text-decoration:none !important}
.booking-embed #asContainer_1 .pjAsTableTimes .pjAsTimeAvailable a:hover{background:#e8edea !important;border-color:#687a6f !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .pjAsTableTimes .pjAsTimeSelected a{background:#E8B4B8 !important;border-color:#E8B4B8 !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .pjAsTableTimes .pjAsTimeUnavailable a,.booking-embed #asContainer_1 .pjAsTableTimes .pjAsTimeBooked a{background:transparent !important;border-color:#dddddd !important;color:#8a8a8a !important}
.booking-embed #asContainer_1 .well{background:#f6f6f4 !important;border:2px solid #dddddd !important;border-radius:.75rem !important;box-shadow:none !important}

/* the booking form */
.booking-embed #asContainer_1 .form-control{min-height:48px !important;border:2px solid #dddddd !important;border-radius:.5rem !important;background:#ffffff !important;color:#1c1c1c !important;box-shadow:none !important;font-size:1rem !important}
.booking-embed #asContainer_1 textarea.form-control{min-height:7rem !important}
.booking-embed #asContainer_1 .form-control:focus{border-color:#a27e81 !important;outline:3px solid #fcf4f4 !important;box-shadow:none !important}
.booking-embed #asContainer_1 .control-label{color:#1c1c1c !important;font-weight:800 !important}
.booking-embed #asContainer_1 .asterisk{color:#a27e81 !important}
.booking-embed #asContainer_1 .has-error .form-control,.booking-embed #asContainer_1 .help-block,.booking-embed #asContainer_1 .with-errors{color:#a27e81 !important}
.booking-embed #asContainer_1 .has-error .form-control{border-color:#a27e81 !important}
.booking-embed #asContainer_1 .pjAsSectionTotal,.booking-embed #asContainer_1 .pjAsSectionPrice{font-size:1.1rem !important;margin:.25rem 0 !important}
.booking-embed #asContainer_1 .alert-success,.booking-embed #asContainer_1 .alert-info{background:#e8edea !important;border:2px solid #8AA394 !important;border-radius:.75rem !important;color:#1c1c1c !important}
.booking-embed #asContainer_1 .alert-danger,.booking-embed #asContainer_1 .alert-warning{background:#fcf4f4 !important;border:2px solid #E8B4B8 !important;border-radius:.75rem !important;color:#1c1c1c !important}

/* narrow screens: the vendor's columns stack; give the calendar and the times room to breathe */
@media (max-width:640px){
  .booking-embed #asContainer_1 .panel-body{padding:1rem !important}
  .booking-embed #asContainer_1 .pjAsTableTimes{border-spacing:.3rem !important}
  .booking-embed #asContainer_1 .btn,.booking-embed #asContainer_1 .pjAsBtn{width:100% !important}
  .booking-embed #asContainer_1 .nav-pills .pjAsBtn{width:auto !important}
  .booking-embed #asContainer_1 .pj-calendar-actions .btn{width:auto !important}
}

/* prices hidden — every place the widget prints one */
.booking-embed--no-prices #asContainer_1 .pjAsServiceMeta>li:first-child,
.booking-embed--no-prices #asContainer_1 .clearfix:has(>.pjAsSectionPrice),
.booking-embed--no-prices #asContainer_1 .pjAsChosenServiceActions>p:first-child,
.booking-embed--no-prices #asContainer_1 .pjAsChosenService:first-child .col-lg-5{display:none !important}
/* ── END HER BOOKING CALENDAR — GIVEN, FIXED, COLOURS ONLY ── */
