/* WordPress glue on top of the concept stylesheet. Keep concept styles in site.css. */

/* Pages without a photo hero get the solid header and room beneath it. */
.aa-solid .site-head{background:var(--green)}
.aa-solid .site-main{padding-top:84px}
@media (max-width:1023px){.aa-solid .site-main{padding-top:74px}}

/* Logged-in admin bar sits above the fixed header. */
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:46px}}

/* Content area for plain pages until each template is built. */
.aa-solid .site-main > .page-header,
.aa-solid .site-main > .page-content{max-width:1440px;margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}

/* Room for the mobile bottom bar so it never covers content. */
@media (max-width:1023px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

/* Service filters are links, styled like the concept's tag pills. */
.tagrow a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--cream);border:1.5px solid var(--sand);font-weight:700;font-size:13px;color:inherit;text-decoration:none}
.tagrow a:hover{border-color:var(--orange)}
.hours tr.today td{font-weight:800}

/* Darran's logo in place of the concept's drawn mark. */
.brand-logo{display:block;height:64px;width:auto;max-width:none}
.foot .brand-logo{height:96px}
.drawer-top .brand-logo{height:52px}
@media (max-width:1023px){.site-head .brand-logo{height:54px}}

/* Star ratings are orange, as in the concept (a general .rating span rule was greying them). */
.rating .stars,.rv-score .stars{color:var(--orange)}

/* Concept sections rebuilt as Elementor containers (class aa-el): Elementor's own spacing is switched off so
   the concept stylesheet lays them out exactly as before. */
html body .e-con.e-con.aa-el,html body .aa-el .e-con.e-con{--display:block;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:auto;--min-height:0px;--margin-block-start:0px;--margin-block-end:0px;--flex-direction:row;--flex-wrap:nowrap;--justify-content:normal;--align-items:normal;--align-content:normal;--container-widget-width:auto;--container-widget-flex-grow:0}
.aa-el .elementor-widget,.aa-el .elementor-widget:not(:last-child){margin:0;--kit-widget-spacing:0px;position:static}
.aa-el .elementor-widget-container{display:contents}
/* Pictures and decorations positioned by the concept CSS relate to the section, not to Elementor's wrapper. */
.aa-el .elementor-widget-html{position:static;z-index:auto}
.aa-el .elementor-widget-text-editor p:last-child{margin-bottom:revert}

/* If a tick list is edited in Elementor and its icons are lost, a plain tick still shows. */
.ticks li:not(:has(svg)){position:relative;padding-left:28px}
.ticks li:not(:has(svg))::before{content:"✓";position:absolute;left:0;top:0;color:var(--leaf);font-weight:900}

/* Accessibility: small text in the light green and orange is a touch darker so it passes the WCAG AA
   contrast test (4.5:1). Big headings and icons keep the original brand colours. */
