/*
 * The Artist Workshop, 2.0 (redesign, Oct 2026).
 *
 * The site looks like its logo: condensed headlines, the logo's eight paint
 * pot colours, real photos big. Softer than the logo itself, because the
 * people who run and fill the studio asked for warm and airy rather than
 * loud (Derek, 10 Oct): tinted sections, soft shadows, one navy band.
 *
 * House rules this file keeps: corners are 5px and never pills; the header
 * and footer never stick; nothing smaller than 16px; 1280px of content inside
 * the gutters; rows of repeated things go 3 or 5 across.
 *
 * The signature is the palette: each section gets one paint pot colour as
 * its marker, event dates are colour chips, and the eight colours run as a
 * stripe under the header.
 *
 * Mockups this was built from: build/mockups/redesign-*.html.
 */

:root {
	--aw-red:    #ff3d1f;
	--aw-peach:  #f4a584;
	--aw-gold:   #f5b33b;
	--aw-yellow: #f5d540;
	--aw-teal:   #1f8765;
	--aw-mint:   #7ccfc8;
	--aw-navy:   #1f4677;
	--aw-pink:   #f2c5d2;

	--aw-blush:   #fdeef1;
	--aw-mint-t:  #e8f6f4;
	--aw-gold-t:  #fff6e2;
	--aw-peach-t: #fdf0e8;

	--aw-ink:   #2b2622;
	--aw-ink-2: #5c534c;
	--aw-paper: #fffaf4;
	--aw-line:  #efe4d6;
	--aw-charcoal: #2b2622;

	--aw-r: 5px;
	--aw-shadow: 0 10px 30px rgba(70, 45, 20, .08);
	--aw-shadow-sm: 0 4px 16px rgba(70, 45, 20, .06);
	--aw-shadow-hover: 0 18px 44px rgba(70, 45, 20, .14);

	--aw-display: "Big Shoulders Display", "Arial Narrow", sans-serif;
	--aw-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	--aw-content: 1280px;
	--aw-gutter: clamp(20px, 4vw, 48px);
	--aw-max: calc(var(--aw-content) + 2 * var(--aw-gutter));
	--aw-sec: clamp(80px, 10vw, 140px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--aw-paper);
	color: var(--aw-ink);
	font-family: var(--aw-body);
	font-size: 18px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 18px; }
h1, h2, h3, h4 { font-family: var(--aw-display); font-weight: 700; letter-spacing: .005em; line-height: 1; margin: 0; color: inherit; }
h1 { font-size: clamp(56px, 6.4vw, 94px); }
h2 { font-size: clamp(44px, 4.8vw, 66px); }
h3 { font-size: clamp(28px, 2.6vw, 36px); }
h4 { font-size: 26px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--aw-gold); outline-offset: 2px; }

.aw-wrap { max-width: var(--aw-max); margin: 0 auto; padding: 0 var(--aw-gutter); }
.aw-main { display: block; }

