/* Additions for the Laravel build. Uses the th.css tokens and keeps to the approved design. */
.pd-enquiry { margin: 6px 0 34px; padding: clamp(20px, 3vw, 32px); }
.pd-enquiry-title { margin: 0 0 4px; font-weight: 800; font-size: 18px; letter-spacing: -0.01em; }
.pd-enquiry .field input[type="number"] { appearance: textfield; }
a.quick-add { text-decoration: none; }
.flash-toast { z-index: 9700; }
.flash-toast.is-error::before { content: "!"; background: var(--ink); color: var(--white); }

/* announcement bar above the floating header */
.announce { position: relative; z-index: 810; padding: 9px var(--gut); background: var(--red); color: var(--white); text-align: center; font-size: 13.5px; font-weight: 600; }
.announce a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.has-announcement .hdr { top: 52px; }
.has-announcement .hdr.is-scrolled { top: 14px; }

/* checkout */
.co-errors { margin: 0 0 26px; padding: 16px 20px; border-radius: 16px; background: rgba(200, 16, 46, 0.08); box-shadow: inset 0 0 0 1px rgba(200, 16, 46, 0.3); }
.co-cal { display: grid; gap: 14px; }
.co-cal .topics label.is-off span { opacity: 0.35; text-decoration: line-through; cursor: not-allowed; }
.co-check { display: flex; align-items: center; gap: 10px; font-size: 14.5px; cursor: pointer; }
.co-check input { width: 18px; height: 18px; accent-color: var(--red); }
.co-coupon { display: flex; gap: 8px; margin: 6px 0 4px; }
.co-coupon input { flex: 1; min-width: 0; height: 46px; padding: 0 16px; border: 0; border-radius: 999px; background: rgba(244, 239, 231, 0.1); color: var(--bone); font: inherit; font-size: 14px; outline: none; box-shadow: inset 0 0 0 1px var(--line-d); text-transform: uppercase; }
.co-coupon input::placeholder { color: var(--mute-d); text-transform: none; }
.co-coupon input:focus { box-shadow: inset 0 0 0 1.5px var(--red-hot); }
.co-coupon button { height: 46px; padding: 0 18px; border-radius: 999px; background: var(--bone); color: var(--ink); font-weight: 700; font-size: 14px; }
.co-coupon button:hover { background: var(--red); color: var(--white); }
.co-coupon-msg { min-height: 18px; margin: 0 0 8px; font-size: 13px; color: var(--mute-d); }
.co-coupon-msg.is-error { color: var(--red-hot); }

/* footer social links */
.ftr-social { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0 0 40px; }
.ftr-social a { color: rgba(244, 239, 231, 0.75); font-weight: 600; transition: color 0.3s; }
.ftr-social a:hover { color: var(--red-hot); }

/* cookie consent */
.consent { position: fixed; left: 16px; bottom: 16px; z-index: 9650; display: grid; gap: 12px; width: min(380px, calc(100vw - 32px)); padding: 18px 20px; border-radius: 20px; background: var(--ink); color: var(--bone); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6), inset 0 0 0 1px var(--line-d); }
.consent[hidden] { display: none; }
.consent p { margin: 0; font-size: 14px; line-height: 1.5; }
.consent-actions { display: flex; align-items: center; gap: 14px; }
.consent-no { color: var(--mute-d); font-weight: 600; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

/* content pages written in the admin */
.cms-body { max-width: 72ch; font-size: 17px; line-height: 1.7; }
.cms-body h2 { margin: 1.8em 0 0.5em; font-size: clamp(24px, 2.4vw, 32px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.cms-body h3 { margin: 1.5em 0 0.4em; font-size: 20px; font-weight: 800; }
.cms-body p, .cms-body ul, .cms-body ol { margin: 0 0 1em; }
.cms-body a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.cms-body blockquote { margin: 1.4em 0; padding-left: 20px; border-left: 3px solid var(--red); font-family: var(--f-serif); font-style: italic; font-size: 22px; }
.cms-updated { margin-top: 2.4em !important; color: var(--mute); font-size: 14px; }