:root{--leaf-text:#437635;--orange-text:#9E5814}
.field label,.fset-l,.door-tag,.open,.reply-time,.modal-tag,.newlist em,.step em,.rv em,.mega h4,.dn-panel h4,.dstat em.up,.p-won{color:var(--leaf-text)}
.door-biz .door-tag{color:#ECA157}
.dblock i,.ev-body .ev-cat,.wo-ev .ev-cat,.kick,.meet-body .when,.offer-end,.offer-mini,.side-biz small,.wo-count button,.wo-day h2 span,.ad-tile em,.p-new,.comp-h code,.dir-head code,.pg small{color:var(--orange-text)}
.ev-free,.wo-free,.hours tr.today td:first-child::after,.stepsbar li.done b,.thanks-ic{background:var(--leaf-text)}
.aa-skip{position:absolute;left:12px;top:-60px;z-index:10000;background:var(--green);color:#fff;font:800 15px/1 var(--head);padding:12px 16px;border-radius:10px}
.aa-skip:focus{top:12px}
#aa-content{display:block;height:0;outline:0}
.spot-stats b{color:var(--orange-text)}
.botm small{color:#ECA157}
.faces i[style*="--orange-deep"]{background:var(--orange-text)!important}
.faces i[style*="--leaf"]{background:var(--leaf-text)!important}

/* Optional email consent ticks added to forms by forms.js. */
.aa-tick{margin:2px 0 14px}

/* Business owners' pages (UsersWP and GeoDirectory forms inside the site's own page layout). */
.aa-member{max-width:560px}
.aa-member .card,.aa-member .uwp-login-class{border:1px solid var(--sand);border-radius:18px;background:#fff;box-shadow:none}
.aa-member .btn-primary{background:var(--orange);border-color:var(--orange);color:var(--ink);font-weight:800;border-radius:999px}
.aa-member a{color:var(--green)}
.aa-member-alt{margin-top:18px;font-size:15px}
.aa-reg-closed .aa-member a[href$="/register/"]{display:none}

/* Business owner's dashboard (inc/dashboard.php). */
.aa-dash{display:grid;gap:34px}
.aa-dash h2{font:800 clamp(1.35rem,2.2vw,1.7rem)/1.2 var(--head);color:var(--green);margin:0 0 14px}
.aa-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.aa-dash-stat{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:18px}
.aa-dash-stat b{display:block;font:800 30px/1 var(--head);color:var(--green);margin-bottom:6px}
.aa-dash-stat span{font-size:14px;color:var(--soft)}
.aa-dash-list{display:grid;gap:14px}
.aa-dash-biz{display:flex;gap:18px;background:#fff;border:1px solid var(--sand);border-radius:18px;padding:16px}
.aa-dash-thumb{width:110px;height:110px;border-radius:14px;overflow:hidden;flex:none;display:grid;place-items:center}
.aa-dash-thumb img{width:100%;height:100%;object-fit:cover}
.aa-dash-thumb .ini{width:100%;height:100%;display:grid;place-items:center;color:#fff;font:800 28px/1 var(--head);border-radius:14px}
.aa-dash-biz h3{font:800 20px/1.2 var(--head);margin:0 0 4px}
.aa-dash-meta,.aa-dash-type{color:var(--soft);font-size:14px}
.aa-dash-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.aa-tag{display:inline-block;font:800 12.5px/1 var(--head);padding:6px 9px;border-radius:7px;background:var(--cream-2);color:var(--green)}
.aa-tag-publish{background:rgba(78,138,62,.14);color:var(--leaf-text)}
.aa-tag-pending,.aa-tag-draft{background:#fdf0df;color:var(--orange-text)}
.aa-tag-ended{background:#eee;color:#555}
.aa-dash-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.aa-dash-actions .btn{padding:9px 16px;font-size:14px}
.aa-dash-empty,.aa-dash-account{background:#fff;border:1px solid var(--sand);border-radius:18px;padding:20px}
.aa-dash-note{color:var(--soft);margin:0 0 10px}
.aa-dash-table{background:#fff;border:1px solid var(--sand);border-radius:18px;overflow:hidden}
.aa-dash-row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px 18px;border-top:1px solid var(--sand)}
.aa-dash-row:first-child{border-top:0}
.aa-dash-row p{margin:6px 0 0}
.aa-dash-when{font:800 15px/1.2 var(--head);color:var(--green)}
.aa-dash-when span{display:block;font:400 13px/1.4 var(--body);color:var(--soft)}
.aa-dash-code b{color:var(--orange-text)}
.aa-dash-reviews{display:grid;gap:12px}
.aa-dash-reviews blockquote{margin:0;background:#fff;border:1px solid var(--sand);border-radius:16px;padding:16px 18px}
.aa-dash-reviews p{margin:0 0 6px}
.aa-dash-reviews footer{font-size:13.5px;color:var(--soft)}
.aa-dash-stars{color:var(--orange)!important;letter-spacing:2px}
.aa-dash-offers{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}
@media (max-width:760px){.aa-dash-stats{grid-template-columns:repeat(2,1fr)}.aa-dash-biz{flex-direction:column}.aa-dash-thumb{width:100%;height:160px}.aa-dash-row{grid-template-columns:1fr}}

/* Place pages without a photo yet: the "Photo to come" note would sit over the breadcrumb on phones. */
@media (max-width:760px){.page-hero>.ph-label{display:none}}

/* Footer phone and email under the blurb */
.foot .foot-contact{margin-top:14px;line-height:1.8}
.foot .foot-contact a{color:inherit;font-weight:700;text-decoration:none}
.foot .foot-contact a:hover{text-decoration:underline}

/* Directory: service chips are tick boxes (inc/directory.php) */
.svc{position:relative;cursor:pointer}
.svc input{position:absolute;opacity:0;width:1px;height:1px}
.svc input:checked+span{background:var(--green);border-color:var(--green);color:var(--cream)}
.svc input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.aa-near{font:inherit;font-weight:700;display:block;text-align:left}

/* Click-to-load maps (inc/maps.php) */
.aa-map{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--cream-2) radial-gradient(circle at 1px 1px,rgba(30,77,58,.16) 1px,transparent 0) 0 0/18px 18px}
.aa-map-btn{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:#fff;color:var(--green);border-radius:16px;padding:14px 22px;font:inherit;cursor:pointer;box-shadow:0 8px 22px rgba(20,53,40,.14)}
.aa-map-btn .ico{width:26px;height:26px;color:var(--orange)}
.aa-map-btn b{font:800 16px/1.2 var(--head)}
.aa-map-btn span{font-size:12.5px;color:var(--soft)}
.aa-map-btn:hover,.aa-map-btn:focus-visible{box-shadow:0 0 0 3px var(--orange),0 8px 22px rgba(20,53,40,.14)}
.aa-map-out{position:absolute;right:12px;bottom:10px;font-size:13px;font-weight:700;color:var(--green)}

/* Owner's listing editor and plans (inc/listing-editor.php, inc/dashboard.php) */
.aa-edit .dpanel{margin-bottom:22px}
.aa-edit .hgrid input[type=time]{min-height:44px}
.aa-note-ok{display:flex;gap:10px;align-items:flex-start;background:#eaf3e6;color:var(--green);border-radius:12px;padding:12px 14px;margin:0 0 18px;font-weight:600}
.aa-note-ok .ico{flex:none;width:20px;height:20px;margin-top:2px}
.aa-edit .aa-form-err{background:#fdecec;color:#8a1f1f;border-radius:10px;padding:10px 12px;margin:0 0 16px}
.aa-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0 0 16px}
.aa-photo{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--cream-2);cursor:pointer}
.aa-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.aa-photo span{display:flex;gap:6px;align-items:center;padding:8px 10px;font-size:13.5px;font-weight:700}
.aa-photo em{position:absolute;top:8px;left:8px;background:var(--orange);color:#fff;font:700 11.5px/1 var(--body);font-style:normal;padding:5px 8px;border-radius:999px}
.aa-photo:has(input:checked) img{opacity:.35}
.aa-dash-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:12px}
.aa-dash-plans .plan-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* Owner dashboard extras (inc/dashboard.php) */
.dash-wrap .dash-main > .aa-note-ok,.dash-wrap .aa-note-err{margin:0}
.aa-note-err{background:#fdecec;color:#8a1f1f;border-radius:12px;padding:12px 14px;font-weight:600}
.aa-dash-biz.is-cur{outline:2px solid var(--orange);outline-offset:2px}
.aa-new-offer{border:1.5px dashed var(--sand);border-radius:16px;padding:14px 16px;margin-top:16px}
.aa-new-offer summary{cursor:pointer;font:800 16px/1.3 var(--head);color:var(--green)}
.aa-new-offer form{margin-top:14px}
.dpanel .offers .offer .btn{align-self:center}
.aa-enq td small{color:var(--soft)}
.aa-enq form{margin:0}
.aa-enq-st{border:0;cursor:pointer;font:800 12px/1 var(--head);padding:6px 10px;appearance:auto}
.rv .stars .ico{width:15px;height:15px;color:var(--orange)}
/* Phones: the dashboard column fits the screen; wide tables scroll inside their panel. */
.dash-main{grid-template-columns:minmax(0,1fr);min-width:0}
.dash-main .dpanel{min-width:0}
@media (max-width:640px){.dash-biz{width:100%;flex-wrap:wrap}.dash-biz .btn{width:100%}.aa-dash-plans{grid-template-columns:minmax(0,1fr)}}

/* Lighthouse, 28 Oct: "Business of the month" in orange on green was 3.6:1; the lighter orange passes 4.5:1. */
.botm small{color:#F6C38E}
/* The homepage is long (about 3,000 elements): sections below the first two are laid out only as they near
   the screen, which cut its main-thread work on phones. The size is a placeholder so the scrollbar stays steady. */
.home main > section.sec ~ section.sec ~ section.sec{content-visibility:auto;contain-intrinsic-size:auto 800px}

/* Partners: the concept sets two plan columns inline, which squashed the cards on phones. One column there. */
@media (max-width:640px){.plans[style*="repeat(2"]{grid-template-columns:minmax(0,1fr)!important}}
/* Login box in the site's style: no UsersWP "Create account" (accounts come with List your business), no shouting button. */
.aa-member a[href*="register"],.aa-member .uwp-register-link{display:none!important}
.aa-member .card-title,.aa-member h1,.aa-member h2,.aa-member h3{font-family:var(--head);font-weight:800;color:var(--green)}
.aa-member .btn{text-transform:none!important;letter-spacing:0!important;font-family:var(--head)!important;font-size:16px!important;padding:12px 20px}
.aa-member .form-control{border-radius:12px;border-color:var(--sand);padding:12px 14px;height:auto}

/* No photo yet: the Around Hove mark on the sand panel instead of the concept's "Photo to come" label.
   The label stays for screen readers, hidden visually. */
.ph-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;inset:auto}
.ph:not(.town):not(.hero):not(:has(> .ph-img))::after{content:'';position:absolute;inset:0;background:url(around-hove-mark.svg) center/min(38%,110px) no-repeat;opacity:.22;pointer-events:none}
/* Partners' plan cards are Elementor containers, which default to a row: stack them like the concept's cards. */
.plan.e-con{flex-direction:column!important;--flex-direction:column;align-items:stretch}

/* Booked adverts (inc/ads.php): a banner fills the space; text adverts use the space's own style, solid not dashed. */
.aa-ad{display:contents}
.ad-slot.ad-live{background:#fff;border-style:solid;border-color:var(--sand,#e7dcc2)}
.ad-slot.ad-img{display:block;position:relative;padding:0;border:0;background:none;overflow:hidden}
.ad-slot.ad-img img{display:block;width:100%;height:auto;border-radius:18px}
.ad-slot.side-ad.ad-img{aspect-ratio:auto;min-height:0}
.ad-slot .ad-tag{display:block;margin:0;position:absolute;top:8px;left:8px;background:rgba(20,53,40,.82);color:#fff;font:800 10px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:6px}
.ad-slot .ad-line{display:block;color:var(--soft);font-size:14px;margin-top:4px}
.side-ad.ad-live .btn{margin-top:12px}
.home-ad{padding:0 0 clamp(36px,5vw,56px)}
.home-ad .ad-slot{margin:0}
.place-ad{margin-top:18px}
.place-ad .ad-slot{margin:0}

/* Credit for free-licensed village photos (CC BY / BY-SA need the photographer named). */
.page-hero .ph-credit{position:absolute;right:10px;bottom:96px;z-index:2;max-width:60%;font-size:11px;line-height:1.3;color:#fff;background:rgba(20,53,40,.6);padding:3px 7px;border-radius:6px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-hero .ph-credit:hover{text-decoration:underline}
@media (max-width:760px){.page-hero .ph-credit{position:relative;display:block;right:auto;bottom:auto;max-width:none;width:max-content;margin:14px var(--gut) 0 auto;background:none;padding:0;color:var(--cream-2)}}

/* Book an advert (page-book-an-advert.php). */
.bk-form{display:grid;gap:18px}
.bk-pkgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bk-pkg{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--sand);border-radius:16px;padding:14px;cursor:pointer;background:#fff}
.bk-pkg:has(input:checked){border-color:var(--orange);background:#fff8ef}
.bk-pkg input{margin-top:4px;accent-color:var(--orange-deep)}
.bk-pkg b{display:block;font:800 16px/1.25 var(--head);color:var(--green)}
.bk-pkg em{display:block;font-style:normal;font:800 15px/1.3 var(--head);color:var(--orange-text,#9E5814);margin:3px 0}
.bk-pkg small{display:block;font-size:13.5px;color:var(--soft)}
.bk-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bk-form .field{margin-bottom:12px}
.bk-form input[type=file]{width:100%;font-size:14px}
.bk-next{margin:12px 0 16px;padding-left:20px}.bk-next li{margin:0 0 8px}
@media (max-width:640px){.bk-pkgs{grid-template-columns:1fr}}
/* Phones (30 Oct walk-round fixes): village names clear the pin; iPhone date boxes sit under their label;
   dashboard tables become one card per row so nothing is squeezed or pushes the page sideways. */
.vcard b{padding-right:26px}
.field input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:24px;line-height:24px;margin:0;padding:0;border:0;background:transparent;text-align:left;box-sizing:border-box}
.field input[type=date]::-webkit-date-and-time-value{text-align:left}
@media (max-width:700px){
  .tablewrap{overflow:visible}
  .dtable,.dtable tbody,.dtable tr,.dtable td{display:block;width:100%;box-sizing:border-box}
  .dtable thead{display:none}
  .dtable tr{border:1px solid var(--sand,#eee6d6);border-radius:14px;padding:12px 14px;margin:0 0 12px;background:#fff}
  .dtable td{padding:3px 0;border:0;text-align:left}
  .dtable td:first-child{font-size:13px;color:#6b6f68}
  .dtable td small{display:block;overflow-wrap:anywhere}
  .dash-nav{max-width:100%}
}
@media (max-width:480px){.vcard .ico{display:none}.vcard b{padding-right:0}}

/* Area pages: the local magazine box (inc/issues.php aa_mag_area_panel). */
.mag-area{padding-top:0}
.ma-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center;background:#fff;border:1px solid var(--sand,#eee6d6);border-radius:22px;padding:18px}
.ma-cover{aspect-ratio:210/297;border-radius:12px;background:#1E4D3A center/cover;position:relative;overflow:hidden;color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.ma-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,45,33,.75),rgba(20,45,33,0) 45%,rgba(20,45,33,.7))}
.ma-cover span,.ma-cover em{position:relative}.ma-cover span{font:800 26px/.95 var(--head,inherit)}.ma-cover em{font-style:normal;font-weight:800;font-size:13px;color:#F2B45E;text-transform:uppercase}
.ma-body h2{margin:2px 0 8px}.ma-btns{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.ma-arch{font-size:14.5px;color:#4a4f48;margin:0}
@media (max-width:700px){.ma-card{grid-template-columns:120px minmax(0,1fr);gap:14px}.ma-cover span{font-size:16px}.ma-body h2{font-size:20px}}

/* Business logos in place of initials */
.has-logo{background:#fff!important;padding:6px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(30,43,34,.08)}
.logo-tile.has-logo{padding:10px}
.has-logo img{display:block;width:100%;height:100%;object-fit:contain}
.aa-logo-now{display:flex;gap:14px;align-items:center;margin:0 0 12px}
.aa-logo-now .logo-tile{width:72px;height:72px;border-radius:18px}
.d-id{margin:0 0 4px}
.d-id h1{margin:0}
@media (max-width:700px){.d-id{flex-direction:row;align-items:center;gap:14px}.d-id .logo-tile{width:64px;height:64px;border-radius:16px;padding:7px}}
.ph .ph-logo{position:absolute;inset:0;display:block;background:#fff;padding:12%;box-shadow:inset 0 -2px 0 #E3D6B8}
.ph .ph-logo>span{display:block;width:100%;height:100%}
.ph .ph-logo img{display:block;width:100%;height:100%;object-fit:contain}
.ph .ph-logo-chip{position:absolute;left:12px;bottom:12px;width:56px;height:56px;border-radius:14px;background:#fff;padding:5px;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:2}
.ph .ph-logo-chip img{display:block;width:100%;height:100%;object-fit:contain}
.ph .ph-logo.logo-light,.ph .ph-logo-chip.logo-light,.has-logo.logo-light{background:var(--green)!important}
/* Website badge panel */
.aa-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:0 0 16px}
.aa-badge{display:flex;flex-direction:column;gap:10px}
.aa-badge-show{display:grid;place-items:center;background:#fff;border:1px solid #E3D6B8;border-radius:14px;padding:22px}
.aa-badge-show.dk{background:#1E2B22;border-color:#1E2B22}
.aa-badge-show img{display:block;width:200px;max-width:100%;height:auto}
.aa-badge p{margin:0}
.aa-badge textarea{width:100%;font:13px/1.4 ui-monospace,Consolas,monospace;border:1px solid #E3D6B8;border-radius:10px;padding:10px;background:var(--cream);resize:vertical}
.aa-badge .btn{align-self:flex-start}
.aa-howto{margin:0 0 18px;border:1px solid #E3D6B8;border-radius:12px;padding:12px 16px;background:#fff}
.aa-howto summary{cursor:pointer;font-weight:800;color:var(--green)}
.aa-howto ul{margin:10px 0 0;padding-left:1.2em;line-height:1.6}
.aa-badge-help{background:var(--cream-2);border-radius:14px;padding:20px}
.aa-badge-help h3{margin:0 0 4px;color:var(--green)}
.aa-badge-help>p{margin:0 0 12px}
/* GetPaid payment page (/gp-checkout/) in the site's design */
.aa-gp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.aa-gp-form{background:#fff;border:1px solid #E3D6B8;border-radius:22px;padding:30px 32px;box-shadow:0 6px 24px rgba(20,53,40,.06)}
.aa-gp-side{display:flex;flex-direction:column;gap:18px}
.aa-gp-side .side-card h3{margin:0;color:var(--green)}
@media (max-width:900px){.aa-gp{grid-template-columns:1fr}.aa-gp-form{padding:22px 18px}}
.aa-gp .bsui .container-fluid{padding:0}
.aa-gp .bsui .row{margin-left:0;margin-right:0}
.aa-gp .bsui .row>*{padding-left:0;padding-right:0}
.aa-gp .bsui .form-label,.aa-gp .bsui label{font:800 14.5px/1.3 var(--body);color:var(--ink);margin:0 0 6px;display:block}
.aa-gp .bsui .text-danger{color:var(--orange-text)!important}
.aa-gp .bsui .form-control{width:100%;font:16px/1.4 var(--body);color:var(--ink);background:var(--cream);border:1.5px solid #E3D6B8;border-radius:12px;padding:12px 14px;height:auto;box-shadow:none}
.aa-gp .bsui .form-control:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(30,77,58,.12)}
.aa-gp .bsui .mb-3{margin-bottom:16px!important}
.aa-gp .getpaid-billing-address-wrapper .row.billing{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.aa-gp .getpaid-billing-address-wrapper .row.billing>*{width:auto;max-width:none;flex:none}
.aa-gp .getpaid-address-field-wrapper__company,.aa-gp .getpaid-address-field-wrapper__address{grid-column:1/-1}
@media (max-width:560px){.aa-gp .getpaid-billing-address-wrapper .row.billing{grid-template-columns:1fr}}
.aa-gp .getpaid-payment-form-items-cart{border:0!important;background:var(--cream-2);border-radius:16px;padding:6px 4px;margin:8px 0 18px!important}
.aa-gp .getpaid-payment-form-items-cart-header{display:none}
.aa-gp .getpaid-payment-form-items-cart-item{border:0!important;padding:14px 18px!important}
.aa-gp .getpaid-form-cart-item-quantity,.aa-gp .getpaid-form-cart-item-subtotal{display:none!important}
.aa-gp .getpaid-form-cart-item-name{flex:1 1 auto;width:auto;max-width:none}
.aa-gp .getpaid-form-item-name{font:800 18px/1.3 var(--head);color:var(--green)}
.aa-gp .getpaid-form-cart-item-price{flex:none;width:auto;text-align:right;font:800 18px/1.3 var(--head);color:var(--green)}
.aa-gp .getpaid-item-desc small,.aa-gp .getpaid-form-cart-item-name small{display:block;font-size:14px;line-height:1.45;color:var(--soft)!important;margin-top:4px!important}
.aa-gp .getpaid-form-item-price-desc{font-style:normal!important;font-weight:700;color:var(--orange-text)!important}
.aa-gp .gp-tooltip{display:none!important}
.aa-gp .getpaid-payment-form-items-cart-totals .col-sm-6{width:100%;max-width:none;flex:0 0 100%;margin-left:0}
.aa-gp .getpaid-form-cart-totals-col{background:transparent!important;border:0!important;padding:8px 18px!important}
.aa-gp .getpaid-form-cart-totals-subtotal{display:none}
.aa-gp .getpaid-form-cart-totals-total{border-top:1px solid #E3D6B8!important;font:800 17px/1.3 var(--head);color:var(--ink)}
.aa-gp .getpaid-payment-form-line-totals-label{text-align:left!important}
.aa-gp .getpaid-payment-form-line-totals-value{text-align:right}
.aa-gp .getpaid-gateways{margin:6px 0 18px!important}
.aa-gp .getpaid-gateway{background:#fff;border:2px solid var(--orange);border-radius:14px;padding:14px 16px!important;font-weight:800;color:var(--ink)}
.aa-gp .getpaid-gateway label{margin:0;display:flex;gap:10px;align-items:center}
.aa-gp .getpaid-gateway-description,.aa-gp .getpaid-gateway-description *{font-weight:400;font-size:14.5px;color:var(--soft);background:transparent!important;border:0!important;padding:0!important;margin:6px 0 0!important}
.aa-gp .getpaid-payment-form .btn-primary,.aa-gp .getpaid-payment-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;font:800 17px/1 var(--head);color:#fff;background:var(--orange);border:0;border-radius:999px;padding:18px 26px;box-shadow:0 8px 20px rgba(232,137,43,.28);cursor:pointer}
.aa-gp .getpaid-payment-form .btn-primary:hover{filter:brightness(.96)}
.aa-gp .getpaid-payment-form .form-text.text-muted,.aa-gp .getpaid-payment-form p{font-size:14px;color:var(--soft)}
.aa-gp .getpaid-payment-form a{color:var(--green);font-weight:700}
.aa-gp .getpaid-payment-form-items-cart-item>.form-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:18px}
.aa-gp .getpaid-payment-form-items-cart-item>.form-row>.getpaid-form-cart-item-name{flex:1 1 auto;min-width:0}
.aa-gp .getpaid-payment-form-items-cart-item>.form-row>.getpaid-form-cart-item-price{flex:0 0 auto}
.aa-gp .getpaid-form-cart-totals-col .form-row{display:flex;justify-content:space-between}
.aa-gp .getpaid-form-cart-totals-col .form-row>*{width:auto;flex:0 0 auto}
.aa-sugg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 10px}
.aa-sugg span{font-size:14px;color:var(--soft);flex-basis:100%}
.aa-sugg button{font:700 13.5px/1 var(--body);color:var(--green);background:var(--cream-2);border:1px solid #E3D6B8;border-radius:999px;padding:8px 12px;cursor:pointer}
.aa-sugg button:hover{background:#fff;border-color:var(--green)}
/* Listing editor: room between fields, hints and sections */
.aa-edit .dpanel{margin-bottom:28px}
.aa-edit .dp-h{margin-bottom:20px}
.aa-edit .mform .field{margin:0 0 14px}
.aa-edit .mform .two{gap:14px;margin:0 0 14px}
.aa-edit .mform .two .field{margin:0}
.aa-edit .hint{margin:-4px 0 18px;line-height:1.5}
.aa-edit .field+.hint,.aa-edit .two+.hint{margin-top:-6px}
.aa-edit .aa-sugg{margin:0 0 12px}
.aa-edit .open-now{margin:4px 0 0}
.aa-edit .aa-logo-now{margin:0 0 16px}
.aa-edit .hgrid{row-gap:10px}
.aa-edit .aa-photos{margin:0 0 18px}
.aa-edit .aa-dash-actions{margin-top:8px}
/* Dashboard: Finish your listing */
.aa-setup{border:2px solid var(--orange);margin-bottom:24px}
.aa-setup-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.aa-setup-pct{min-width:180px;text-align:right}
.aa-setup-pct b{font:900 30px/1 var(--head);color:var(--green)}
.aa-setup-pct span{display:block;height:10px;border-radius:999px;background:var(--cream-2);margin-top:8px;overflow:hidden}
.aa-setup-pct i{display:block;height:100%;background:var(--orange);border-radius:999px}
.aa-setup-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aa-setup-list li{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;background:var(--cream);border:1px solid #E3D6B8;border-radius:14px;padding:12px 16px}
.aa-setup-list li.ok{opacity:.65}
.aa-setup-list b{display:block;color:var(--ink)}
.aa-setup-list small{display:block;color:var(--soft);font-size:14px;margin-top:2px}
.aa-setup-tick{width:30px;height:30px;border-radius:50%;border:2px solid #E3D6B8;background:#fff;display:grid;place-items:center}
.aa-setup-list li.ok .aa-setup-tick{background:var(--green);border-color:var(--green);color:#fff}
.aa-setup-list li.ok .aa-setup-tick .ico{width:16px;height:16px}
.aa-setup-list em{font-style:normal;font-weight:800;color:var(--green);font-size:14px}
@media (max-width:560px){.aa-setup-pct{text-align:left;min-width:0;width:100%}.aa-setup-list li{grid-template-columns:30px 1fr}.aa-setup-list li>a,.aa-setup-list li>em{grid-column:2;justify-self:start}}
/* HTML site map */
.aa-sm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.aa-sm-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #E3D6B8;border-radius:22px;padding:26px 26px 22px;text-decoration:none;color:var(--ink);box-shadow:0 6px 22px rgba(20,53,40,.05);transition:transform .15s,box-shadow .15s,border-color .15s}
.aa-sm-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,53,40,.10);border-color:var(--orange)}
.aa-sm-ico{width:52px;height:52px;border-radius:16px;background:var(--cream-2);display:grid;place-items:center;color:var(--green)}
.aa-sm-ico .ico{width:26px;height:26px}
.aa-sm-card h2{margin:4px 0 0;font-size:1.45rem;color:var(--green)}
.aa-sm-card p{margin:0;color:var(--soft);line-height:1.5;flex:1}
.aa-sm-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #EFE6D2;padding-top:14px;margin-top:6px;font-size:15px;color:var(--soft)}
.aa-sm-foot b{font:900 22px/1 var(--head);color:var(--ink);margin-right:4px}
.aa-sm-foot em{font-style:normal;font-weight:800;color:var(--orange-text)}
.aa-sm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.aa-sm-tabs a{padding:9px 16px;border-radius:999px;background:var(--cream-2);color:var(--green);font-weight:800;text-decoration:none;font-size:15px}
.aa-sm-tabs a[aria-current]{background:var(--green);color:#fff}
.aa-sm-groups{columns:3 300px;column-gap:22px}
.aa-sm-group{break-inside:avoid;background:#fff;border:1px solid #E3D6B8;border-radius:18px;padding:20px 22px;margin:0 0 22px}
.aa-sm-group h2{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:1.15rem;color:var(--green)}
.aa-sm-group h2 span{font:800 13px/1 var(--body);color:var(--soft);background:var(--cream-2);border-radius:999px;padding:5px 9px}
.aa-sm-group ul{list-style:none;margin:0;padding:0}
.aa-sm-group li{padding:8px 0;border-top:1px solid #F1EADB;display:flex;flex-direction:column;gap:2px}
.aa-sm-group li:first-child{border-top:0}
.aa-sm-group li a{color:var(--ink);font-weight:700;text-decoration:none}
.aa-sm-group li a:hover{color:var(--orange-text);text-decoration:underline}
.aa-sm-group li small{color:var(--soft);font-size:13.5px}
/* Business page: WhatsApp button and Find us online */
.contact-card .btn-wa{background:#1F8F4E;color:#fff;border:0}
.contact-card .btn-wa:hover{filter:brightness(.95)}
.aa-online{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid #EFE6D2;padding-top:12px;margin-top:4px}
.aa-online span{flex-basis:100%;font-size:13px;font-weight:800;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.aa-online a{font-size:14px;font-weight:700;color:var(--green);background:var(--cream-2);border-radius:999px;padding:7px 12px;text-decoration:none}
.aa-online a:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--green)}
/* Homepage hero (6 Nov): the photo shows clearly on the right on laptops; the left stays dark behind the words. */
@media (min-width:1024px){
  .hero.ph:not(.page-hero)::after{background:linear-gradient(90deg,rgba(12,32,24,.9) 0,rgba(12,32,24,.78) 30%,rgba(12,32,24,.35) 52%,rgba(12,32,24,.12) 72%,rgba(12,32,24,.1) 100%),linear-gradient(180deg,rgba(12,32,24,.55) 0,rgba(12,32,24,0) 20%,rgba(12,32,24,0) 66%,rgba(12,32,24,.85) 100%)}
  .hero img.aa-home-hero{object-position:64% 45%}
}

/* Offer pictures (6 Nov): any shape shown whole in a fixed frame, a blurred copy fills the space around it. */
.offer-img{position:relative;display:block;overflow:hidden;border-radius:16px;aspect-ratio:16/10;background:#F3EBD8;isolation:isolate}
.offer-img .oi-bg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(22px) saturate(1.1) brightness(.92);transform:scale(1.05);z-index:-1}
.offer-img .oi-fg{position:relative;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.18))}
.offer.has-img .offer-img{grid-column:1/-1;margin:-4px -6px 4px}
.offer-img-page{aspect-ratio:4/3;max-height:560px;margin:0 0 16px}
.offer-img-modal{aspect-ratio:16/10;margin:0 0 14px}
@media (max-width:700px){.offer-img{aspect-ratio:4/3}.offer.has-img .offer-img{margin:0 0 4px}}
.offer.has-img .offer-img{grid-column:1/-1}
@media (min-width:900px){.offer-grid .offer.has-img{grid-column:1/-1;grid-template-columns:minmax(0,46%) auto minmax(0,1fr) auto;align-items:center}.offer-grid .offer.has-img .offer-img{grid-column:auto;margin:0;aspect-ratio:16/10}}
/* Business page offer on desktop: picture beside the offer, like the phone card but side by side (Darran, 6 Nov) */
@media (min-width:900px){.d-card:has(> .offer-img-page){display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);column-gap:28px;align-items:center}.d-card:has(> .offer-img-page) > h2{grid-column:1/-1}.d-card > .offer-img-page{margin:0;aspect-ratio:4/3;max-height:none}.d-card:has(> .offer-img-page) .offer-big{grid-template-columns:auto 1fr}.d-card:has(> .offer-img-page) .offer-big .btn{grid-column:1/-1}}
/* ---------- Business community programme (inc/community.php, 7 Nov) ---------- */
.cx-next{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px;align-items:stretch}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.cx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sand);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(20,53,40,.07);transition:transform .2s,box-shadow .2s}
.cx-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,53,40,.12)}
.cx-ph{position:relative;aspect-ratio:16/9;background:var(--green-deep);overflow:hidden}
.cx-ph img{width:100%;height:100%;object-fit:cover;display:block}
.cx-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,32,24,0) 45%,rgba(12,32,24,.55))}
.cx-date{position:absolute;top:12px;left:12px;z-index:2;background:var(--cream);color:var(--green);border-radius:12px;padding:6px 10px;text-align:center;font:800 12px/1.1 var(--head);text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.cx-date b{display:block;font-size:24px;line-height:1}
.cx-kind{position:absolute;left:12px;bottom:12px;z-index:2;font:800 12px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--cream);background:rgba(20,53,40,.75);padding:7px 10px;border-radius:999px}
.cx-zoom .cx-kind{background:rgba(43,58,79,.85)}
.cx-star{position:absolute;top:12px;right:12px;z-index:2;background:var(--orange);color:var(--ink);font:900 12px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;padding:8px 11px;border-radius:999px}
.cx-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.cx-when{margin:0;font:800 14px/1.3 var(--head);color:var(--orange-deep)}
.cx-body h3{margin:0;font-size:21px;line-height:1.2;color:var(--green)}
.cx-body h3 a{color:inherit;text-decoration:none}
.cx-tagline{margin:0;font:700 15px/1.4 var(--body);color:var(--leaf)}
.cx-desc{margin:0;color:var(--soft);font-size:15.5px;line-height:1.5}
.cx-meta{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;font-size:14.5px;color:var(--soft)}
.cx-meta li{display:flex;align-items:center;gap:6px}
.cx-meta .ico{width:17px;height:17px;color:var(--green)}
.cx-free{font-weight:800;color:var(--leaf)}
.cx-act{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:auto;padding-top:12px}
.cx-act .btn{min-height:46px}
.cx-join.is-wait{opacity:.55;cursor:not-allowed}
.cx-note{font:700 14px/1.3 var(--body);color:var(--soft);background:var(--cream-2);border-radius:999px;padding:9px 13px}
.cx-tag{font:800 13px/1 var(--head);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:9px 13px;background:var(--cream-2);color:var(--soft)}
.cx-full,.cx-off{background:#F7E1CC;color:var(--orange-deep)}
.cx-card.is-done{opacity:.62}
.cx-card.is-done .cx-ph img{filter:grayscale(.7)}
.cx-card.is-done .cx-join,.cx-card.is-done [data-cx]{display:none}
.cx-big .cx-body h3{font-size:clamp(1.4rem,2.2vw,1.8rem)}
.cx-card.is-star{border:2px solid var(--orange)}
.cx-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px}
.chip-f{appearance:none;border:1.5px solid var(--sand);background:#fff;color:var(--green);font:800 14px/1 var(--head);padding:12px 16px;border-radius:999px;cursor:pointer;min-height:44px}
.chip-f.is-on{background:var(--green);border-color:var(--green);color:var(--cream)}
.cx-month{margin:34px 0 14px;font-size:22px;color:var(--green)}
.cx-prog[data-filter=evening] .cx-zoom,.cx-prog[data-filter=zoom] .cx-evening{display:none}
.cx-prog[data-filter=evening] .cx-month:has(+ .cx-grid:not(:has(.cx-evening))),.cx-prog[data-filter=zoom] .cx-month:has(+ .cx-grid:not(:has(.cx-zoom))){display:none}
.cx-break{margin:28px 0 0;padding:16px 20px;border-radius:16px;background:var(--cream-2);color:var(--soft)}
.cx-empty{color:var(--soft)}
.cx-hero-free{display:inline-block;margin:6px 0 0;font:900 15px/1.3 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.cx-hero-sub{font:800 clamp(1.15rem,2vw,1.5rem)/1.25 var(--head);color:var(--cream);margin:14px 0 0;max-width:36ch}
.cx-band{background:var(--orange);color:var(--ink);text-align:center;padding:22px 0}
.cx-band p{margin:0;font:900 clamp(1rem,2vw,1.35rem)/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase}
.cx-ways{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cx-way{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--sand)}
.cx-way .ph{position:relative;aspect-ratio:16/8;background:var(--green-deep)}
.cx-way .ph img{width:100%;height:100%;object-fit:cover;display:block}
.cx-way-body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.cx-way-body h3{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--green);margin:0}
.cx-way-body .cx-where{margin:0;font:800 15px/1.3 var(--head);color:var(--orange-deep)}
.cx-way-body p{margin:0;color:var(--soft)}
.cx-way-body .cx-time{font-weight:800;color:var(--ink)}
.cx-way-body .hero-doors{margin-top:auto;padding-top:10px}
.cx-way-zoom{background:var(--green);border-color:var(--green)}
.cx-way-zoom .cx-way-body h3,.cx-way-zoom .cx-way-body .cx-time{color:var(--cream)}
.cx-way-zoom .cx-way-body p{color:var(--cream-2)}
.cx-way-zoom .cx-way-body .cx-where{color:var(--orange)}
.cx-reasons{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cx-site{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--cream-2);border-radius:28px;padding:clamp(26px,4vw,48px)}
.cx-site h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--green);margin:0 0 12px}
.cx-site p{color:var(--soft);margin:0 0 12px}
.cx-site ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.cx-site li{background:#fff;border-radius:16px;padding:14px 16px;border:1px solid var(--sand);font-size:16px;color:var(--soft)}
.cx-site li b{display:block;color:var(--green);font:800 16px/1.3 var(--head);margin-bottom:2px}
.cx-final{background:var(--green-deep);color:var(--cream);text-align:center}
.cx-final h2{font-size:clamp(2rem,4.4vw,3.3rem);color:var(--cream);margin:0 auto 18px;max-width:22ch}
.cx-final p{color:var(--cream-2);max-width:60ch;margin:0 auto 14px;font-size:18px}
.cx-final .cx-big-line{font:900 clamp(1.1rem,2.2vw,1.5rem)/1.3 var(--head);color:var(--orange);letter-spacing:.04em;text-transform:uppercase;margin-top:22px}
.cx-final .hero-doors{justify-content:center}
@media (max-width:1023px){.cx-next{grid-template-columns:1fr 1fr}.cx-next .cx-big{grid-column:1/-1}.cx-reasons{grid-template-columns:1fr 1fr}.cx-site{grid-template-columns:1fr}}
@media (max-width:700px){.cx-next,.cx-ways,.cx-reasons{grid-template-columns:1fr}.cx-grid{grid-template-columns:1fr}.cx-act .btn{flex:1 1 100%}}
.cx-list{display:grid;gap:12px}
.cx-row{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--sand);border-radius:18px;padding:14px 18px}
.cx-row .cx-date{position:static;box-shadow:none;background:var(--cream-2);min-width:58px}
.cx-row.cx-zoom .cx-date{background:#E3E8F0;color:var(--navy)}
.cx-row h4{margin:2px 0 2px;font:800 18px/1.25 var(--head);color:var(--green)}
.cx-row h4 a{color:inherit;text-decoration:none}
.cx-row .cx-desc{font-size:14.5px}
.cx-row .cx-act{margin:0;padding:0;justify-content:flex-end}
.cx-row .cx-act .btn{min-height:44px;padding-left:18px;padding-right:18px}
.cx-row.is-done{opacity:.6}
.cx-prog[data-filter=evening] .cx-row.cx-zoom,.cx-prog[data-filter=zoom] .cx-row.cx-evening{display:none}
.cx-prog[data-filter=evening] .cx-month:has(+ .cx-list:not(:has(.cx-evening))),.cx-prog[data-filter=zoom] .cx-month:has(+ .cx-list:not(:has(.cx-zoom))){display:none}
@media (max-width:860px){.cx-row{grid-template-columns:auto 1fr}.cx-row .cx-act{grid-column:1/-1;justify-content:flex-start}.cx-row .cx-desc{display:none}}
@media (max-width:700px){.cx-row .cx-act .btn{flex:1 1 auto}}
.cx-way.e-con,.cx-way-body.e-con{flex-direction:column!important;--flex-direction:column;align-items:stretch}
.cx-site > .e-con{display:block}
.cx-final{background:var(--green);border-bottom:6px solid var(--orange)}
/* Whiteski section on Business community: our logo and a scrolling wall of sites we've built (like whiteskidigital.com) */
.ws-sec{position:relative;overflow:hidden;background:#14121A;color:#fff;border-radius:28px;min-height:520px;isolation:isolate}
.ws-wall{position:absolute;top:-120px;right:-80px;width:58%;height:1300px;transform:rotate(-9deg);display:flex;gap:18px;opacity:.9;z-index:0;pointer-events:none}
.ws-col{flex:1;display:flex;flex-direction:column;gap:18px}
.ws-col img{width:100%;height:auto;aspect-ratio:380/460;object-fit:cover;object-position:top;border-radius:14px;display:block;box-shadow:0 26px 50px -18px rgba(0,0,0,.75)}
.ws-up{animation:wsUp 55s linear infinite}
.ws-down{animation:wsDown 65s linear infinite;margin-top:-160px}
.ws-late{margin-top:-80px}
@keyframes wsUp{to{transform:translateY(-50%)}}
@keyframes wsDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.ws-sec::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#14121A 0%,#14121A 36%,rgba(20,18,26,.6) 52%,rgba(20,18,26,0) 76%);pointer-events:none}
.ws-in{position:relative;z-index:2;max-width:560px;padding:clamp(28px,4.4vw,56px)}
.ws-logo{display:block;width:clamp(220px,26vw,300px);height:auto;margin:0 0 24px}
.ws-in h2{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.08;color:#fff;margin:0 0 14px}
.ws-in h2 span{color:#FF1F8C}
.ws-in p{color:#C9C3D3;margin:0 0 14px;font-size:17px}
.ws-points{list-style:none;margin:18px 0 26px;padding:0;display:grid;gap:10px}
.ws-points li{position:relative;padding-left:30px;color:#E9E5EF;font-size:16px}
.ws-points li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:5px;background:#FF1F8C}
.ws-points b{color:#fff}
.ws-btn{background:#FF1F8C;color:#fff;border-color:#FF1F8C}
.ws-btn:hover{background:#e0107a;color:#fff}
.ws-stat{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font:700 14px/1 var(--body);color:#fff}
.ws-stat i{width:8px;height:8px;border-radius:50%;background:#3BD16F}
.ws-sec.e-con,.ws-sec .e-con{display:block}
@media (max-width:900px){.ws-wall{width:120%;right:-55%;opacity:.35}.ws-sec::after{background:linear-gradient(180deg,rgba(20,18,26,.75),rgba(20,18,26,.92))}.ws-in{max-width:none}}
@media (prefers-reduced-motion:reduce){.ws-up,.ws-down{animation:none}}
/* Magazine plug */
.mg-sec{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--cream-2);border-radius:28px;padding:clamp(26px,4vw,52px);overflow:hidden}
.mg-sec h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--green);margin:0 0 12px}
.mg-sec p{color:var(--soft);margin:0 0 12px}
.mg-stack{position:relative;height:340px}
.mg-cover{position:absolute;width:200px;aspect-ratio:148/210;border-radius:10px;box-shadow:0 24px 50px -16px rgba(20,53,40,.45);padding:16px 14px;display:flex;flex-direction:column;color:#fff;overflow:hidden}
.mg-cover small{font:800 10px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.mg-cover b{font:900 26px/.95 var(--head);margin-top:6px}
.mg-cover span{margin-top:auto;font:700 12px/1.3 var(--body);background:rgba(255,255,255,.16);border-radius:8px;padding:8px}
.mg-cover::before{content:"";position:absolute;inset:auto -30px -40px auto;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.mg-c1{left:4%;top:30px;background:var(--green);transform:rotate(-8deg)}
.mg-c2{left:30%;top:6px;background:var(--orange);transform:rotate(2deg);z-index:2}
.mg-c3{left:56%;top:36px;background:var(--navy);transform:rotate(9deg)}
.mg-sec.e-con{display:grid!important}.mg-sec .e-con{display:block}
@media (max-width:900px){.mg-sec{grid-template-columns:1fr}.mg-stack{height:300px}.mg-cover{width:160px}.mg-c2{left:28%}.mg-c3{left:52%}}
/* Recommended resources */
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.res-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sand);border-radius:20px;overflow:hidden}
.res-ph{position:relative;aspect-ratio:4/3;background:var(--cream-2);display:grid;place-items:center;overflow:hidden}
.res-ph img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:14px}
.single-gd_event .res-sec{padding-top:8px}
.res-ph-none .ico{width:44px;height:44px;color:var(--green)}
.res-body{display:flex;flex-direction:column;gap:8px;padding:18px;flex:1}
.res-body h3{margin:0;font-size:18px;color:var(--green)}
.res-body p{margin:0;font-size:15px;color:var(--soft)}
.res-body .btn{margin-top:auto;align-self:flex-start;min-height:44px}
.res-ad{align-self:flex-start;font:800 11px/1.3 var(--head);color:var(--green);background:var(--cream-2);border:1px solid var(--sand);border-radius:999px;padding:3px 9px;text-transform:uppercase;letter-spacing:.04em}
.res-from{font:800 12px/1.3 var(--head);color:var(--orange-deep);text-transform:uppercase;letter-spacing:.04em}
.res-note{margin:0 0 18px;max-width:860px;font-size:14px;color:var(--soft)}
@media (max-width:1023px){.res-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.res-grid{grid-template-columns:1fr}}
@media (max-width:900px){.ws-in{padding-bottom:300px}.ws-wall{top:auto;bottom:-240px;right:-30%;width:160%;height:640px;opacity:.95}.ws-sec::after{background:linear-gradient(180deg,#14121A 0%,#14121A 64%,rgba(20,18,26,.35) 80%,rgba(20,18,26,0) 100%)}}
/* Handwritten lines: Caveat, easier to read than Mr Dafoe (Darran, 11 Nov 2026) */
:root{--script:"Caveat","Brush Script MT",cursive}
.hero-script,.script-note,.quote,.cta-band .script,.em-top p{font-weight:700!important;letter-spacing:0}
