:root{--garden:#294323;--paper:#f8f5ec;--gold:#a58c49}body:has(.garden-page){background:var(--paper);color:var(--garden)}.garden-page{max-width:1220px;margin:0 auto;padding:20px 28px 70px}.garden-hero{display:grid;grid-template-columns:1fr .86fr;gap:54px;align-items:end;padding:40px 0 48px;border-bottom:1px solid var(--gold)}.garden-kicker{font-size:13px;letter-spacing:.18em;font-weight:700;color:var(--gold)}.garden-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,75px);line-height:1.02;color:var(--garden);margin:20px 0}.garden-hero h1 em{font-size:.68em;font-weight:400;display:block;margin-bottom:8px}.garden-sub{font-size:18px;line-height:1.6}.garden-poster img{width:100%;height:auto;display:block;border:1px solid #c9c3ac;box-shadow:12px 12px 0 #e8e4d7}.garden-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0 0;padding:24px;border:1px solid #bfb794;background:#fffcf4}.garden-facts small{display:block;font-size:12px;color:#696e59;margin-bottom:7px}.garden-facts strong{font-size:17px}.garden-facts .wide{grid-column:1/-1}.garden-highlights{display:flex;justify-content:space-between;gap:18px;padding:24px 0;border-bottom:1px solid #bfb794;font-weight:700}.garden-booking{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:42px;align-items:start}.garden-page h2{color:var(--garden);font-size:32px}.garden-menu{padding:0;list-style:none;line-height:2.1;font-size:19px}.garden-menu li:before{content:'✓';color:var(--gold);margin-right:14px}.garden-price{background:var(--garden);color:var(--paper);padding:28px;margin:30px 0}.garden-price strong{font-size:48px}.garden-price del{color:#d5d3bf;margin-left:14px;font-size:21px}.garden-price small{display:block;margin-top:8px}.garden-page .booking-card{border:1px solid #bfb794;box-shadow:none;background:#fffcf6;padding:28px}.garden-page .pay-button{background:var(--garden);color:#fff}.garden-page .field input,.garden-page .field select{color:var(--garden)}.garden-note{font-size:14px;line-height:1.7;color:#646b58}.garden-confirm{max-width:800px;margin:auto;padding:30px}.garden-confirm .ticket{background:#fffdf6;border:1px solid #bfb794}.garden-confirm .qr img{max-width:210px}.garden-confirm .ticket-downloads{display:flex;gap:20px;flex-wrap:wrap}.garden-confirm .ticket-downloads a{background:var(--garden);color:white;padding:15px;text-decoration:none}.garden-page .section-number{color:var(--gold)}@media(max-width:760px){.garden-page{padding:12px 18px 40px}.garden-hero,.garden-booking{grid-template-columns:1fr;gap:28px}.garden-hero{padding-top:16px}.garden-poster{max-width:490px;margin:auto}.garden-highlights{display:grid;grid-template-columns:1fr 1fr;font-size:14px}.garden-facts{padding:18px}.garden-page .booking-card{padding:20px}.garden-confirm{padding:15px}.garden-confirm .ticket{display:block}.garden-confirm .qr{text-align:center}}

.garden-menu{padding:36px 0}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.menu-grid section{border-top:1px solid #b6ac86;padding-top:12px}.menu-grid h3{font-family:Georgia,serif;font-size:22px}.menu-grid ul{padding-left:20px;line-height:1.8}@media(max-width:760px){.menu-grid{grid-template-columns:1fr 1fr}}@media(max-width:450px){.menu-grid{grid-template-columns:1fr}}

.menu-grid ul{list-style:none;padding-left:0}.menu-grid li{padding-left:1.25em}

/* Double Dough policy and payment presentation. */
.garden-page.info-page{max-width:980px;padding:60px 28px 90px}
.garden-policy .info-card{padding:48px;border:1px solid #b7ac8c;background:#fffdf6;color:#384137}
.garden-policy .garden-kicker{color:#786337;font-size:13px;line-height:1.7;letter-spacing:.16em}
.garden-policy .info-context{font-size:17px;color:#646b58;margin-top:24px}
.garden-policy .info-card h1{font-family:var(--font-display);font-size:clamp(42px,5vw,72px);line-height:1.08;color:#294323;letter-spacing:-.025em;margin:22px 0 32px}
.garden-policy .info-card h1 span{font-size:26px;color:#294323;letter-spacing:.03em;margin-top:12px}
.garden-policy .info-card section{margin-top:32px;padding-top:28px;border-top:1px solid #c9c1a9}
.garden-policy .info-card h2{font-family:var(--font-display);font-size:28px;line-height:1.2;margin:0 0 18px;color:#294323}
.garden-policy .info-card h2 span{font-size:21px;color:#786337;margin-top:8px}
.garden-policy .info-card p{font-size:19px;line-height:1.75;margin-bottom:20px}
.garden-policy .info-card p span[lang=zh]{display:block;margin-top:10px;color:#646b58}
.garden-policy .info-card a{color:#294323;text-underline-offset:4px}
.garden-policy .policy-back{display:inline-block;margin-top:32px;padding-top:22px;border-top:1px solid #c9c1a9;font-size:17px}
.garden-checkout .status-card{background:#fffdf6;border-color:#b7ac8c;color:#294323}
.garden-checkout h1,.garden-checkout h1 em,.garden-checkout h1 span{color:#294323}
.garden-checkout .section-number{color:#786337}
.garden-confirm h2 span[lang=zh]{display:block;font-size:22px;margin-top:8px}
@media(max-width:600px){.garden-page.info-page{padding:30px 18px 48px}.garden-policy .info-card{padding:28px 22px}.garden-policy .info-card h1{font-size:42px;overflow-wrap:normal}.garden-policy .info-card h1 span{font-size:23px}.garden-policy .info-card p{font-size:17px}.garden-policy .info-card h2{font-size:26px}.garden-policy .info-card h2 span{font-size:20px}.garden-policy .garden-kicker{font-size:11px}.garden-policy .policy-back{font-size:15px}}

.garden-page .booking-card h2 span[lang="zh"]{color:var(--garden)}

/* Shared public palette, including confirmation, checkout and error pages. */
body:not(.backend-page){--ink:#294323;--accent:#294323;--description-blue:#646b58;--logo-green:#294323;--paper:#f8f5ec;background:#f8f5ec;color:#294323}
body:not(.backend-page) a{color:inherit}
body:not(.backend-page) .garden-confirm .ticket-downloads a{color:#fff}
body:not(.backend-page) .section-number{color:#786337}
body:not(.backend-page) .site-header,body:not(.backend-page) .site-footer{border-color:#b7ac8c}
body:not(.backend-page) .field>span,body:not(.backend-page) .required-label,body:not(.backend-page) .total>span{color:#646b58}
body:not(.backend-page) .flash.error,body:not(.backend-page) .promo-message.error{color:#9b3028}

.children-policy-card{display:grid;gap:7px;margin:0 0 28px;padding:22px;border:1px solid #b7ac8c;background:#fffdf6}
.children-policy-card .section-number{margin:0 0 5px}
.children-policy-card strong{font-size:17px}
.children-policy-card small{margin-top:5px;color:#646b58;line-height:1.6}
.guest-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 18px}
.guest-selectors .field{margin:0}
.guest-selectors .field>span{min-height:58px;font-size:14px;line-height:1.35;letter-spacing:.05em}
.guest-selectors .field small{display:block;margin-top:7px;color:#646b58;font-size:11px;line-height:1.35}
.garden-gallery{margin:76px 0 46px;padding-top:54px;border-top:1px solid #b7ac8c}
.gallery-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:end;margin-bottom:28px}
.gallery-heading .section-number{grid-column:1/-1;margin:0}
.gallery-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1.05}
.gallery-heading h2 span{display:block;margin-top:10px;font-family:var(--font-body);font-size:24px;font-weight:700}
.gallery-heading p{margin:0;color:#646b58;font-size:17px;line-height:1.65}
.gallery-grid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:12px}
.gallery-grid figure{margin:0;overflow:hidden;background:#e7e1d2}
.gallery-grid .gallery-wide{grid-column:span 2}
.gallery-grid .gallery-tall{grid-row:span 2}
.gallery-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
@media(max-width:760px){.guest-selectors{grid-template-columns:1fr 1fr}.guest-selectors .field:first-child{grid-column:1/-1}.gallery-heading{grid-template-columns:1fr}.gallery-heading .section-number{grid-column:auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.gallery-grid .gallery-wide{grid-column:span 2}.garden-gallery{margin-top:50px;padding-top:38px}}
@media(max-width:430px){.guest-selectors{grid-template-columns:1fr}.guest-selectors .field:first-child{grid-column:auto}.gallery-grid{grid-auto-rows:150px;gap:8px}.gallery-grid .gallery-tall{grid-row:span 2}}