/* ---------- Buttons ---------- */
.aw-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font: 600 17px/1 var(--aw-body);
	padding: 17px 28px;
	border-radius: var(--aw-r);
	text-decoration: none;
	border: 1.5px solid var(--aw-ink);
	background: transparent; color: var(--aw-ink);
	cursor: pointer;
	transition: transform .2s, box-shadow .2s, background .2s;
}
.aw-btn:hover { transform: translateY(-2px); box-shadow: var(--aw-shadow); text-decoration: none; }
.aw-btn--red { background: var(--aw-red); border-color: var(--aw-red); color: #fff; }
.aw-btn--ink { background: var(--aw-ink); border-color: var(--aw-ink); color: #fff; }
.aw-btn--white { background: #fff; border-color: #fff; color: var(--aw-navy); }
.aw-btn--ghost { border-color: #fff; color: #fff; }
.aw-ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- Small parts ---------- */
.aw-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font: 700 17px/1 var(--aw-display);
	letter-spacing: .16em; text-transform: uppercase;
	margin-bottom: 20px; color: var(--aw-ink-2);
}
.aw-eyebrow i { width: 12px; height: 12px; border-radius: 50%; display: block; flex: none; }
.aw-hl { position: relative; display: inline-block; color: var(--aw-red); z-index: 0; }
.aw-brush { position: absolute; left: -3%; right: -5%; bottom: -.02em; height: .46em; z-index: -1; color: var(--aw-gold); opacity: .9; pointer-events: none; }
.aw-brush svg { width: 100%; height: 100%; display: block; }
.aw-link { color: var(--aw-red); font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1.5px; }
.aw-note { font-size: 16px; color: var(--aw-ink-2); }

/* Date chip: the palette signature on every event. */
.aw-chip {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 78px; aspect-ratio: 1; flex: none;
	border-radius: var(--aw-r);
	font: 700 16px/1 var(--aw-display); letter-spacing: .12em; text-transform: uppercase;
	color: #fff;
}
.aw-chip b { font-size: 36px; letter-spacing: 0; line-height: .95; }
.aw-chip--red { background: var(--aw-red); }
.aw-chip--gold { background: var(--aw-gold); color: var(--aw-ink); }
.aw-chip--teal { background: var(--aw-teal); }
.aw-chip--navy { background: var(--aw-navy); }
.aw-chip--pink { background: var(--aw-pink); color: var(--aw-ink); }

/* ---------- Top bar + header (never sticky) ---------- */
.aw-util { background: var(--aw-paper); color: var(--aw-ink-2); font-size: 16px; border-bottom: 1px solid var(--aw-line); }
.aw-util .aw-wrap { display: flex; justify-content: space-between; gap: 8px 28px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
.aw-util a { text-decoration: none; }
.aw-util b { color: var(--aw-teal); font-weight: 600; }

.aw-header { position: relative; z-index: 50; background: #fff; box-shadow: 0 6px 20px rgba(70, 45, 20, .06); }
.aw-header::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 5px; z-index: 2;
	background: linear-gradient(90deg,
		var(--aw-red) 0 12.5%, var(--aw-peach) 12.5% 25%, var(--aw-gold) 25% 37.5%, var(--aw-yellow) 37.5% 50%,
		var(--aw-teal) 50% 62.5%, var(--aw-mint) 62.5% 75%, var(--aw-navy) 75% 87.5%, var(--aw-pink) 87.5% 100%);
}
.aw-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 20px; padding-bottom: 20px; }
.aw-brand img, .aw-brand .custom-logo { height: 60px; width: auto; }
.aw-brand a.aw-brand__text { font: 700 34px/1 var(--aw-display); color: var(--aw-gold); text-decoration: none; text-transform: uppercase; }
.aw-nav { display: flex; align-items: center; gap: 32px; }
.aw-nav > ul { display: flex; align-items: center; gap: 32px; list-style: none; margin: 0; padding: 0; }
.aw-nav > ul > li > a, .aw-nav .culc-mega-open {
	font: 500 17px/1 var(--aw-body); color: var(--aw-ink); text-decoration: none;
	padding: 8px 0; border-bottom: 2px solid transparent; background: none; border-top: 0; border-left: 0; border-right: 0; cursor: pointer;
}
.aw-nav > ul > li > a:hover, .aw-nav > ul > li > a[aria-current="page"] { border-bottom-color: var(--aw-red); }
.aw-nav .aw-btn { padding: 15px 24px; }
.aw-nav-toggle { display: none; font: 600 17px/1 var(--aw-body); padding: 14px 18px; border: 1.5px solid var(--aw-ink); border-radius: var(--aw-r); background: #fff; color: var(--aw-ink); cursor: pointer; }

/* ---------- Hero (home, Rental Space) ---------- */
.aw-hero { position: relative; overflow: hidden; min-height: clamp(560px, 58vw, 700px); display: flex; align-items: center; }
.aw-hero > .aw-wrap { width: 100%; }
.aw-hero__text { width: 50%; padding: clamp(56px, 7vw, 96px) clamp(28px, 4vw, 64px) clamp(64px, 8vw, 104px) 0; position: relative; z-index: 1; }
/* The photo stays inside the 1280 content column, the right half of it, so
   it lines up with the text and everything below. It used to run from the
   middle of the window to its edge, which on a wide screen left an empty band
   on the left and the photo hanging off the right (Derek, 15 Oct). */
.aw-hero__photo {
	position: absolute;
	top: clamp(32px, 4vw, 56px);
	bottom: clamp(32px, 4vw, 56px);
	right: calc(max(0px, (100% - var(--aw-max)) / 2) + var(--aw-gutter));
	width: calc((min(100%, var(--aw-max)) - 2 * var(--aw-gutter)) / 2);
	border-radius: var(--aw-r);
	overflow: hidden;
	background: var(--aw-gold-t);
	box-shadow: var(--aw-shadow);
}
.aw-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.aw-hero .aw-lede { font-size: 20px; color: var(--aw-ink-2); max-width: 520px; margin: 24px 0 32px; }
.aw-hero__trust { margin-top: 26px; font-size: 16px; color: var(--aw-ink-2); }
.aw-float {
	position: absolute; left: 24px; bottom: 24px; max-width: 340px;
	background: rgba(255, 250, 244, .96); border-radius: var(--aw-r);
	padding: 20px 24px; box-shadow: var(--aw-shadow); font-size: 16px; line-height: 1.5;
}
.aw-float__label { display: block; font: 700 18px/1.2 var(--aw-display); letter-spacing: .14em; text-transform: uppercase; color: var(--aw-teal); margin-bottom: 6px; }
.aw-float__big { display: block; font: 700 54px/1 var(--aw-display); color: var(--aw-ink); margin: 6px 0; }
.aw-float a { color: var(--aw-red); font-weight: 600; }

/* ---------- Sections ---------- */
.aw-sec { padding: var(--aw-sec) 0; }
.aw-sec--gold { background: var(--aw-gold-t); }
.aw-sec--mint { background: var(--aw-mint-t); }
.aw-sec--blush { background: var(--aw-blush); }
.aw-sec--peach { background: var(--aw-peach-t); }
.aw-sec--navy { background: var(--aw-navy); color: #fff; }
.aw-sec--navy .aw-eyebrow { color: #dbe4f1; }
.aw-sec--tight { padding-top: clamp(48px, 6vw, 80px); }
.aw-sec__head { max-width: 760px; margin-bottom: 48px; }
.aw-sec__head p { color: var(--aw-ink-2); margin: 16px 0 0; }
.aw-sec__head--row { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; }
.aw-sec__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.aw-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.aw-split--center { align-items: center; }
.aw-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

/* Page heading for inner pages without a photo hero. */
.aw-pagehead { padding: clamp(56px, 7vw, 96px) 0 clamp(40px, 5vw, 64px); }
.aw-pagehead p { color: var(--aw-ink-2); font-size: 20px; max-width: 640px; margin: 20px 0 0; }
.aw-crumb { display: inline-block; font-size: 16px; font-weight: 600; color: var(--aw-ink-2); text-decoration: none; margin-bottom: 20px; }
.aw-crumb:hover { color: var(--aw-red); }

/* ---------- Cards ---------- */
.aw-card { background: #fff; border-radius: var(--aw-r); box-shadow: var(--aw-shadow); }
a.aw-card, .aw-card--link { text-decoration: none; color: inherit; transition: transform .25s, box-shadow .25s; }
a.aw-card:hover, .aw-card--link:hover { transform: translateY(-4px); box-shadow: var(--aw-shadow-hover); }

/* "Three ways to paint" */
.aw-way { overflow: hidden; display: flex; flex-direction: column; }
.aw-way img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.aw-way__band { height: 6px; }
.aw-way__body { padding: 28px 28px 32px; flex: 1; display: flex; flex-direction: column; }
.aw-way h3 { margin-bottom: 12px; }
.aw-way p { font-size: 17px; flex: 1; color: var(--aw-ink-2); }
.aw-way__go { font-weight: 600; font-size: 17px; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; }
.aw-way--red .aw-way__band { background: var(--aw-red); } .aw-way--red .aw-way__go { color: var(--aw-red); }
.aw-way--gold .aw-way__band { background: var(--aw-gold); } .aw-way--gold .aw-way__go { color: #a96d00; }
.aw-way--teal .aw-way__band { background: var(--aw-teal); } .aw-way--teal .aw-way__go { color: var(--aw-teal); }

/* Event rows */
.aw-ev { display: grid; grid-template-columns: 78px 1fr auto; gap: 22px; align-items: center; background: #fff; border-radius: var(--aw-r); padding: 12px 22px 12px 12px; margin-bottom: 14px; text-decoration: none; color: inherit; box-shadow: var(--aw-shadow-sm); transition: transform .2s, box-shadow .2s; }
a.aw-ev:hover { transform: translateY(-2px); box-shadow: var(--aw-shadow); }
.aw-ev__title { display: block; font: 700 28px/1.05 var(--aw-display); }
.aw-ev__meta { display: block; font-size: 16px; color: var(--aw-ink-2); margin-top: 4px; }
.aw-ev__go { font-weight: 600; font-size: 16px; color: var(--aw-red); }
.aw-ev--past .aw-ev__go { color: var(--aw-ink-2); }

/* Event cards */
.aw-ecard { overflow: hidden; display: flex; flex-direction: column; }
.aw-ecard__img { position: relative; background: var(--aw-gold-t); aspect-ratio: 3/2; }
.aw-ecard__img img { width: 100%; height: 100%; object-fit: cover; }
.aw-ecard .aw-chip { position: absolute; left: 16px; top: 16px; width: 72px; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.aw-ecard__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.aw-ecard h3 { font-size: 30px; }
.aw-ecard__meta { font-size: 16px; color: var(--aw-ink-2); }
.aw-ecard__go { margin-top: auto; padding-top: 12px; font-weight: 600; color: var(--aw-red); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; }
.aw-seats { display: inline-block; align-self: flex-start; background: var(--aw-mint-t); color: var(--aw-teal); font-weight: 700; font-size: 16px; padding: 4px 10px; border-radius: var(--aw-r); }

/* Empty calendar */
.aw-empty { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 4vw, 64px); align-items: center; padding: clamp(28px, 4vw, 52px); }
.aw-empty p { color: var(--aw-ink-2); }

/* ---------- The plugin's chat forms (quick capture, sign up, enquiry) ---------- */
.culc-qc .culc-chat-b { border-radius: var(--aw-r) !important; font-size: 17px; }
.culc-qc .culc-chat-b.is-them { background: var(--aw-paper); color: var(--aw-ink-2); }
.culc-qc textarea, .culc-qc input[type="email"], .culc-qc input[type="text"], .culc-qc input[type="tel"], .culc-qc input[type="date"], .culc-qc input[type="number"] {
	font: inherit; font-size: 17px; border: 1px solid #e3d3bd; border-radius: var(--aw-r) !important; background: #fff; padding: 14px 16px;
}
.culc-qc .culc-qc-go {
	background: var(--aw-red); color: #fff; border: 0; border-radius: var(--aw-r) !important;
	padding: 16px 26px; font: 600 17px/1 var(--aw-body); cursor: pointer;
}
.culc-qc .culc-qc-go:hover { filter: brightness(.94); }

/* ---------- Private events band ---------- */
.aw-sec--navy h2 { color: #fff; }
.aw-sec--navy p { color: #dbe4f1; font-size: 19px; }
.aw-sec--navy .aw-photo { box-shadow: none; }
.aw-photo { border-radius: var(--aw-r); overflow: hidden; }
.aw-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.aw-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin-top: 64px; }
.aw-fact { background: rgba(255, 255, 255, .08); border-radius: var(--aw-r); padding: 24px 22px; }
.aw-fact b { display: block; font: 700 44px/1 var(--aw-display); color: var(--aw-gold); }
.aw-fact span { font-size: 16px; color: #dbe4f1; }
.aw-fact:nth-child(2) b { color: var(--aw-pink); }
.aw-fact:nth-child(3) b { color: var(--aw-mint); }
.aw-fact:nth-child(4) b { color: var(--aw-peach); }
.aw-fact:nth-child(5) b { color: var(--aw-yellow); }

/* ---------- Photo wall (home) ---------- */
.aw-wall { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 270px; gap: 18px; }
.aw-wall img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--aw-r); }
.aw-wall .is-big { grid-row: span 2; }

/* ---------- Visit + hours ---------- */
.aw-hours { padding: 32px 34px; }
.aw-hours h3 { margin-bottom: 16px; }
.aw-hours table { width: 100%; border-collapse: collapse; font-size: 17px; }
.aw-hours td { padding: 11px 0; border-bottom: 1px solid var(--aw-line); }
.aw-hours td:last-child { text-align: right; font-weight: 600; }
.aw-hours tr.is-today td { color: var(--aw-teal); font-weight: 700; }
.aw-today { margin-left: 10px; background: var(--aw-teal); color: #fff; font-size: 16px; padding: 2px 8px; border-radius: var(--aw-r); font-weight: 600; }
.aw-addr { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; font-size: 17px; }
.aw-addr b { display: block; font: 700 18px/1.3 var(--aw-display); letter-spacing: .14em; text-transform: uppercase; color: var(--aw-ink-2); }
.aw-addr a { text-decoration: none; }

/* ---------- Rental Space ---------- */
.aw-inc { padding: 30px 30px 28px; }
.aw-inc i { display: block; width: 16px; height: 16px; border-radius: 50%; margin-bottom: 18px; }
.aw-inc h3 { font-size: 30px; margin-bottom: 8px; }
.aw-inc p { margin: 0; color: var(--aw-ink-2); font-size: 17px; }
.aw-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; list-style: none; margin: 0; padding: 0; }
.aw-step__n { font: 700 88px/1 var(--aw-display); display: block; margin-bottom: 10px; }
.aw-step h3 { margin-bottom: 10px; }
.aw-step p { color: var(--aw-ink-2); font-size: 17px; margin: 0; }
.aw-occ { overflow: hidden; }
.aw-occ img { aspect-ratio: 3/2; object-fit: cover; width: 100%; }
.aw-occ__body { padding: 22px 24px 26px; border-top: 6px solid var(--c, var(--aw-red)); }
.aw-occ h3 { font-size: 28px; margin-bottom: 6px; }
.aw-occ p { margin: 0; color: var(--aw-ink-2); font-size: 17px; }
.aw-space { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.aw-space img { border-radius: var(--aw-r); aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.aw-towns p { color: var(--aw-ink-2); }
.aw-formcard { padding: clamp(26px, 3vw, 40px); }
.aw-formcard__note { display: block; margin-top: 16px; font-size: 16px; color: var(--aw-ink-2); }

/* FAQ accordion (Rental Space, FAQs page, anywhere) */
.aw-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; align-items: start; }
.aw-faq--one { grid-template-columns: 1fr; max-width: 860px; }
.aw-faq details { background: #fff; border-radius: var(--aw-r); box-shadow: var(--aw-shadow-sm); }
.aw-faq summary { cursor: pointer; list-style: none; padding: 20px 52px 20px 22px; position: relative; font-weight: 600; font-size: 18px; }
.aw-faq summary::-webkit-details-marker { display: none; }
.aw-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font: 700 28px/1 var(--aw-display); color: var(--aw-red); }
.aw-faq details[open] summary::after { content: "\2212"; }
.aw-faq__a { padding: 0 22px 20px; color: var(--aw-ink-2); font-size: 17px; }
.aw-faq__a p:last-child { margin-bottom: 0; }

/* ---------- Single event ---------- */
.aw-single { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.aw-single__body { margin-top: 36px; font-size: 19px; color: var(--aw-ink-2); max-width: 680px; }
.aw-panel { overflow: hidden; }
.aw-panel__top { display: flex; gap: 18px; align-items: center; padding: 24px 26px; border-bottom: 1px solid var(--aw-line); }
.aw-panel__day { font: 700 26px/1.1 var(--aw-display); display: block; }
.aw-panel__time { color: var(--aw-ink-2); font-size: 17px; }
.aw-panel dl { margin: 0; padding: 8px 26px 4px; }
.aw-panel dt { font: 700 16px/1 var(--aw-display); letter-spacing: .16em; text-transform: uppercase; color: var(--aw-ink-2); margin-top: 18px; }
.aw-panel dd { margin: 6px 0 0; font-size: 18px; font-weight: 600; }
.aw-panel dd small { display: block; font-size: 16px; font-weight: 400; color: var(--aw-ink-2); }
.aw-panel__cta { padding: 24px 26px 28px; }
.aw-panel__cta .aw-btn { width: 100%; }

/* ---------- Gallery page ---------- */
.aw-gallery { columns: 3; column-gap: 18px; }
.aw-gallery a { display: block; margin-bottom: 18px; break-inside: avoid; border-radius: var(--aw-r); overflow: hidden; }
.aw-gallery img { width: 100%; transition: transform .4s; }
.aw-gallery a:hover img { transform: scale(1.03); }

/* ---------- Contact ---------- */
.aw-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.aw-info { display: grid; gap: 18px; }
.aw-info__card { padding: 26px 28px; }
.aw-info__card h3 { font-size: 28px; margin-bottom: 10px; }
.aw-info__card p { margin: 0 0 10px; color: var(--aw-ink-2); }
.aw-info__card a { color: var(--aw-ink); }
.aw-social { display: flex; gap: 10px; flex-wrap: wrap; }
.aw-social a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border: 1.5px solid var(--aw-line); border-radius: var(--aw-r); text-decoration: none; font-weight: 600; font-size: 16px; }
.aw-social a:hover { border-color: var(--aw-ink); }
.aw-map { border-radius: var(--aw-r); overflow: hidden; margin-top: 48px; box-shadow: var(--aw-shadow); }
.aw-map iframe { display: block; width: 100%; height: 420px; border: 0; }

/* ---------- Prose: pages, posts, privacy ---------- */
.aw-prose { max-width: 760px; font-size: 18px; }
.aw-prose h2 { font-size: clamp(34px, 3.4vw, 44px); margin: 48px 0 16px; }
.aw-prose h3 { font-size: 28px; margin: 36px 0 12px; }
.aw-prose ul, .aw-prose ol { padding-left: 22px; margin: 0 0 18px; }
.aw-prose li { margin-bottom: 8px; }
.aw-prose a { color: var(--aw-red); }
.aw-prose img { border-radius: var(--aw-r); }
.aw-prose blockquote { margin: 36px 0; padding: 24px 28px; border-left: 6px solid var(--aw-gold); background: var(--aw-gold-t); border-radius: 0 var(--aw-r) var(--aw-r) 0; font-size: 22px; }

/* ---------- Blog ---------- */
.aw-post-card { overflow: hidden; display: flex; flex-direction: column; }
.aw-post-card__img { aspect-ratio: 3/2; background: var(--aw-gold-t); }
.aw-post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.aw-post-card__body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.aw-post-card__date { font: 700 16px/1 var(--aw-display); letter-spacing: .14em; text-transform: uppercase; color: var(--aw-teal); }
.aw-post-card h3 { font-size: 30px; }
.aw-post-card p { margin: 0; color: var(--aw-ink-2); font-size: 17px; flex: 1; }
.aw-post-card__go { font-weight: 600; color: var(--aw-red); }
.aw-post__meta { color: var(--aw-ink-2); font-size: 17px; margin-top: 14px; }
.aw-post__img { border-radius: var(--aw-r); overflow: hidden; margin: 0 0 44px; }
.aw-post__img img { width: 100%; }
.aw-pagination { margin-top: 56px; display: flex; gap: 10px; justify-content: center; }
.aw-pagination .page-numbers { display: inline-flex; min-width: 48px; height: 48px; align-items: center; justify-content: center; padding: 0 14px; border-radius: var(--aw-r); background: #fff; box-shadow: var(--aw-shadow-sm); text-decoration: none; font-weight: 600; }
.aw-pagination .page-numbers.current { background: var(--aw-ink); color: #fff; }

/* ---------- Footer (never sticky) ---------- */
.aw-footer { background: var(--aw-charcoal); color: #e9dfd0; padding: 72px 0 36px; font-size: 16px; }
.aw-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr; gap: 36px; }
.aw-footer__brand img, .aw-footer__brand .custom-logo { height: 54px; width: auto; margin-bottom: 18px; }
.aw-footer h4 { font: 700 18px/1 var(--aw-display); letter-spacing: .16em; text-transform: uppercase; color: #fff; margin: 0 0 16px; }
.aw-footer ul { list-style: none; margin: 0; padding: 0; }
.aw-footer li { margin-bottom: 10px; }
.aw-footer a { text-decoration: none; }
.aw-footer a:hover { color: var(--aw-gold); }
.aw-footer address { font-style: normal; }
.aw-footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, .16); margin-top: 48px; padding-top: 24px; }
/* The plugin's quiet "Sign in" link prints after the footer. */
.culc-ownerbar.is-quiet { --culc-ownerbar-bg: var(--aw-charcoal); }
.culc-ownerbar.is-quiet .culc-ownerbar-quiet { color: rgba(255, 255, 255, .7); }

/* ---------- Lightbox (gallery) ---------- */
.aw-lb { position: fixed; inset: 0; background: rgba(15, 12, 8, .92); z-index: 9999; display: none; align-items: center; justify-content: center; padding: clamp(20px, 4vw, 56px); overflow: auto; }
.aw-lb.is-open { display: flex; }
.aw-lb__stage { margin: 0; max-width: min(1200px, 92vw); max-height: 86vh; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.aw-lb__stage img { max-width: 100%; max-height: 80vh; width: auto; height: auto; object-fit: contain; border-radius: var(--aw-r); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.aw-lb__stage figcaption { color: rgba(255, 255, 255, .78); font-size: 16px; text-align: center; }
.aw-lb__close, .aw-lb__prev, .aw-lb__next { position: absolute; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; border-radius: var(--aw-r); display: inline-flex; align-items: center; justify-content: center; }
.aw-lb__close { top: 20px; right: 20px; width: 48px; height: 48px; }
.aw-lb__prev, .aw-lb__next { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; }
.aw-lb__prev { left: 20px; } .aw-lb__next { right: 20px; }
.aw-lb__close:hover, .aw-lb__prev:hover, .aw-lb__next:hover { background: rgba(255, 255, 255, .22); }
.aw-lb__counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, .7); font-size: 16px; letter-spacing: .18em; }

/* ---------- Phones and tablets ---------- */
@media (max-width: 960px) {
	.aw-nav { display: none; }
	.aw-nav.is-open {
		display: block; position: absolute; top: 100%; left: 0; right: 0; z-index: 60;
		background: #fff; padding: 24px var(--aw-gutter) 32px; box-shadow: var(--aw-shadow);
	}
	.aw-nav.is-open > ul { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 22px; }
	.aw-nav-toggle { display: block; }
	.aw-brand img, .aw-brand .custom-logo { height: 48px; }

	.aw-hero { display: block; min-height: 0; }
	.aw-hero__text { width: auto; padding: 44px 0 40px; }
	.aw-hero__photo { position: relative; top: auto; bottom: auto; right: auto; width: auto; height: 360px; margin: 0 var(--aw-gutter) 40px; }
	.aw-float { left: 16px; right: 16px; bottom: 16px; max-width: none; }

	.aw-split, .aw-empty, .aw-single, .aw-contact, .aw-faq { grid-template-columns: 1fr; }
	.aw-grid3, .aw-steps, .aw-space, .aw-wall { grid-template-columns: 1fr; }
	.aw-wall { grid-auto-rows: 240px; } .aw-wall .is-big { grid-row: auto; }
	.aw-facts { grid-template-columns: 1fr 1fr; }
	.aw-footer__grid { grid-template-columns: 1fr 1fr; }
	.aw-footer__grid > :first-child { grid-column: 1 / -1; }
	.aw-gallery { columns: 2; }
	.aw-ev { grid-template-columns: 64px 1fr; gap: 14px; }
	.aw-ev .aw-chip { width: 64px; }
	.aw-ev .aw-chip b { font-size: 28px; }
	.aw-ev__go { display: none; }
	.aw-ev__title { font-size: 24px; }
	.aw-addr { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.aw-gallery { columns: 1; }
	.aw-facts { grid-template-columns: 1fr; }
	.aw-footer__grid { grid-template-columns: 1fr; }
	.aw-util .aw-wrap { justify-content: space-between; }
	.aw-util__addr { display: none; }
}

/* Services, classes and offers (2.0.2) */
.aw-ecard__text { margin: 6px 0 0; font-size: 17px; color: var(--aw-ink-2); }
.aw-panel > dl:first-child { padding-top: 14px; }
.aw-panel .cul-claim-card, .aw-panel .culc-qc { margin: 0; box-shadow: none; border: 0; padding: 0; background: transparent; }
.cul-claim-card h3, .cul-claim-card .cul-claim-heading { font: 700 26px/1.1 var(--aw-display); }
.cul-claim-card input[type="email"], .cul-claim-card input[type="text"] {
	font: inherit; font-size: 17px; border: 1px solid #e3d3bd; border-radius: var(--aw-r) !important; background: #fff; padding: 14px 16px;
}
.cul-claim-card .cul-claim-submit {
	width: 100%; background: var(--aw-red) !important; color: #fff; border: 0; border-radius: var(--aw-r) !important;
	padding: 17px 26px; font: 600 17px/1 var(--aw-body) !important; letter-spacing: 0; text-transform: none; cursor: pointer;
}
.cul-claim-card .cul-claim-submit:hover { filter: brightness(.94); }
.culc-evt-signup, .cul-claim-card { border-radius: var(--aw-r) !important; }
.aw-panel .cul-claim-card { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }

/* Rentals diary on the Rental Space page */
.culc-cal .culc-cal-nav, .culc-cal .culc-cal-day, .culc-cal .culc-cal-key i { border-radius: var(--aw-r) !important; }
.culc-cal .culc-cal-day.is-open { color: var(--aw-ink); }
.culc-cal .culc-cal-day.is-open:hover, .culc-cal .culc-cal-day.is-picked { background: var(--aw-red) !important; border-color: var(--aw-red) !important; color: #fff !important; }
.culc-cal-sub { color: var(--aw-ink-2); }
.culc-cal-change { font: inherit; font-size: 16px; color: var(--aw-red); background: none; border: 0; text-decoration: underline; cursor: pointer; }
.culc-cal .culc-cal-grid { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; }
.culc-cal .culc-cal-day, .culc-cal .culc-cal-dow { min-width: 0 !important; }
@media (max-width: 560px) {
	.culc-cal .culc-cal-grid { gap: 4px !important; }
	.culc-cal .culc-cal-dow { font-size: 16px !important; letter-spacing: 0 !important; overflow: hidden; }
	.aw-formcard { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 360px) {
	.culc-cal .culc-cal-grid { gap: 2px !important; }
	.culc-cal .culc-cal-dow { text-transform: none !important; letter-spacing: -.03em !important; padding-left: 0 !important; padding-right: 0 !important; }
	.aw-formcard { padding-left: 12px !important; padding-right: 12px !important; }
}

/* Events page: alerts beside "a night of your own" (2.0.4) */
.aw-evways { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: stretch; }
.aw-evways__alert { padding: clamp(28px, 4vw, 52px); }
.aw-evways__alert h2 { margin-top: 4px; }
.aw-evways__alert p { color: var(--aw-ink-2); font-size: 18px; margin: 16px 0 22px; }
.aw-evways__own { display: flex; flex-direction: column; overflow: hidden; color: inherit; text-decoration: none; }
.aw-evways__img img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.aw-evways__body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.aw-evways__body h3 { font-size: 32px; }
.aw-evways__body p { color: var(--aw-ink-2); font-size: 17px; margin: 0 0 8px; }
.aw-evways__body .aw-btn { align-self: flex-start; margin-top: auto; }
@media (max-width: 960px) { .aw-evways { grid-template-columns: 1fr; } }
.aw-noevents { padding: clamp(28px, 4vw, 52px); max-width: none; }
.aw-noevents h2 { font-size: clamp(32px, 4vw, 48px); }
.aw-noevents p { color: var(--aw-ink-2); font-size: 19px; margin: 12px 0 24px; }
.aw-noevents .culc-qc { max-width: 560px; }
.aw-noevents .culc-chat-log > .culc-chat-b.is-them:first-child { display: none; }
/* Facebook photos come in every shape: the card crops them to 3:2 instead of growing. */
.aw-ecard__img { overflow: hidden; }
.aw-ecard__img img { position: absolute; inset: 0; }
.aw-ecard__img .aw-chip { z-index: 1; }

/* Sign up and booking forms in the event panel: one plain conversation (2.0.18).
   No "Anything else?" aside between email and name, a modest heading, quiet bubbles. */
.aw-panel .culc-qc-said { display: none !important; }
.aw-panel .culc-qc-heading, .aw-panel .culc-evt-signup h2, .aw-panel .culc-evt-signup h3 { font: 700 26px/1.1 var(--aw-display); margin: 0 0 12px; }
.aw-panel .culc-chat-log { margin: 0 0 12px; padding: 0; gap: 8px; }
.aw-panel .culc-chat-b { font-size: 16px !important; line-height: 1.45; padding: 10px 14px !important; box-shadow: none !important; }
.aw-panel .culc-chat-b.is-them { background: var(--aw-paper) !important; border: 0 !important; color: var(--aw-ink-2); }
.aw-panel .culc-evt-signup { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
