/* ==========================================================================
   CanGlow — WordPress integration layer
   --------------------------------------------------------------------------
   canglow.css is the design's own stylesheet and stays untouched. Everything
   in this file exists only because the design now runs inside WordPress:
   markup WordPress and Contact Form 7 add that the design has no slot for,
   and the form control styles the design authored inline but Contact Form 7
   can only apply by class.
   ========================================================================== */

/* ---- WordPress boilerplate the design assumes away ---- */
.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip-path:none;height:auto;width:auto;left:5px;top:5px;z-index:100000;padding:15px 23px;background:#C8102E;color:#fff;border-radius:6px;font-weight:700}

/* The header is sticky; the admin bar must not sit on top of it. */
body.admin-bar header[style*="sticky"]{top:32px}
@media screen and (max-width:782px){body.admin-bar header[style*="sticky"]{top:46px}}

/* Core block defaults, tuned to the design's dark canvas. */
.alignwide{max-width:1240px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
.wp-block-image img{border-radius:18px}
figcaption{font-size:13.5px;color:#A9968A}

/* Pagination on the fallback archive template. */
.navigation.pagination{margin-top:clamp(30px,4vw,48px)}
.navigation.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;border:1px solid rgba(233,200,124,.28);color:#C4B2A6;font-size:15px;font-weight:600}
.navigation.pagination .page-numbers:hover{background:rgba(233,200,124,.12);color:#FBEDCB}
.navigation.pagination .page-numbers.current{background:linear-gradient(135deg,#E12B3C,#C8102E 58%,#8E0A20);color:#FFF3E8;border-color:rgba(255,214,170,.3)}

/* ==========================================================================
   Contact Form 7
   --------------------------------------------------------------------------
   The blocks supply the design's own form shell. Contact Form 7 supplies the
   inputs. These rules erase the wrappers it adds and reproduce, by class, the
   inline input styles the design authored.
   ========================================================================== */

.cg-form .wpcf7-form-control-wrap{display:contents}
.cg-form .wpcf7-spinner{display:none}
.cg-form p{margin:0}

/*
 * Contact Form 7 prints its hidden-field fieldset and its response box on
 * every render, and relies on its own stylesheet to keep them out of the way.
 * That stylesheet is dequeued here, so these two rules take its place —
 * without them both show up as empty outlined bars inside the design's cards.
 */
.cg-form .hidden-fields-container{display:none}

/*
 * Contact Form 7 announces the result through a live region, and relies on
 * its own stylesheet to keep that region off screen. That stylesheet is
 * dequeued here, so without this rule the announcement paints on top of the
 * visible message — the same sentence twice. It is hidden visually rather
 * than with display:none, which would stop screen readers reading it out.
 */
.screen-reader-response{
	position:absolute;
	overflow:hidden;
	clip:rect(1px,1px,1px,1px);
	clip-path:inset(50%);
	height:1px;
	width:1px;
	margin:-1px;
	padding:0;
	border:0;
	word-wrap:normal!important;
}
.cg-form .wpcf7-response-output[aria-hidden="true"]:empty,
.cg-form .wpcf7-response-output:empty{display:none}

/* --- light skin: forms on the design's cream cards --- */
.cg-field{display:grid;gap:7px}
.cg-label{font-size:13.5px;font-weight:700;color:#4A362E}
.cg-input,
.cg-select,
.cg-textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(90,50,30,.22);background:#FFF;font-size:16px;color:#2A1D18;outline:none}
.cg-textarea{resize:vertical}
.cg-input:focus,
.cg-select:focus,
.cg-textarea:focus{border-color:#B4171F}
.cg-input::placeholder,
.cg-textarea::placeholder{color:#9A8278}

/* --- dark skin: the mailing-list and on-dark forms --- */
.cg-label-dark{font-size:13.5px;font-weight:700;color:#D9C6B8}
.cg-input-dark,
.cg-select-dark,
.cg-textarea-dark{width:100%;min-width:0;padding:17px 20px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(233,200,124,.4);color:#FFF6EC;font-size:16px;outline:none}
.cg-textarea-dark{resize:vertical}
.cg-input-dark:focus,
.cg-select-dark:focus,
.cg-textarea-dark:focus{border-color:#F0D79A;background:rgba(255,255,255,.12)}
.cg-input-dark::placeholder,
.cg-textarea-dark::placeholder{color:#A9968A}
.cg-input-dark.cg-inline{flex:1 1 220px}

/* --- buttons --- */
.cg-submit{padding:17px 28px;border-radius:14px;background:linear-gradient(135deg,#E12B3C 0%,#C8102E 58%,#8E0A20 100%);color:#FFF3E8;font-weight:800;font-size:16.5px;border:1px solid rgba(255,214,170,.3);cursor:pointer;transition:transform .25s ease}
.cg-submit:hover{transform:translateY(-2px)}
.cg-submit-gold{padding:17px 30px;border-radius:14px;background:linear-gradient(135deg,#F0D79A,#C9A227 62%,#9C7A16);color:#241606;font-weight:800;font-size:16px;border:1px solid rgba(255,235,190,.5);cursor:pointer;transition:transform .25s ease}
.cg-submit-gold:hover{transform:translateY(-2px)}
.cg-form [disabled]{opacity:.6;cursor:progress}

/* --- Contact Form 7's own status messages, restyled per skin --- */
.cg-form .wpcf7-response-output{margin:14px 0 0;padding:13px 16px;border-radius:12px;font-size:15px;line-height:1.55;border:1px solid rgba(90,50,30,.22);background:#FFF8F4;color:#4A362E}
.cg-form.sent .wpcf7-response-output{background:#F2FBF5;border-color:rgba(0,103,75,.35);color:#0B5B41}
.cg-form.invalid .wpcf7-response-output,
.cg-form.failed .wpcf7-response-output,
.cg-form.spam .wpcf7-response-output{background:#FFF3F0;border-color:rgba(200,16,46,.35);color:#8E1119}
.cg-form .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:13.5px;font-weight:600;color:#8E1119}
.cg-form .cg-input.wpcf7-not-valid,
.cg-form .cg-textarea.wpcf7-not-valid,
.cg-form .cg-select.wpcf7-not-valid{border-color:#C8102E}

.cg-form-dark .wpcf7-response-output{background:rgba(255,255,255,.07);border-color:rgba(233,200,124,.4);color:#F3E9E0}
.cg-form-dark.sent .wpcf7-response-output{background:rgba(0,103,75,.2);border-color:rgba(120,220,180,.45);color:#C8F5E2}
.cg-form-dark.invalid .wpcf7-response-output,
.cg-form-dark.failed .wpcf7-response-output,
.cg-form-dark.spam .wpcf7-response-output{background:rgba(200,16,46,.16);border-color:rgba(240,166,174,.45);color:#FFD8D8}
.cg-form-dark .wpcf7-not-valid-tip{color:#FFD8D8}

/* The honeypot-style consent field, kept out of the visual flow. */
.cg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ==========================================================================
   Prose section
   --------------------------------------------------------------------------
   Core heading and paragraph blocks inside acf/prose-section. The design set
   these sizes inline on the legal pages; here they have to be rules, because
   the markup now comes from core blocks the editor writes.
   ========================================================================== */

.cg-prose > h2{margin:0 0 12px;font-size:24px;font-weight:800;letter-spacing:-.02em;color:#1E1310}
.cg-prose > h3{margin:0 0 10px;font-size:20px;font-weight:800;color:#1E1310}
.cg-prose > p{margin:0 0 26px;font-size:16.5px;line-height:1.72;color:#6B554B}
.cg-prose > p + h2,
.cg-prose > ul + h2,
.cg-prose > ol + h2{margin-top:34px}
.cg-prose > ul,
.cg-prose > ol{margin:0 0 26px;padding-left:22px;font-size:16.5px;line-height:1.72;color:#6B554B}
.cg-prose > ul li,
.cg-prose > ol li{margin:0 0 8px}
.cg-prose a{color:#8E1119;text-decoration:underline;text-underline-offset:3px}
.cg-prose a:hover{color:#B4171F}
.cg-prose > hr{margin:34px 0;border:0;border-top:1px solid rgba(90,50,30,.16)}

.cg-prose--dark > h2,
.cg-prose--dark > h3{color:#FFF6EC}
.cg-prose--dark > p,
.cg-prose--dark > ul,
.cg-prose--dark > ol{color:#A9968A}
.cg-prose--dark a{color:#E7C87C}
.cg-prose--dark a:hover{color:#FFD36A}
.cg-prose--dark > hr{border-top-color:rgba(233,200,124,.18)}

/* ==========================================================================
   Captcha
   --------------------------------------------------------------------------
   Cloudflare Turnstile sits above the submit button on the enquiry forms. It
   renders nothing until keys are entered under Contact → Integration, so the
   wrapper must not reserve space while it is empty.
   ========================================================================== */

.cg-captcha:not(:empty){margin:4px 0 2px}
.cg-captcha iframe{max-width:100%}

/* The widget ships its own light and dark skins; the enquiry cards are light,
   so nothing is forced here beyond keeping it inside the column. */
.cg-captcha .cf-turnstile{display:block}
