/* ===== DESIGN TOKENS: colours, gradient (--gg) and fonts - change the whole theme here ===== */
:root{--deep:#3d0a2e;--wine:#8e1250;--ruby:#d81b60;--gold:#ff9fb8;--gold2:#ffe1d1;--gold3:#d81b60;--ivory:#fff9f6;--sand:#ffeae2;--ink:#2b1220;--muted:#7a5a66;
--gg:linear-gradient(135deg,#d81b60 0%,#ff5a4f 55%,#ff9a3c 100%);--serif:'Playfair Display',Georgia,serif;--sans:'Lato',system-ui,Arial,sans-serif;--script:'Great Vibes',cursive}
/* ===== RESET + BASE TYPOGRAPHY ===== */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 1rem/1.7 var(--sans);color:var(--ink);background:var(--ivory)}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);letter-spacing:0;line-height:1.2;margin:0 0 .6em;font-weight:600}
/* ===== LAYOUT: .wrap = centred container, .sec = section spacing (.dark / .sand = coloured backgrounds), .head = section heading ===== */
.wrap{width:min(1180px,92%);margin:auto}.sec{padding:clamp(56px,8vw,104px) 0}
.sec.dark{background:radial-gradient(120% 140% at 20% 0,var(--wine),var(--deep));color:var(--ivory)}.sec.sand{background:var(--sand)}
.head{max-width:640px;margin:0 auto 48px;text-align:center}.head h2{font-size:clamp(2rem,4vw,3rem)}
.head::after{content:"";display:block;width:84px;height:2px;margin:18px auto 0;background:var(--gg)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* ===== BUTTONS: .btn (gloss gradient), .ghost, .line (outlined) ===== */
.btn{position:relative;overflow:hidden;display:inline-block;padding:.85em 2em;border-radius:999px;font:500 .95rem var(--sans);letter-spacing:.04em;border:0;cursor:pointer;color:#fff;background:var(--gg);box-shadow:inset 0 1px 0 #fff6,0 8px 22px -8px #d81b60cc}
.btn::after{content:"";position:absolute;inset:0 auto 0 -80%;width:50%;background:linear-gradient(100deg,transparent,#fff8,transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover::after{left:130%}
.btn.ghost{background:#ffffff14;color:#fff;box-shadow:inset 0 0 0 1px #ffe1d199;backdrop-filter:blur(6px)}
.btn.line{background:none;color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}
.top{background:var(--deep);color:var(--gold2);font-size:.85rem}.top .wrap{display:flex;justify-content:flex-end;gap:28px;padding:7px 0;flex-wrap:wrap}
/* ===== MENU BAR: sticky header, links, Package dropdown (.sub), mobile burger ===== */
.nav{position:sticky;top:0;z-index:50;background:#fff9f6ea;backdrop-filter:blur(14px);border-bottom:1px solid #ff9fb866}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}.nav img{height:54px;width:auto}
.menu{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
.menu>li{position:relative}.menu>li>a,.menu>li>span{display:block;padding:.6em 1em;font-weight:500;cursor:pointer;border-radius:99px}
.menu>li>a:hover,.menu>li>span:hover{color:var(--ruby)}
.sub{position:absolute;top:100%;left:0;min-width:210px;background:#ffffff;border:1px solid #ff9fb888;border-radius:14px;padding:8px;box-shadow:0 24px 50px -20px #3d0a2e99;list-style:none;margin:0;display:none}
.sub a{display:block;padding:.5em .9em;border-radius:8px;text-transform:capitalize}.sub a:hover{background:var(--sand)}
.menu li:hover>.sub,.menu li:focus-within>.sub{display:block}
.burger{display:none;background:none;border:1px solid var(--gold3);border-radius:8px;padding:8px 12px;font-size:1.2rem}
/* ===== HERO BANNER slideshow (.slide.on = visible slide) ===== */
.hero{position:relative;min-height:clamp(300px,36vw,420px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--deep)}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s}.hero .slide.on{opacity:1}.hero .slide img{width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,#3d0a2e66)}
.hero .in{position:relative;z-index:2;padding:0 0 clamp(80px,8vw,96px);max-width:760px}
.hero h1{font-size:clamp(1.7rem,3.6vw,2.9rem);font-weight:600;text-shadow:0 2px 24px #0008}.hero h1 *{font:inherit;margin:0}
.hero p{font-size:1.05rem;max-width:520px;color:#ffe1d1f0}.hero .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
/* ===== QUICK CONTACT BAR under the banner ===== */
.float{position:relative;z-index:5;margin:-56px auto 0;width:min(980px,92%);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:22px;overflow:hidden;background:#ff9fb888;box-shadow:0 30px 60px -30px #3d0a2eaa}
.float a{display:flex;gap:14px;align-items:center;padding:20px 24px;background:linear-gradient(180deg,#ffffff,#fff1ec)}.float img{width:34px}.float small{display:block;color:var(--muted);line-height:1.2}.float b{font-weight:500;overflow-wrap:anywhere}
/* ===== OCCASIONS photo grid ===== */
.occ{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.occ figure{margin:0;position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 20px 40px -24px #3d0a2eaa}
.occ img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.occ figure:hover img{transform:scale(1.06)}
.occ figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#3d0a2edd),linear-gradient(115deg,#fff3 0,transparent 30%);border-radius:inherit;box-shadow:inset 0 0 0 1px #ffe1d166}
.occ figcaption{position:absolute;left:20px;bottom:14px;z-index:2;color:#fff;font:600 1.6rem var(--serif)}
.dest{text-align:center}.dest h2{font-size:clamp(2rem,4vw,3rem);color:var(--gold2)}
/* ===== ABOUT section + arch photo frame ===== */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center}
.about h2{font-size:clamp(2rem,3.6vw,2.8rem)}.about h3{font:500 1.15rem var(--serif);color:var(--ruby)}
.frame{position:relative;border-radius:200px 200px 22px 22px;padding:10px;background:var(--gg);box-shadow:0 30px 60px -30px #3d0a2eaa}
.frame .slide{position:absolute;inset:10px;opacity:0;transition:opacity 1.2s;border-radius:190px 190px 14px 14px;overflow:hidden}.frame .slide.on{opacity:1}
.frame::before{content:"";display:block;aspect-ratio:3/4}.frame img{width:100%;height:100%;object-fit:cover}
/* ===== SWIPEABLE STRIPS (reviews, blogs) + FACILITY boxes (.fac) + arrow buttons ===== */
.strip{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 26px;scrollbar-width:thin;scrollbar-color:var(--gold3) transparent}
.strip>*{flex:0 0 min(320px,80%);scroll-snap-align:start}
.fac{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4}.fac img{width:100%;height:100%;object-fit:cover}
.fac span{position:absolute;inset:auto 0 0;padding:44px 18px 16px;background:linear-gradient(transparent,#3d0a2eee);color:#fff;font:600 1.4rem var(--serif)}
.arrows{display:flex;justify-content:center;gap:10px}.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold3);background:#fff8;color:var(--wine);font-size:1.2rem;cursor:pointer}.arrows button:hover{background:var(--gg)}
/* ===== WHY CHOOSE US cards (.card) ===== */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:linear-gradient(160deg,#ffffff,#ffeee8);border:1px solid #ff9fb877;border-radius:20px;padding:32px 28px;box-shadow:inset 0 1px 0 #fff,0 22px 40px -30px #3d0a2eaa}
.card .ic{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--sand);box-shadow:inset 0 0 0 1px var(--gold)}.card .ic img{width:30px}
.card h4{font-size:1.4rem;margin:18px 0 8px}.card p{margin:0;color:var(--muted)}
/* ===== REVIEWS block (.tst = review card) ===== */
.rev{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,64px);align-items:center}.rev>img{border-radius:22px;box-shadow:0 0 0 8px #ffffff10,0 30px 60px -30px #000}
.tst{background:#ffffff0f;border:1px solid #ffe1d155;border-radius:20px;padding:30px;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 #fff3;flex-basis:100%!important}
.tst img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--gold)}.tst h3{margin:12px 0 4px;color:var(--gold2)}/* ===== OVERRIDES: star colour, berry menu bar, dropdown colours ===== */
.stars{color:var(--gold);letter-spacing:3px}.stars i{font-style:normal;color:#ffffff40}
.rev .acts{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap}
/* ===== BLOG cards ===== */
.blog{background:#ffffff;border:1px solid #ff9fb866;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 22px 40px -30px #3d0a2eaa}
.blog img{aspect-ratio:16/10;object-fit:cover;width:100%}.blog div{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}.blog h5{font:600 1.35rem var(--serif);margin:0}.blog small{color:var(--muted)}.blog p{margin:0;font-size:.95rem}.blog .btn{align-self:flex-start;margin-top:auto}
/* ===== FOOTER + FORM FIELDS (.f) + ENQUIRY POPUP (dialog) ===== */
footer{background:var(--deep);color:#ffd9cc;padding:64px 0 0}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
footer h2,footer h6{font:600 1.7rem var(--serif);color:var(--gold2);margin:0 0 14px}footer ul{list-style:none;margin:0;padding:0}footer li{margin:.3em 0}footer a:hover{color:var(--gold)}
.plate{display:inline-block;background:var(--ivory);border-radius:14px;padding:8px 16px;margin-bottom:16px}.plate img{height:52px}
form .f{display:block;width:100%;margin:0 0 12px;padding:13px 16px;border-radius:12px;border:1px solid #ff9fb888;background:#ffffff12;color:inherit;font:inherit}
form .f::placeholder{color:#ffd9ccaa}.copy{margin-top:48px;border-top:1px solid #ff9fb844;padding:16px 0;font-size:.85rem;color:#e0a4b8}
dialog{border:1px solid var(--gold);border-radius:22px;padding:30px;width:min(480px,92%);background:linear-gradient(160deg,#5a0f3d,var(--deep));color:#fff;box-shadow:0 40px 80px #000a}dialog::backdrop{background:#22041acc;backdrop-filter:blur(4px)}
dialog h4{color:var(--gold2);font-size:1.8rem;margin:0}dialog .row{display:flex;gap:10px;margin-top:6px}
/* ===== RESPONSIVE: tablet (<=900px) and mobile (<=600px) + reduced-motion ===== */
@media(max-width:900px){.burger{display:block}.menu{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--deep);padding:12px 4%;border-bottom:1px solid var(--gold)}.menu.open{display:flex}.sub{position:static;box-shadow:none;border:0}
.occ,.why{grid-template-columns:1fr 1fr}.about,.rev,.fgrid{grid-template-columns:1fr}.frame{max-width:380px;margin:auto}}
@media(max-width:600px){.occ,.why,.float{grid-template-columns:1fr}.top .wrap{justify-content:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* ===== DESTINATION EVENT boxes (.ev) and the "Plan your event" tile (.go) ===== */
.ev{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;text-align:left}
.ev figure{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1;box-shadow:0 20px 40px -24px #000}
.ev img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.ev figure:hover img{transform:scale(1.06)}
.ev figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#3d0a2eee),linear-gradient(115deg,#fff3 0,transparent 30%);box-shadow:inset 0 0 0 1px #ffe1d155;border-radius:inherit}
.ev figcaption{position:absolute;left:18px;right:12px;bottom:14px;z-index:2;font:600 1.25rem var(--serif)}
.ev .go{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-radius:18px;background:var(--gg);color:#fff;text-align:center;padding:20px;box-shadow:inset 0 1px 0 #fff9}
.ev .go b{font:600 1.4rem var(--serif)}.ev .go .btn{background:#fff;color:var(--wine);box-shadow:none}
/* ===== LOCATION rows: address card left, Google Map (iframe) right ===== */
.locrow{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;margin-bottom:24px;align-items:stretch}
.locrow .card{display:flex;flex-direction:column;justify-content:center;gap:10px}.locrow h4{font-size:1.5rem;margin:0}.locrow h4 a{color:var(--wine)}.locrow p{margin:0;color:var(--muted)}.locrow .btn{align-self:flex-start;margin-top:8px}
.locrow iframe{width:100%;height:100%;min-height:260px;border:0;border-radius:20px;box-shadow:0 22px 40px -30px #3d0a2eaa,0 0 0 1px #ff9fb888}
@media(max-width:900px){.ev{grid-template-columns:1fr 1fr}.locrow{grid-template-columns:1fr}}

.stars{color:#ffc857}
.nav{background:linear-gradient(100deg,var(--deep),var(--wine) 55%,#d81b60);border-bottom:0;box-shadow:0 12px 30px -14px #3d0a2ecc;color:#fff;backdrop-filter:none}
.nav .wrap{height:84px}.nav .logo{background:#fff;border-radius:14px;padding:6px 14px;box-shadow:0 6px 18px -8px #000a,inset 0 -2px 0 #ffeae2}.nav img{height:52px}
.menu>li>a,.menu>li>span{color:#fff;font-size:1.02rem;letter-spacing:.02em;padding:.65em 1.05em;transition:background .25s}
.menu>li>a:hover,.menu>li>span:hover,.menu>li:focus-within>span{color:#fff;background:#ffffff26}
.menu>li>a.btn{color:var(--wine);margin-left:8px;padding:.7em 1.6em;background:#fff;color:var(--wine);box-shadow:0 8px 20px -8px #000a}
.sub{color:var(--ink);top:calc(100% - 4px);border-radius:16px}.sub a{color:var(--ink)}.sub a:hover{background:var(--sand);color:var(--ruby)}
.burger{color:#fff;border-color:#ffffff88}
.facs{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.facs .fac{flex:0 0 calc(25% - 15px)}
@media(max-width:900px){.facs .fac{flex-basis:calc(33.33% - 14px)}.menu>li>a.btn{margin:8px 0 0;text-align:center}}
@media(max-width:600px){.facs .fac{flex-basis:calc(50% - 10px)}}

/* ===== SCREEN-READER-ONLY text (hidden visually, kept for SEO/accessibility) ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* light watercolor floral background behind text sections */
/* ===== LIGHT WATERCOLOR FLORAL BACKGROUND behind text sections ===== */
body{background:var(--ivory) url(../images/bg.jpg) left bottom/cover fixed}
.sec:not(.dark){background:linear-gradient(#fffffff0,#fffffff0 ) ,url(../images/bg.jpg) left bottom/cover}
.sec:not(.dark){background:url(../images/bg.jpg) left bottom/cover,#fff9f6}
.sec.sand{background:linear-gradient(#ffeae2b3,#ffeae2b3),url(../images/bg.jpg) right top/cover,#ffeae2}
.card,.blog{background:linear-gradient(160deg,#ffffffee,#fff1ecdd);backdrop-filter:blur(6px)}
/* multicolor highlighted headings */
/* ===== MULTICOLOUR HIGHLIGHTED HEADINGS (gradient text + highlight strip) ===== */
.head h2,.dest h2{display:inline-block;position:relative;isolation:isolate;padding:0 .15em;font-weight:700;background:linear-gradient(90deg,#d81b60,#ff5a4f 40%,#ff9a3c 70%,#8e1250);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.head h2::after,.dest h2::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:.08em;height:.42em;border-radius:6px;background:linear-gradient(90deg,#ff9fb833,#ffd08a66,#ff9fb833)}
.sec.dark .head h2,.dest h2{background-image:linear-gradient(90deg,#ffe1d1,#ffb020 45%,#ff8fb1 80%,#ffe1d1)}
.sec.dark .head h2::after,.dest h2::after{background:linear-gradient(90deg,#ffffff14,#ffb02033,#ffffff14)}
.head,.dest{text-align:center}

/* ===== ICONS: inline SVG (.i), round badges (.hi headings, .fi contact bar), icon spacing ===== */
.i{width:1.1em;height:1.1em;flex:none;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn{font:700 .9rem var(--sans);letter-spacing:.06em;display:inline-flex;align-items:center;gap:.55em;text-transform:none}
.about h3{font:400 2.1rem/1.2 var(--script);color:var(--ruby)}.about h3 .i{width:.8em;height:.8em}
.hi{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;color:#fff;background:var(--gg);box-shadow:inset 0 1px 0 #fff7,0 12px 24px -10px #d81b60}.hi .i{width:26px;height:26px}
.menu>li>a,.menu>li>span{font:700 .92rem var(--sans);letter-spacing:.05em;display:flex;align-items:center;gap:7px}.menu .i{width:1.05em;height:1.05em}.menu>li>a.btn{letter-spacing:.05em}
.fi{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;color:#fff;background:var(--gg);box-shadow:inset 0 1px 0 #fff7}.fi .i{width:22px;height:22px}
.occ figcaption,.ev figcaption,.fac span{display:flex;align-items:center;gap:10px}.occ figcaption .i,.ev figcaption .i,.fac span .i{width:1.05em;height:1.05em;color:#ffb98a}
.card h4 .i,.blog small .i{color:var(--ruby)}.blog small{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.tst{position:relative}.tst .q{position:absolute;top:18px;right:22px;color:#ff9fb8;opacity:.45}.tst .q .i{width:44px;height:44px}
footer h6,footer h2,dialog h4{display:flex;align-items:center;gap:10px}footer h6 .i,footer h2 .i,dialog h4 .i{color:#ff9a3c}
.fc li{display:flex;gap:10px;align-items:flex-start;margin:.55em 0}.fc .i{margin-top:.25em;color:#ff9a3c}
footer ul:not(.fc) li a{display:inline-flex;align-items:center;gap:6px}footer ul:not(.fc) .i{width:.9em;height:.9em;color:#ff9a3c}
.locrow h4{display:flex;align-items:center;gap:8px}
/* tighter section spacing */
/* ===== TIGHTER SECTION SPACING (final override - edit values here to change gaps) ===== */
.sec{padding:clamp(30px,4vw,52px) 0}
.head{margin-bottom:26px}.head::after{margin-top:12px}
.hi{margin-bottom:10px}
.ev{margin-top:26px}.locrow{margin-bottom:18px}.locrow:last-child{margin-bottom:0}
.strip{padding-bottom:12px}
footer{padding-top:40px}.copy{margin-top:30px}

/* ===== INNER PAGE: banquet detail (banner, prose, gallery, price tables, lightbox) ===== */
.page-banner{height:clamp(200px,30vw,360px);overflow:hidden;background:var(--deep)}.page-banner img{width:100%;height:100%;object-fit:cover}
.head h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 .6em}
.head h1{display:inline-block;position:relative;isolation:isolate;padding:0 .15em;font-weight:700;background:linear-gradient(90deg,#d81b60,#ff5a4f 40%,#ff9a3c 70%,#8e1250);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.head h1::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:.08em;height:.42em;border-radius:6px;background:linear-gradient(90deg,#ff9fb833,#ffd08a66,#ff9fb833)}
.prose{overflow-wrap:anywhere}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}
.prose.card{padding:clamp(20px,3vw,40px)}
.prose h2,.prose h3,.prose h4{color:var(--wine);margin:1.2em 0 .5em}.prose p,.prose li{color:var(--ink)}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.3em 0}
.prose a{color:var(--ruby);text-decoration:underline}.prose img{max-width:100%;height:auto;border-radius:14px}
.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid #ff9fb866;padding:.6em .8em}
.prose:not(.card){margin-top:24px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gal a{display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 18px 34px -22px #3d0a2e;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gal a:hover img{transform:scale(1.07)}
.gal a::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ff9fb855;background:linear-gradient(115deg,#fff3,transparent 30%)}
.lb{border:0;background:transparent;padding:0;max-width:96vw;max-height:94vh;overflow:visible;box-shadow:none;width:auto;color:#fff}
.lb::backdrop{background:#22041af2}
.lb img{max-width:92vw;max-height:88vh;border-radius:14px;box-shadow:0 30px 80px #000}
.lb button{position:fixed;background:#ffffff26;color:#fff;border:1px solid #ffffff55;border-radius:50%;width:48px;height:48px;font-size:1.5rem;cursor:pointer;backdrop-filter:blur(6px)}
.lb button:hover{background:var(--gg)}.lb-x{top:18px;right:18px}.lb-n{top:50%;transform:translateY(-50%)}.lb-n.prev{left:14px}.lb-n.next{right:14px}
@media(max-width:900px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.gal{grid-template-columns:repeat(2,1fr)}}

/* ===== INNER PAGES: text banner (blog/contact/privacy/terms), blog grid, service intro, contact cards ===== */
.page-banner.txt{position:relative}
.page-banner.txt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#3d0a2e4d,#22041ae6)}
.page-banner .ttl{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;color:#fff;padding:0 5%}
.page-banner .ttl h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:0}
.page-banner .ttl .bar{width:84px;height:3px;margin:14px auto 0;background:var(--gg);border-radius:3px}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

/* service intro (Florist / Makeover / Photography) */
.svc-lede{max-width:640px;margin:0 auto 8px;text-align:center;font:500 1.2rem var(--serif);font-style:italic;color:var(--ruby)}
.svc-body{max-width:820px;margin:0 auto;color:var(--muted)}.svc-body p{margin:0 0 1em}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.feat .card{text-align:center;padding:26px 20px}.feat .card .hi{width:50px;height:50px}.feat .card .hi .i{width:22px;height:22px}
.feat .card h6{font:600 1.1rem var(--serif);margin:0 0 6px;color:var(--wine)}.feat .card p{margin:0;color:var(--muted);font-size:.92rem}
@media(max-width:900px){.feat{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feat{grid-template-columns:1fr}}

/* contact page: quick-contact cards above the form */
.cinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:44px}
.cinfo .card{text-align:center}.cinfo .card .fi{margin:0 auto 12px}.cinfo .card h4{font-size:1.15rem;margin:0 0 4px}.cinfo .card p{margin:0}.cinfo .card a{color:var(--muted)}
.form-card{max-width:640px;margin:0 auto;padding:clamp(24px,4vw,40px)}
.form-card .head{margin-bottom:20px}
/* placeholders on the light form cards (Submit Review etc.) - the footer form keeps its own light placeholder on the dark background */
.form-card form .f::placeholder{color:#8a6577;opacity:1}
.form-card form .f::-webkit-input-placeholder{color:#8a6577;opacity:1}
.form-card form .f:focus::placeholder{color:#b69aa8}
@media(max-width:900px){.cinfo{grid-template-columns:1fr}}

/* sweetalert2 popup restyled to match the theme */
.swal2-popup{border-radius:20px!important;font-family:var(--sans)!important}
.swal2-title{font-family:var(--serif)!important;color:var(--wine)!important}
.swal2-styled.swal2-confirm{background:var(--gg)!important;border-radius:999px!important;box-shadow:inset 0 1px 0 #fff9,0 8px 22px -8px #d81b60cc!important;font-weight:700!important}
.swal2-icon.swal2-success [class^='swal2-success-line']{background-color:#25a969!important}
.swal2-icon.swal2-success .swal2-success-ring{border-color:#25a96955!important}

/* ===== SUBMIT REVIEW: star-rating picker (radio buttons styled as clickable stars) ===== */
.rate-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 18px}
.rate-label{display:flex;align-items:center;gap:6px;font:700 .9rem var(--sans);color:var(--wine)}.rate-label .i{color:#ff9a3c}
.stars-pick{display:flex;flex-direction:row-reverse;gap:4px}   /* row-reverse + the ~ sibling rule below lights this star and every star before it */
.stars-pick input{position:absolute;opacity:0;width:1px;height:1px}
.stars-pick label{cursor:pointer;color:#e3d5da;transition:color .15s,transform .15s}.stars-pick label .i{width:1.7rem;height:1.7rem;fill:currentColor;stroke:none}
.stars-pick label:hover,.stars-pick label:hover~label,.stars-pick input:checked~label{color:#ff9a3c}
.stars-pick label:hover{transform:scale(1.12)}

/* ===== TESTIMONIAL: full review list ===== */
.tlist{display:flex;flex-direction:column;gap:20px}
.trow{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:flex-start;background:linear-gradient(160deg,#ffffffee,#fff1ecdd);border:1px solid #ff9fb855;border-radius:20px;padding:22px;box-shadow:0 20px 40px -30px #3d0a2eaa}
.trow img{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--gold,#ff9fb8)}
.trow h3{margin:0 0 4px;font-size:1.25rem}.trow .stars{margin-bottom:6px}.trow .stars i{font-style:normal;color:#e3d5da}.trow p{margin:0;color:var(--muted)}
@media(max-width:600px){.trow{grid-template-columns:64px 1fr}.trow img{width:64px;height:64px}}
