/*
 * ct-service-engine - P3.6 client UI (design tokens + components)
 * Scoped to <body class="ctse-ui">. Reversible: remove the enqueue or this file.
 */
/* Self-hosted fonts (OFL) - see assets/fonts/LICENSE.txt */
@font-face {
	font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
	src: url("fonts/inter-400.woff2") format("woff2");
}
@font-face {
	font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap;
	src: url("fonts/inter-600.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap;
	src: url("fonts/fraunces-600.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces"; font-style: normal; font-weight: 700; font-display: swap;
	src: url("fonts/fraunces-700.woff2") format("woff2");
}

:root {
	--ct-navy:#0F2A43; --ct-navy-2:#12304e; --ct-ink:#1F2933; --ct-muted:#5B6B7A;
	--ct-paper:#F6F3EE; --ct-surface:#fff; --ct-line:#E4E0D8; --ct-accent:#C9A227;
	--ct-info:#2F6FB0; --ct-warn:#B7791F; --ct-ok:#2E7D5B; --ct-stop:#B23B3B;
	--ct-accent-ink:#8A6A1E;
	--ct-seal:#9A2B2B;
	--ct-sans:"Inter",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--ct-serif:"Fraunces",Georgia,"Times New Roman",serif;
	--ct-r:10px;
}

body.ctse-ui {
	background: var(--ct-paper);
	color: var(--ct-ink);
	font-family: var(--ct-sans);
}
body.ctse-ui .site-content,
body.ctse-ui .entry-content { color: var(--ct-ink); }

/* Keyboard skip link: hidden until focused. */
.ctse-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--ct-navy);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.ctse-skip:focus{left:0;outline:3px solid rgba(47,111,176,.45);outline-offset:2px}

/* Buttons */
body.ctse-ui .button,
body.ctse-ui button.button,
body.ctse-ui input[type="submit"],
body.ctse-ui .wp-block-button__link,
body.ctse-ui a.button {
	background: var(--ct-navy);
	border: 1.5px solid var(--ct-navy);
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
	padding: .72em 1.2em;
	transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
}
body.ctse-ui .button:hover,
body.ctse-ui input[type="submit"]:hover,
body.ctse-ui a.button:hover { background: var(--ct-navy-2); color:#fff; }
body.ctse-ui .button:focus-visible,
body.ctse-ui a.button:focus-visible { outline: 3px solid rgba(47,111,176,.45); outline-offset: 2px; }
body.ctse-ui .button[disabled],
body.ctse-ui button[disabled] { opacity:.6; cursor:not-allowed; }
body.ctse-ui .is-style-outline .wp-block-button__link,
body.ctse-ui .button.is-style-outline {
	background: transparent; color: var(--ct-navy);
}

/* Inputs */
body.ctse-ui input[type="text"],
body.ctse-ui input[type="email"],
body.ctse-ui input[type="url"],
body.ctse-ui input[type="number"],
body.ctse-ui select,
body.ctse-ui textarea {
	width: 100%;
	border: 1px solid var(--ct-line);
	border-radius: 6px;
	padding: 10px 12px;
	background: #fff;
	color: var(--ct-ink);
	box-shadow: none;
}
body.ctse-ui input:focus,
body.ctse-ui select:focus,
body.ctse-ui textarea:focus {
	border-color: var(--ct-info);
	outline: none;
	box-shadow: 0 0 0 3px rgba(47,111,176,.15);
}
body.ctse-ui input:user-invalid,
body.ctse-ui select:user-invalid,
body.ctse-ui textarea:user-invalid { border-color: var(--ct-stop); }

/* Hero band */
.ctse-hero {
	background: var(--ct-navy);
	color: #fff;
	padding: 64px 28px 56px;
	margin: 0 0 8px;
}
.ctse-hero__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.ctse-hero h1 {
	font-family: var(--ct-serif);
	font-size: clamp(30px, 4.6vw, 52px);
	line-height: 1.12;
	margin: 0 auto 14px;
	color: #fff;
}
.ctse-hero p { color: #D6DEE6; max-width: 640px; margin: 0 auto; font-size: 17px; }
.ctse-hero--left .ctse-hero__inner { text-align: left; margin: 0; }
.ctse-eyebrow {
	font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
	color: var(--ct-muted); margin-bottom: 10px;
}
.ctse-hero .ctse-eyebrow { color: #A9BACB; }

/* Plan / service cards */
.ctse-plans { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin: 28px 0; }
.ctse-plan {
	background: var(--ct-surface);
	border: 1px solid var(--ct-line);
	border-radius: var(--ct-r);
	padding: 26px 22px;
	display: flex; flex-direction: column;
}
.ctse-plan__tag {
	align-self: flex-start; font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ct-muted); border: 1px solid var(--ct-line); border-radius: 999px; padding: 4px 10px;
}
.ctse-plan h3 { font-size: 20px; margin: 14px 0 4px; }
.ctse-plan__price { font-size: 38px; font-weight: 700; letter-spacing: -.5px; margin: 4px 0 2px; color: var(--ct-navy); }
.ctse-plan__price small { font-size: 15px; font-weight: 600; color: var(--ct-muted); margin-right: 6px; }
.ctse-plan__desc { color: var(--ct-muted); font-size: 15px; margin: 6px 0 18px; }
.ctse-plan .ctse-plan__cta { margin: 0 0 18px; text-align: center; display: block; }
.ctse-plan.is-featured {
	background: var(--ct-navy); border-color: var(--ct-navy);
	box-shadow: 0 18px 40px rgba(15,42,67,.22); transform: translateY(-6px);
}
.ctse-plan.is-featured h3, .ctse-plan.is-featured .ctse-plan__price { color: #fff; }
.ctse-plan.is-featured .ctse-plan__desc,
.ctse-plan.is-featured .ctse-plan__price small,
.ctse-plan.is-featured .ctse-list li { color: #C7D2DC; }
.ctse-plan.is-featured .ctse-plan__tag { background: var(--ct-accent); border-color: var(--ct-accent); color: #231a00; }
.ctse-plan.is-featured .ctse-plan__cta { background:#fff; border-color:#fff; color: var(--ct-navy); }

.ctse-list { list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--ct-line); }
.ctse-plan.is-featured .ctse-list { border-top-color: rgba(255,255,255,.16); }
.ctse-list li { position: relative; padding: 6px 0 6px 26px; font-size: 14.5px; }
.ctse-list li::before {
	content: ""; position: absolute; left: 0; top: 11px; width: 15px; height: 15px;
	border-radius: 50%; background: var(--ct-ok);
}
.ctse-list li::after {
	content: ""; position: absolute; left: 5px; top: 14px; width: 4px; height: 8px;
	border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* Content sections */
.ctse-section { max-width: 1000px; margin: 0 auto; padding: 44px 28px; }
.ctse-section h2 { font-family: var(--ct-serif); font-size: 28px; margin: 0 0 18px; }
.ctse-muted { color: var(--ct-muted); }

/* Configurator / brief cards */
.ctse-configurator, .ctse-brief {
	background: var(--ct-surface);
	border: 1px solid var(--ct-line);
	border-radius: var(--ct-r);
	padding: 24px;
	max-width: 720px;
}
.ctse-field { margin: 0 0 14px; }
.ctse-field > label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 14px; }
.ctse-field label { font-weight: 600; }
.ctse-form h3 { margin: 0 0 6px; }
.ctse-from { color: var(--ct-muted); margin: 0 0 12px; }
.ctse-note { color: var(--ct-muted); font-size: 13px; margin-top: 10px; }
.ctse-msg { margin-top: 8px; }
.ctse-result {
	margin-top: 16px; border: 1px solid var(--ct-line); border-radius: var(--ct-r);
	padding: 18px; background: #fff;
}
.ctse-result h4 { margin: 0 0 10px; }
.ctse-line { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; }
.ctse-total { font-weight: 700; border-top: 1px solid var(--ct-line); margin-top: 8px; padding-top: 8px; }
.ctse-scope { color: var(--ct-muted); font-size: .93em; }

/* Homepage / section extras */
.ctse-hero--home { padding: 92px 28px 76px; }
.ctse-hero__cta { margin-top: 22px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.ctse-hero__trust{margin:16px 0 0;font-size:13.5px;color:#A9BACB;letter-spacing:.01em}
.ctse-hero__trust strong{color:#fff;font-weight:700}
.ctse-hero__price{margin:14px 0 0;font-size:15px;color:#D6DEE6}
.ctse-hero__price strong{color:#fff}
.ctse-hero--split .ctse-hero__trust{margin:18px 0 0}
body.ctse-ui .ctse-hero__cta .button { padding: 12px 20px; background:#fff; border-color:#fff; color: var(--ct-navy); }
body.ctse-ui .ctse-hero__cta .button:hover { background:#E9EDF1; color: var(--ct-navy); }
body.ctse-ui .ctse-hero__cta .button.is-ghost { background: transparent; border-color: rgba(255,255,255,.5); color:#fff; }
body.ctse-ui .ctse-hero__cta .button.is-ghost:hover { background: rgba(255,255,255,.08); }

.ctse-features { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.ctse-feature { background: var(--ct-surface); border:1px solid var(--ct-line); border-radius: var(--ct-r); padding:22px; }
.ctse-feature__ic { width:34px; height:34px; border-radius:9px; background: rgba(15,42,67,.08); color: var(--ct-navy); display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:10px; }
.ctse-feature h3 { margin:0 0 6px; font-size:17px; }
.ctse-feature p { margin:0; color: var(--ct-muted); font-size:14.5px; }

.ctse-split { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.ctse-price-table { width:100%; border-collapse:collapse; background:var(--ct-surface); border:1px solid var(--ct-line); border-radius:var(--ct-r); overflow:hidden; }
.ctse-price-table th, .ctse-price-table td { text-align:left; padding:12px 16px; border-bottom:1px solid var(--ct-line); font-size:14.5px; }
.ctse-price-table th { background:#FBF9F5; font-weight:600; }
.ctse-price-table tr:last-child td { border-bottom:0; }
.ctse-price-table td:last-child { text-align:right; font-weight:700; color: var(--ct-navy); }

.ctse-faq { border-top:1px solid var(--ct-line); }
.ctse-faq details { border-bottom:1px solid var(--ct-line); padding:14px 0; }
.ctse-faq summary { cursor:pointer; font-weight:600; list-style:none; }
.ctse-faq summary::-webkit-details-marker { display:none; }
.ctse-faq summary::after { content:"+"; float:right; color:var(--ct-muted); }
.ctse-faq details[open] summary::after { content:"\2013"; }
.ctse-faq p { margin:10px 0 0; color: var(--ct-muted); font-size:14.5px; }

.ctse-cta-band { background: var(--ct-navy); color:#fff; border-radius: var(--ct-r); padding:40px 28px; text-align:center; margin: 8px auto; max-width:1000px; }
.ctse-cta-band h2 { color:#fff; font-family: var(--ct-serif); margin:0 0 10px; }
.ctse-cta-band p { color:#C7D2DC; margin:0 auto 18px; max-width:560px; }

/* Status pills (used by admin and future) */
.ctse-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; color: #fff; }
.ctse-pill--reviewing { background: var(--ct-info); }
.ctse-pill--needs_information, .ctse-pill--warn { background: var(--ct-warn); }
.ctse-pill--qualified, .ctse-pill--accepted, .ctse-pill--ok { background: var(--ct-ok); }
.ctse-pill--declined, .ctse-pill--expired, .ctse-pill--stop { background: var(--ct-stop); }

/* Focus visibility (a11y) */
body.ctse-ui a:focus-visible, body.ctse-ui button:focus-visible { outline: 3px solid rgba(47,111,176,.45); outline-offset: 2px; }

@media (max-width: 900px) {
	.ctse-plans { grid-template-columns: 1fr; }
	.ctse-plan.is-featured { transform: none; }
	.ctse-hero { padding: 44px 20px 40px; }
	.ctse-section { padding: 32px 20px; }
	.ctse-features { grid-template-columns: 1fr; }
	.ctse-split { grid-template-columns: 1fr; }
	.ctse-price-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.ctse-price-table th, .ctse-price-table td { white-space: nowrap; }
}

.ctse-context__h { margin-top: 18px; }
.ctse-context__suggest { color: var(--ct-muted); font-size: 12.5px; }
.ctse-brief .ctse-field { margin-top: 8px; }
.ctse-brief .ctse-field input, .ctse-brief .ctse-field textarea { width: 100%; }

.ctse-tagline { margin: 2px 0 8px; color: var(--ct-muted); font-size: 14px; }

/* ============ Icon system (CSS mask; KSES-safe) ============ */
.ctse-ic{display:inline-block;width:22px;height:22px;background:currentColor;
	-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;vertical-align:middle;flex:0 0 auto}
.ctse-ic--human{--ic:url("icons/human.svg")}
.ctse-ic--price{--ic:url("icons/price.svg")}
.ctse-ic--scope{--ic:url("icons/scope.svg")}
.ctse-ic--native{--ic:url("icons/native.svg")}
.ctse-ic--style{--ic:url("icons/style.svg")}
.ctse-ic--noai{--ic:url("icons/noai.svg")}
.ctse-ic--instant{--ic:url("icons/instant.svg")}
.ctse-ic--scoped{--ic:url("icons/scoped.svg")}
.ctse-ic--package{--ic:url("icons/package.svg")}

/* ============ Hero with visual anchor ============ */
.ctse-hero--split .ctse-hero__inner{max-width:1080px;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;text-align:left;margin:0 auto}
.ctse-hero--split .ctse-hero__media{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px}
.ctse-hero--split .ctse-hero__media img{width:100%;height:auto;display:block;border-radius:8px}
.ctse-hero--split h1{text-align:left}
.ctse-hero--split p{margin:0 0 18px}
.ctse-hero--split .ctse-hero__cta{justify-content:flex-start}
@media (max-width:900px){.ctse-hero--split .ctse-hero__inner{grid-template-columns:1fr}.ctse-hero--split .ctse-hero__media{order:-1}}

/* ============ Pricing-model tag ============ */
.ctse-model{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ct-navy);
	background:rgba(15,42,67,.06);border:1px solid rgba(15,42,67,.12);border-radius:999px;padding:4px 11px}
.ctse-model .ctse-ic{width:15px;height:15px}

/* ============ Feature / standards with icons ============ */
.ctse-feature__ic{background:rgba(15,42,67,.08);color:var(--ct-navy);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;margin-bottom:12px}
.ctse-feature__ic .ctse-ic{width:22px;height:22px}
.ctse-standards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ctse-standard{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:20px;display:flex;gap:14px}
.ctse-standard .ctse-ic{width:24px;height:24px;color:var(--ct-accent)}
.ctse-standard h3{margin:0 0 4px;font-size:16px}
.ctse-standard p{margin:0;color:var(--ct-muted);font-size:14px}

/* ============ Comparison table ============ */
.ctse-compare{width:100%;border-collapse:collapse;background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);overflow:hidden}
.ctse-compare th,.ctse-compare td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--ct-line);font-size:14.5px;vertical-align:top}
.ctse-compare thead th{background:#FBF9F5;font-weight:700;color:var(--ct-navy)}
.ctse-compare tr:last-child td{border-bottom:0}
.ctse-compare td:first-child{font-weight:600;color:var(--ct-navy);white-space:nowrap}

/* ============ Before / After work sample ============ */
.ctse-sample{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ctse-sample__card{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:18px;display:flex;flex-direction:column}
.ctse-sample__card h4{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-muted)}
.ctse-sample__card.before{border-left:3px solid #CBD3DB}
.ctse-sample__card.after{border-left:3px solid var(--ct-ok)}
.ctse-sample__card p{margin:0;font-size:15px;line-height:1.55}
.ctse-sample__card.after p{color:#1f2a33}
.ctse-sample__note{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px dashed var(--ct-line);font-size:13px;color:var(--ct-muted);margin-top:auto}
.ctse-sample__note li{padding:2px 0}
@media (max-width:900px){.ctse-standards,.ctse-sample{grid-template-columns:1fr}}

/* ============ Deliverables strip ============ */
.ctse-deliver{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0}
.ctse-deliver span{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:999px;padding:6px 13px;font-size:13.5px;color:var(--ct-ink)}

/* ============ a11y / motion ============ */
body.ctse-ui [aria-invalid="true"]{border-color:var(--ct-stop)!important;box-shadow:0 0 0 3px rgba(178,59,59,.14)!important}
body.ctse-ui .ctse-err{color:var(--ct-stop);font-size:12.5px;margin-top:5px}
@media (prefers-reduced-motion: reduce){
	body.ctse-ui *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	body.ctse-ui .ctse-plan.is-featured{transform:none!important}
}

/* Guided brief (Sprint) */
.ctse-brief--guided{max-width:680px}
.ctse-brief__lead{font-size:15.5px;color:var(--ct-ink);margin:0 0 18px}
.ctse-brief__sec{border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px 18px 6px;margin:0 0 14px;background:var(--ct-surface)}
.ctse-brief__sec h4{margin:0 0 12px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-navy)}
.ctse-brief__next{margin-top:16px;padding:16px 18px;border:1px dashed var(--ct-line);border-radius:var(--ct-r);background:#fbfaf7}
.ctse-brief__next strong{display:block;margin-bottom:6px;color:var(--ct-navy)}
.ctse-brief__next ol{margin:0;padding-left:20px;color:var(--ct-muted);font-size:14.5px}
.ctse-brief--guided>.button{margin-top:4px}

/* Work samples / cases */
.ctse-worksamples__head{display:flex;align-items:center;gap:10px;margin:18px 0 8px}
.ctse-worksamples__t{font-weight:700;color:var(--ct-navy);font-size:16px}
.ctse-worksamples__tag{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-muted);border:1px solid var(--ct-line);border-radius:999px;padding:3px 10px}
.ctse-sample__result{margin-top:10px;font-weight:700;color:var(--ct-ok);font-size:14.5px}
.ctse-sample__result::before{content:"▲ ";font-size:12px}

/* Brief form errors */
.ctse-brief__errors{margin:0 0 16px;padding:12px 16px;border:1px solid #e6c2c2;background:#fdf2f2;border-radius:var(--ct-r)}
.ctse-brief__errors strong{display:block;margin-bottom:6px;color:#a33}
.ctse-brief__errors ul{margin:0;padding-left:18px;color:#832020;font-size:14px}

/* ============ Branded WooCommerce (cart / checkout / account) ============ */
body.ctse-ui .wc-block-components-sidebar-layout{max-width:1180px}
body.ctse-ui .wp-block-woocommerce-checkout h2,
body.ctse-ui .wp-block-woocommerce-cart h2,
body.ctse-ui .wc-block-components-title,
body.ctse-ui .wc-block-components-checkout-step__title{font-family:var(--ct-serif);color:var(--ct-navy)}
body.ctse-ui .wc-block-components-order-summary,
body.ctse-ui .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.ctse-ui .wc-block-components-sidebar{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);box-shadow:0 1px 2px rgba(16,39,64,.05)}
body.ctse-ui .wc-block-components-order-summary{padding:18px 20px}
body.ctse-ui .wc-block-components-product-name{font-weight:600;color:var(--ct-navy)}
body.ctse-ui .wc-block-components-totals-item__value,
body.ctse-ui .wc-block-components-product-price__value,
body.ctse-ui .wc-block-components-order-summary-item__total-price{font-weight:600;color:var(--ct-navy)}
body.ctse-ui .wc-block-components-totals-footer .wc-block-components-totals-item__value{font-size:20px}
body.ctse-ui .wc-block-components-text-input input,
body.ctse-ui .wc-block-components-select input,
body.ctse-ui .wc-block-components-address-form input,
body.ctse-ui .wc-block-components-address-form select{border:1px solid var(--ct-line);border-radius:8px;background:#fff}
body.ctse-ui .wc-block-components-text-input input:focus,
body.ctse-ui .wc-block-components-address-form input:focus{border-color:var(--ct-navy);box-shadow:0 0 0 3px rgba(15,42,67,.08)}
body.ctse-ui .wc-block-components-checkout-place-order-button,
body.ctse-ui .wc-block-components-button.wc-block-cart__submit-button,
body.ctse-ui .wc-block-components-button.is-primary{background:var(--ct-navy);border:1.5px solid var(--ct-navy);color:#fff;border-radius:9px;font-weight:600}
body.ctse-ui .wc-block-components-checkout-place-order-button:hover,
body.ctse-ui .wc-block-components-button.is-primary:hover{background:var(--ct-navy-2)}
body.ctse-ui .wc-block-components-radio-control__option{border:1px solid var(--ct-line);border-radius:9px;padding:12px 14px 12px 46px;margin-bottom:8px}
body.ctse-ui .wc-block-components-radio-control__option-checked{border-color:var(--ct-navy);box-shadow:0 0 0 2px rgba(15,42,67,.1)}
body.ctse-ui .wc-block-components-checkout-step{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px 18px;margin-bottom:14px}
body.ctse-ui .wc-block-components-notice-banner{border-radius:var(--ct-r)}
body.ctse-ui .ctse-checkout-trust{margin:12px 0 0;padding:11px 13px;border:1px dashed var(--ct-line);border-radius:9px;background:#fbfaf7;color:var(--ct-muted);font-size:13px}
body.ctse-ui .ctse-checkout-trust strong{color:var(--ct-navy)}
body.ctse-ui .ctse-thankyou{margin:0 0 22px;padding:18px 20px;border:1px solid var(--ct-line);border-radius:var(--ct-r);background:#f7fbf8}
body.ctse-ui .ctse-thankyou h3{margin:0 0 8px;font-family:var(--ct-serif);color:var(--ct-navy)}
body.ctse-ui .ctse-thankyou ol{margin:0;padding-left:20px;color:var(--ct-muted);font-size:14.5px}
body.ctse-ui #order_review{background:#fff}
body.ctse-ui .wc-block-components-button:focus-visible,
body.ctse-ui .wc-block-components-text-input input:focus-visible,
body.ctse-ui .wc-block-components-checkout-place-order-button:focus-visible,
body.ctse-ui .woocommerce-account .button:focus-visible,
body.ctse-ui .woocommerce-account input[type=submit]:focus-visible{outline:3px solid rgba(47,111,176,.45);outline-offset:2px}

/* ============ Customer Portal - My Projects ============ */
.ctse-portal{--gap:16px}
.ctse-portal__intro h2{font-family:var(--ct-serif);margin:0 0 4px}
.ctse-portal__intro p{color:var(--ct-muted);margin:0 0 18px}
.ctse-portal__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}
.ctse-portal__tile{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.ctse-portal__tile .n{font-size:30px;font-weight:700;color:var(--ct-navy);letter-spacing:-.02em}
.ctse-portal__tile .l{font-size:12.5px;color:var(--ct-muted);font-weight:600}
.ctse-portal__tile.warn{border-color:#f0e2bf;background:#fdf9ee}.ctse-portal__tile.warn .n{color:#9A6414}
.ctse-portal__tile.ok{border-color:#cfe9df;background:#eef7f3}.ctse-portal__tile.ok .n{color:var(--ct-ok)}
.ctse-portal__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ctse-portal__card{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:18px}
.ctse-portal__card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ctse-portal__card-top .t{font-weight:700;color:var(--ct-navy)}
.ctse-portal__card-top .m{color:var(--ct-muted);font-size:12.5px;margin-top:3px}
.ctse-portal__pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap}
.ctse-portal__pill.st-active{background:var(--ct-info)}
.ctse-portal__pill.st-awaiting{background:var(--ct-warn)}
.ctse-portal__pill.st-done{background:var(--ct-ok)}
.ctse-portal__pill.st-payment{background:var(--ct-stop)}
.ctse-portal__pill.st-other{background:#8A97A3}
.ctse-portal__next{margin-top:12px;font-size:13.5px;color:var(--ct-ink);background:var(--ct-paper);border-radius:8px;padding:9px 12px}
.ctse-portal__deliv{list-style:none;margin:12px 0 0;padding:0}
.ctse-portal__deliv li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px dashed var(--ct-line);font-size:13px}
.ctse-portal__link{display:inline-block;margin-top:10px;margin-right:14px;color:var(--ct-info);font-weight:600;text-decoration:none;font-size:13.5px}
.ctse-portal__link:hover{text-decoration:underline}
.ctse-portal__empty{color:var(--ct-muted)}
@media(max-width:760px){.ctse-portal__tiles{grid-template-columns:1fr}.ctse-portal__list{grid-template-columns:1fr}}

/* ============ Branded My Account (whole area) ============ */
body.woocommerce-account .woocommerce{max-width:1200px}
body.ctse-ui .woocommerce-MyAccount-navigation{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:10px;box-shadow:0 1px 2px rgba(16,39,64,.05)}
body.ctse-ui .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
body.ctse-ui .woocommerce-MyAccount-navigation li{border:0}
body.ctse-ui .woocommerce-MyAccount-navigation li a{display:block;padding:10px 12px;border-radius:9px;color:var(--ct-ink);text-decoration:none;font-weight:600;font-size:13.5px}
body.ctse-ui .woocommerce-MyAccount-navigation li a:hover{background:var(--ct-soft, #f5f6f8)}
body.ctse-ui .woocommerce-MyAccount-navigation li.is-active a{background:linear-gradient(180deg,var(--ct-navy),var(--ct-navy-2));color:#fff}
body.ctse-ui .woocommerce-MyAccount-content{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:26px 28px;box-shadow:0 1px 2px rgba(16,39,64,.05)}
body.ctse-ui .woocommerce-MyAccount-content h2,
body.ctse-ui .woocommerce-MyAccount-content h3{font-family:var(--ct-serif);color:var(--ct-navy)}
body.ctse-ui .woocommerce-MyAccount-content p{color:var(--ct-body,#3f444d)}
body.ctse-ui .woocommerce-orders-table,
body.ctse-ui table.shop_table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--ct-line);border-radius:var(--ct-r);overflow:hidden}
body.ctse-ui .woocommerce-orders-table th,body.ctse-ui .woocommerce-orders-table td,
body.ctse-ui table.shop_table th,body.ctse-ui table.shop_table td{padding:12px 14px;border-bottom:1px solid var(--ct-line);font-size:14px;text-align:left}
body.ctse-ui .woocommerce-orders-table thead th,body.ctse-ui table.shop_table thead th{background:var(--ct-soft,#fbf9f5);font-weight:600;color:var(--ct-navy);font-size:12.5px}
body.ctse-ui .woocommerce-orders-table tr:last-child td{border-bottom:0}
body.ctse-ui .woocommerce-order-details,body.ctse-ui .woocommerce-customer-details{margin-top:16px}
body.ctse-ui .woocommerce-Address{border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px}
body.ctse-ui .woocommerce-Address-title h3{font-size:15px;margin-bottom:6px}
body.ctse-ui .woocommerce-account .button,body.ctse-ui .woocommerce-account input[type=submit]{background:var(--ct-navy);border:1px solid var(--ct-navy);color:#fff;border-radius:9px;padding:.7em 1.1em;font-weight:600}
body.ctse-ui .woocommerce-account .button:hover{background:var(--ct-navy-2)}
body.ctse-ui .woocommerce-account-fields input,body.ctse-ui .woocommerce-account input[type=text],body.ctse-ui .woocommerce-account input[type=email],body.ctse-ui .woocommerce-account input[type=password]{border:1px solid var(--ct-line);border-radius:8px}
body.ctse-ui .woocommerce-account .woocommerce-MyAccount-content label{font-weight:600;font-size:13px;color:var(--ct-ink)}
body.ctse-ui .woocommerce-account .addresses .title .edit{font-weight:600}
body.ctse-ui .woocommerce-account .order-again .button{margin-top:8px}
body.woocommerce-account h1,body.woocommerce-account .entry-title{font-family:var(--ct-serif);color:var(--ct-navy)}

/* ============ Client Portal (theme page, S-level) ============ */
.ctse-cp{margin:6px auto;max-width:1180px}
.ctse-cp__hello{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(135deg,var(--ct-navy),var(--ct-navy-2));color:#fff;border-radius:16px;padding:18px 22px;margin:0 0 18px;box-shadow:0 18px 40px -30px rgba(15,42,67,.7)}
.ctse-cp__hello .hi{font:600 20px/1.2 Georgia,serif}
.ctse-cp__hello .em{color:rgba(255,255,255,.75);font-size:12.5px;margin-top:3px}
.ctse-cp__hello .ctl{display:flex;gap:8px}
.ctse-cp__btn{display:inline-block;background:var(--ct-navy);color:#fff;border-radius:9px;padding:9px 15px;font-weight:600;font-size:13px;text-decoration:none}
.ctse-cp__btn:hover{background:var(--ct-navy-2);color:#fff;text-decoration:none}
.ctse-cp__btn.ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff}
.ctse-cp__btn.sm{padding:6px 12px;font-size:12px}
.ctse-cp__shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.ctse-cp__nav{background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:10px;position:sticky;top:20px;box-shadow:0 1px 2px rgba(16,39,64,.05)}
.ctse-cp__nav a{display:block;padding:10px 12px;border-radius:9px;color:var(--ct-ink);font-weight:600;font-size:13.5px;text-decoration:none}
.ctse-cp__nav a:hover{background:#f5f6f8}
.ctse-cp__nav a.on{background:linear-gradient(180deg,var(--ct-navy),var(--ct-navy-2));color:#fff}
.ctse-cp__main h1{font:600 24px/1.25 Georgia,serif;color:var(--ct-navy);margin:2px 0 4px}
.ctse-cp__main .sub{color:var(--ct-muted);margin:0 0 18px}
.ctse-cp__h{font:600 17px/1.3 Georgia,serif;color:var(--ct-navy);margin:8px 0 12px}
.ctse-cp__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}
.ctse-cp .tile{background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:3px}
.ctse-cp .tile .n{font-size:30px;font-weight:700;color:var(--ct-navy);letter-spacing:-.02em}
.ctse-cp .tile .l{font-size:12.5px;color:var(--ct-muted);font-weight:600}
.ctse-cp .tile.warn{border-color:#f0e2bf;background:#fdf9ee}.ctse-cp .tile.warn .n{color:#9A6414}
.ctse-cp .tile.ok{border-color:#cfe9df;background:#eef7f3}.ctse-cp .tile.ok .n{color:var(--ct-ok,#226B4C)}
.ctse-cp .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.ctse-cp .card{background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(16,39,64,.05)}
.ctse-cp .card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ctse-cp .card-top .t{font-weight:700;color:var(--ct-navy)}
.ctse-cp .card-top .m{color:var(--ct-muted);font-size:12.5px;margin-top:3px}
.ctse-cp .pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap}
.ctse-cp .p-active{background:#2F6FB0}.ctse-cp .p-awaiting{background:#9A6414}.ctse-cp .p-done{background:#226B4C}.ctse-cp .p-payment{background:#B23B3B}.ctse-cp .p-other{background:#8A97A3}
.ctse-cp .next{margin-top:12px;font-size:13.5px;color:var(--ct-ink);background:#f6f7f9;border-radius:9px;padding:9px 12px}
.ctse-cp .actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}
.ctse-cp .dlist{list-style:none;margin:12px 0 0;padding:0}
.ctse-cp .dlist li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed var(--ct-line);font-size:13px}
.ctse-cp .dlist li:first-child{border-top:0}
.ctse-cp table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--ct-line);border-radius:14px;overflow:hidden}
.ctse-cp th,.ctse-cp td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--ct-line);font-size:13.5px}
.ctse-cp thead th{background:#fbf9f5;color:var(--ct-navy);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.ctse-cp tr:last-child td{border-bottom:0}
.ctse-cp .empty{color:var(--ct-muted);background:#fff;border:1px dashed var(--ct-line);border-radius:12px;padding:16px;margin-bottom:16px}
.ctse-cp__sample{border:1px solid var(--ct-line);border-radius:14px;overflow:hidden;background:#fff}
.ctse-cp__sample .row{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--ct-line)}
.ctse-cp__sample .row:first-child{border-top:0}
.ctse-cp__sample .k{background:#f6f7f9;padding:12px 14px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ct-muted)}
.ctse-cp__sample .v{padding:12px 14px;font-size:14px}
.ctse-cp__sample .v.orig{color:#8a9098;text-decoration:line-through;text-decoration-color:#cbb}
.ctse-cp__sample .v.mod{color:#1f2a33;font-weight:600}
.ctse-cp__gate{max-width:520px;margin:20px auto;background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:28px;text-align:center}
@media(max-width:860px){.ctse-cp__shell{grid-template-columns:1fr}.ctse-cp__nav{position:static}.ctse-cp__tiles{grid-template-columns:1fr}.ctse-cp__sample .row{grid-template-columns:1fr}}
.ctse-opt-pill{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-muted);border:1px solid var(--ct-line);border-radius:999px;padding:2px 8px;margin-left:6px}

/* ============ Guarantee strip (page-level) ============ */
.ctse-guarantee{margin:14px 0 8px;padding:13px 18px;border:1px dashed var(--ct-line);border-radius:12px;background:#fbfaf7;text-align:center;font-weight:600;color:var(--ct-navy);font-size:14.5px}

/* ============ Testimonials (real client quotes) ============ */
.ctse-testimonials{margin:34px 0}
.ctse-testimonials > h2{font-family:var(--ct-serif);font-size:28px;margin:0 0 18px}
.ctse-tst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ctse-tst{margin:0;background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:22px;display:flex;flex-direction:column;gap:14px}
.ctse-tst__q{margin:0;font-size:15.5px;line-height:1.6;color:var(--ct-ink)}
.ctse-tst__q::before{content:"\201C";font-family:var(--ct-serif);font-size:32px;line-height:0;color:var(--ct-accent);margin-right:2px;vertical-align:-8px}
.ctse-tst__by{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid var(--ct-line)}
.ctse-tst__name{font-weight:700;color:var(--ct-navy);font-size:14px}
.ctse-tst__meta{color:var(--ct-muted);font-size:12.5px}
@media (max-width:900px){.ctse-tst-grid{grid-template-columns:1fr}}

/* ============ Lead capture (price guide) ============ */
.ctse-lead{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:center;margin:30px 0;padding:24px;
	border:1px solid var(--ct-line);border-radius:var(--ct-r);background:linear-gradient(180deg,#fffdf6,#fff)}
.ctse-lead__copy h3{margin:0 0 6px;font-family:var(--ct-serif);color:var(--ct-navy);font-size:22px}
.ctse-lead__copy p{margin:0;color:var(--ct-muted);font-size:14.5px}
.ctse-lead__form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;position:relative}
.ctse-lead__field{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px}
.ctse-lead__field span{font-size:12px;color:var(--ct-muted);font-weight:600}
.ctse-lead__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ctse-lead__form .button{white-space:nowrap}
.ctse-lead__msg{flex-basis:100%;margin:6px 0 0;font-size:12.5px;color:var(--ct-muted)}
@media (max-width:760px){.ctse-lead{grid-template-columns:1fr}}

/* Configurator component styles live in assets/configurator.css (loaded with the shortcode). */

/* ============ About page components ============ */
.ctse-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ctse-steps li{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:18px;display:flex;gap:12px}
.ctse-steps__n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ct-navy);color:#fff;font-weight:700;font-size:13px;flex:0 0 26px}
.ctse-steps li strong{display:block;color:var(--ct-navy);margin-bottom:4px}
.ctse-steps li span{color:var(--ct-muted);font-size:14px}
.ctse-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 4px}
.ctse-stat{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.ctse-stat .n{font-size:28px;font-weight:700;color:var(--ct-navy);letter-spacing:-.02em}
.ctse-stat .l{font-size:12.5px;color:var(--ct-muted);font-weight:600}
.ctse-logos{display:flex;flex-wrap:wrap;gap:10px}
.ctse-logo{font-weight:700;color:var(--ct-muted);background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:999px;padding:8px 16px;text-decoration:none;letter-spacing:.02em}
a.ctse-logo:hover{color:var(--ct-navy);border-color:var(--ct-navy)}
@media (max-width:900px){.ctse-steps,.ctse-stats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ctse-steps,.ctse-stats{grid-template-columns:1fr}}

/* ============ Mobile menu: always a full vertical list (robust) ============ */
@media (max-width:992px){
	body.ctse-ui .main-navigation .main-nav > ul{display:none !important;flex-wrap:wrap !important;white-space:normal !important;overflow:visible !important;float:none !important}
	body.ctse-ui .main-navigation.toggled .main-nav > ul{display:block !important}
	body.ctse-ui .main-navigation .main-nav > ul > li{float:none !important;width:100% !important;display:block !important;flex:none !important}
	body.ctse-ui .main-navigation .main-nav ul li a{white-space:normal !important;line-height:1.5 !important;padding:12px 16px !important}
}

/* ============ Header: secondary menu on mobile (no competing "Menu") ============
   The top-bar secondary nav (e.g. "Client Portal") is a plain inline link on
   mobile; only the primary hamburger acts as a menu control. */
@media (max-width:992px){
	body.ctse-ui .secondary-navigation .menu-toggle{display:none !important}
	body.ctse-ui .secondary-navigation .inside-navigation{justify-content:flex-end}
	body.ctse-ui .secondary-navigation ul,
	body.ctse-ui .secondary-navigation .secondary-menu{display:flex !important;justify-content:flex-end;gap:18px;flex-wrap:nowrap;margin:0;list-style:none}
	body.ctse-ui .secondary-navigation ul li{float:none !important;display:block}
	body.ctse-ui .secondary-navigation ul li a{padding:8px 2px !important;font-size:13.5px !important;line-height:1.4 !important;white-space:nowrap}
}

/* ============ Legal / policy pages ============ */
.ctse-legal { max-width: 760px; margin: 0 auto; padding: 44px 24px 12px; }
.ctse-legal__meta { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-muted); margin: 0 0 22px; }
.ctse-legal h3 { font-family: var(--ct-serif); font-size: 21px; line-height: 1.3; margin: 30px 0 8px; }
.ctse-legal p { margin: 0 0 14px; line-height: 1.7; }
.ctse-legal a { color: var(--ct-info); }
.ctse-legal ul { margin: 0 0 16px; padding-left: 20px; }
.ctse-legal li { margin: 6px 0; line-height: 1.65; }
.ctse-legal__summary { background: var(--ct-surface); border: 1px solid var(--ct-line); border-left: 4px solid var(--ct-accent); border-radius: var(--ct-r); padding: 18px 22px; margin: 0 0 28px; }
.ctse-legal__summary h2 { font-family: var(--ct-sans); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-muted); margin: 0 0 10px; }
.ctse-legal__summary ul { margin: 0; padding-left: 20px; }
.ctse-legal__summary li { margin: 5px 0; }
.ctse-legal__contact { margin-top: 34px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-r); padding: 20px 22px; }
.ctse-legal__contact h3 { margin: 0 0 6px; }
.ctse-legal__contact p { margin: 0; }
@media (max-width:640px){ .ctse-legal { padding: 30px 18px 12px; } }
