/*
 * Continental Game — UI refinement layer (1.9.1)
 * Loaded last so it tunes the theme, WooCommerce and every Continental Game
 * plugin without anyone having to rewrite their stylesheets. Everything here is
 * spacing, type, colour and state work: no layout is torn out.
 */

:root{
	--cg-ink:#0d2033;
	--cg-ink-soft:#3d5468;
	--cg-muted:#6b7f90;
	--cg-line:#e3e9ef;
	--cg-line-strong:#cfd9e2;
	--cg-surface:#ffffff;
	--cg-surface-alt:#f5f8fa;
	--cg-accent:#175cb5;
	--cg-accent-dark:#10437f;
	--cg-accent-soft:rgba(23,92,181,.09);
	--cg-success:#1c7a4b;
	--cg-warning:#9a6400;
	--cg-danger:#b3283a;
	--cg-radius:14px;
	--cg-radius-sm:10px;
	--cg-radius-lg:22px;
	--cg-shadow-sm:0 1px 2px rgba(13,32,51,.06),0 2px 8px rgba(13,32,51,.04);
	--cg-shadow:0 4px 14px rgba(13,32,51,.07),0 18px 40px -28px rgba(13,32,51,.35);
	--cg-shadow-lg:0 12px 28px rgba(13,32,51,.1),0 40px 70px -40px rgba(13,32,51,.45);
	--cg-gap:clamp(20px,3vw,34px);
	--cg-section:clamp(48px,7vw,96px);
	--cg-container:1200px;
	--cg-speed:.18s;
}

/* ------------------------------------------------------------------ */
/* 1. Typography rhythm                                                */
/* ------------------------------------------------------------------ */

.cg-ui-pro body,
body{
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
	color:var(--cg-ink);
}

h1,h2,h3,h4,h5,h6{
	color:var(--cg-ink);
	letter-spacing:-.012em;
	text-wrap:balance;
}

h1{font-size:clamp(2rem,1.35rem + 2.6vw,3.35rem);line-height:1.08}
h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1.14}
h3{font-size:clamp(1.24rem,1.06rem + .8vw,1.65rem);line-height:1.22}
h4{font-size:clamp(1.06rem,.98rem + .35vw,1.25rem);line-height:1.3}

p,li{line-height:1.68}
p{text-wrap:pretty}

.entry-content > * + *,
.cg-prose > * + *{margin-top:1.1em}
.entry-content h2,.cg-prose h2{margin-top:1.9em}
.entry-content h3,.cg-prose h3{margin-top:1.6em}
.entry-content p,
.cg-prose p,
.entry-content li,
.cg-prose li{font-size:clamp(1rem,.97rem + .12vw,1.06rem);color:var(--cg-ink-soft)}
.entry-content > p:first-child{font-size:1.12rem;color:var(--cg-ink)}

.entry-content a:not(.button):not(.wp-block-button__link),
.cg-prose a:not(.button){
	color:var(--cg-accent);
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:.18em;
	transition:color var(--cg-speed) ease;
}
.entry-content a:hover:not(.button),
.cg-prose a:hover:not(.button){color:var(--cg-accent-dark)}

.cg-eyebrow,.cgu-eyebrow,.cga-eyebrow,.cgn-kicker{
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--cg-muted);
}

:where(a,button,input,select,textarea,summary):focus-visible{
	outline:2px solid var(--cg-accent);
	outline-offset:2px;
	border-radius:6px;
}

::selection{background:rgba(23,92,181,.18)}

/* ------------------------------------------------------------------ */
/* 2. Layout containers and section rhythm                             */
/* ------------------------------------------------------------------ */

.cg-shell,.cg-container,.cgu-layout,.site-main > .container,.woocommerce-page .site-main{
	max-width:var(--cg-container);
	margin-inline:auto;
	padding-inline:clamp(18px,4vw,32px);
}

.cg-section,.cgu-section{padding-block:var(--cg-section)}

.site-header{background:var(--cg-surface);transition:box-shadow var(--cg-speed) ease,background var(--cg-speed) ease}
.site-header.is-stuck{box-shadow:var(--cg-shadow-sm);backdrop-filter:saturate(1.1) blur(6px)}

.site-footer{border-top:1px solid var(--cg-line)}

/* ------------------------------------------------------------------ */
/* 3. Buttons                                                          */
/* ------------------------------------------------------------------ */

.button,
button.button,
input[type=submit],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.cg-btn,
.cgu-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5em;
	min-height:46px;
	padding:.78em 1.5em;
	border:1px solid transparent;
	border-radius:999px;
	background:var(--cg-accent);
	color:#fff;
	font-size:.95rem;
	font-weight:600;
	letter-spacing:.005em;
	line-height:1.1;
	text-decoration:none;
	cursor:pointer;
	transition:background var(--cg-speed) ease,box-shadow var(--cg-speed) ease,transform var(--cg-speed) ease,border-color var(--cg-speed) ease;
}

.button:hover,
button.button:hover,
input[type=submit]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.cg-btn:hover,
.cgu-btn:hover{
	background:var(--cg-accent-dark);
	color:#fff;
	box-shadow:0 8px 20px -12px rgba(16,67,127,.85);
	transform:translateY(-1px);
}

.button:active,.woocommerce a.button:active,.woocommerce button.button:active{transform:translateY(0);box-shadow:none}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button{
	background:var(--cg-accent);
	color:#fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover{background:var(--cg-accent-dark)}

.button.ghost,
.cg-btn--ghost,
.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name=update_cart]{
	background:transparent;
	border-color:var(--cg-line-strong);
	color:var(--cg-ink);
}
.button.ghost:hover,
.cg-btn--ghost:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce .cart .button[name=update_cart]:hover{
	background:var(--cg-surface-alt);
	border-color:var(--cg-accent);
	color:var(--cg-accent-dark);
	box-shadow:none;
}

.button[disabled],.woocommerce button.button:disabled,.woocommerce button.button.disabled{
	opacity:.55;
	cursor:not-allowed;
	box-shadow:none;
	transform:none;
}

.single_add_to_cart_button.is-working,
.ajax_add_to_cart.is-working{position:relative;color:transparent !important}
.single_add_to_cart_button.is-working::after,
.ajax_add_to_cart.is-working::after{
	content:"";
	position:absolute;
	inset:calc(50% - 9px) auto auto calc(50% - 9px);
	width:18px;height:18px;
	border:2px solid rgba(255,255,255,.4);
	border-top-color:#fff;
	border-radius:50%;
	animation:cg-spin .7s linear infinite;
}
@keyframes cg-spin{to{transform:rotate(360deg)}}

/* ------------------------------------------------------------------ */
/* 4. Forms                                                            */
/* ------------------------------------------------------------------ */

input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],
input[type=search],input[type=number],input[type=date],select,textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{
	width:100%;
	min-height:46px;
	padding:.7em .9em;
	border:1px solid var(--cg-line-strong);
	border-radius:var(--cg-radius-sm);
	background:var(--cg-surface);
	color:var(--cg-ink);
	font-size:1rem;
	line-height:1.5;
	box-shadow:none;
	transition:border-color var(--cg-speed) ease,box-shadow var(--cg-speed) ease;
}
textarea{min-height:132px;resize:vertical}

input:focus,select:focus,textarea:focus,
.woocommerce form .form-row input.input-text:focus{
	border-color:var(--cg-accent);
	box-shadow:0 0 0 3px var(--cg-accent-soft);
	outline:none;
}

input::placeholder,textarea::placeholder{color:#9aa8b4}

label,.woocommerce form .form-row label{
	display:inline-block;
	margin-bottom:.4em;
	font-size:.85rem;
	font-weight:600;
	color:var(--cg-ink-soft);
}
.required{color:var(--cg-danger);text-decoration:none}

.woocommerce form .form-row{margin-bottom:1.15rem;padding:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 9px)}

.select2-container--default .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:8px}
.select2-dropdown{border-color:var(--cg-line-strong);border-radius:var(--cg-radius-sm);overflow:hidden}

.cg-qty-ready{display:inline-flex;align-items:center;gap:0;border:1px solid var(--cg-line-strong);border-radius:999px;overflow:hidden;background:var(--cg-surface)}
.cg-qty-ready input.qty{width:52px;min-height:42px;border:0;border-radius:0;text-align:center;font-weight:600;box-shadow:none;-moz-appearance:textfield}
.cg-qty-ready input.qty::-webkit-outer-spin-button,.cg-qty-ready input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cg-qty-btn{width:38px;min-height:42px;border:0;background:transparent;color:var(--cg-ink-soft);font-size:1.05rem;line-height:1;cursor:pointer;transition:background var(--cg-speed) ease,color var(--cg-speed) ease}
.cg-qty-btn:hover{background:var(--cg-surface-alt);color:var(--cg-accent)}

/* ------------------------------------------------------------------ */
/* 5. Cards, panels, notices                                           */
/* ------------------------------------------------------------------ */

.cg-card,.cgu-panel,.cga-card,.cgu-purchase-card,.cg-panel{
	background:var(--cg-surface);
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	box-shadow:var(--cg-shadow-sm);
	transition:box-shadow var(--cg-speed) ease,border-color var(--cg-speed) ease,transform var(--cg-speed) ease;
}
.cg-card:hover,.cgu-panel:hover{box-shadow:var(--cg-shadow);border-color:var(--cg-line-strong)}

.cg-reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.cg-reveal.cg-in{opacity:1;transform:none}

.cg-notice,.woocommerce-info,.woocommerce-message,.woocommerce-error{
	display:flex;
	gap:.75rem;
	align-items:flex-start;
	padding:1rem 1.15rem;
	border:1px solid var(--cg-line);
	border-left:3px solid var(--cg-accent);
	border-radius:var(--cg-radius-sm);
	background:var(--cg-surface-alt);
	color:var(--cg-ink-soft);
	font-size:.95rem;
	line-height:1.6;
	list-style:none;
}
.woocommerce-message{border-left-color:var(--cg-success);background:#f2f9f5}
.woocommerce-error{border-left-color:var(--cg-danger);background:#fdf4f5;color:#7c2230}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;min-height:38px;padding:.5em 1.1em;font-size:.85rem}

.cg-badge,.cgu-kind,.cga-status{
	display:inline-flex;
	align-items:center;
	gap:.35em;
	padding:.28em .7em;
	border-radius:999px;
	background:var(--cg-accent-soft);
	color:var(--cg-accent-dark);
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.cg-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ------------------------------------------------------------------ */
/* 6. WooCommerce — shop archive                                       */
/* ------------------------------------------------------------------ */

.woocommerce .woocommerce-products-header{margin-bottom:1.6rem}
.woocommerce .woocommerce-products-header__title{margin-bottom:.35rem}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{font-size:.9rem;color:var(--cg-muted)}
.woocommerce .woocommerce-ordering select{min-height:42px;width:auto;padding-right:2.2em}

.woocommerce ul.products,
.woocommerce-page ul.products{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(255px,1fr));
	gap:clamp(20px,2.4vw,34px);
	margin:0 0 2.5rem;
	padding:0;
	list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
	width:100% !important;
	margin:0 !important;
	padding:0;
	display:flex;
	flex-direction:column;
	background:var(--cg-surface);
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	overflow:hidden;
	transition:box-shadow var(--cg-speed) ease,transform var(--cg-speed) ease,border-color var(--cg-speed) ease;
}
.woocommerce ul.products li.product:hover{
	transform:translateY(-3px);
	box-shadow:var(--cg-shadow);
	border-color:var(--cg-line-strong);
}

.woocommerce ul.products li.product a img{
	margin:0;
	aspect-ratio:4/3;
	width:100%;
	object-fit:cover;
	background:var(--cg-surface-alt);
	border-radius:0;
	transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.035)}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	padding:1rem 1.15rem .25rem;
	font-size:1.02rem;
	font-weight:650;
	line-height:1.35;
	color:var(--cg-ink);
}
.woocommerce ul.products li.product .price{
	display:block;
	padding:0 1.15rem;
	margin-top:auto;
	color:var(--cg-ink);
	font-size:1.05rem;
	font-weight:700;
}
.woocommerce ul.products li.product .price del{color:var(--cg-muted);font-weight:500;font-size:.9em;margin-right:.4em}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--cg-success)}
.woocommerce ul.products li.product .button{margin:1rem 1.15rem 1.15rem;align-self:flex-start}
.woocommerce ul.products li.product .star-rating{margin:.5rem 1.15rem 0;font-size:.8em;color:#e0a300}

.woocommerce span.onsale{
	top:12px;left:12px;right:auto;
	min-height:0;min-width:0;
	padding:.32em .75em;
	border-radius:999px;
	background:var(--cg-ink);
	color:#fff;
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	line-height:1.4;
}

.woocommerce nav.woocommerce-pagination ul{border:0;gap:6px;display:flex;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	min-width:42px;
	padding:.6em .8em;
	border:1px solid var(--cg-line);
	border-radius:10px;
	background:var(--cg-surface);
	color:var(--cg-ink-soft);
	font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--cg-accent);border-color:var(--cg-accent);color:#fff}

.cg-filter-toggle{
	margin-top:1rem;
	min-height:44px;
	padding:.6em 1.2em;
	border:1px solid var(--cg-line-strong);
	border-radius:999px;
	background:var(--cg-surface);
	font-weight:600;
	color:var(--cg-ink);
}

/* ------------------------------------------------------------------ */
/* 7. WooCommerce — single product                                     */
/* ------------------------------------------------------------------ */

.woocommerce div.product{margin-top:.5rem}
.woocommerce div.product .product_title{margin-bottom:.5rem}

.woocommerce div.product div.images img{border-radius:var(--cg-radius);box-shadow:var(--cg-shadow-sm)}
.woocommerce div.product div.images .flex-control-thumbs li{padding:6px 6px 0 0}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:8px;border:1px solid var(--cg-line)}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
	display:block;
	margin:.4rem 0 1rem;
	color:var(--cg-ink);
	font-size:clamp(1.5rem,1.2rem + 1vw,2rem);
	font-weight:700;
	letter-spacing:-.01em;
}
.woocommerce div.product p.price del{font-size:.55em;color:var(--cg-muted);font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none}

.woocommerce div.product .woocommerce-product-details__short-description{
	padding-block:.25rem 1.25rem;
	border-bottom:1px solid var(--cg-line);
	color:var(--cg-ink-soft);
	font-size:1.02rem;
	line-height:1.7;
}

.woocommerce div.product form.cart{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
	margin:1.25rem 0 1.5rem;
}
.woocommerce div.product form.cart .button{min-height:52px;padding-inline:2rem;font-size:1rem}
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:.5rem}
.woocommerce div.product form.cart .variations td{padding:.35rem 0}
.woocommerce div.product form.cart .variations label{margin:0}

.woocommerce div.product .product_meta{
	padding-top:1rem;
	border-top:1px solid var(--cg-line);
	font-size:.86rem;
	color:var(--cg-muted);
}
.woocommerce div.product .product_meta > span{display:block;margin-bottom:.25rem}
.woocommerce div.product .product_meta a{color:var(--cg-ink-soft)}

.woocommerce div.product .woocommerce-tabs ul.tabs{
	display:flex;
	flex-wrap:wrap;
	gap:4px;
	margin:0 0 1.25rem;
	padding:0;
	border-bottom:1px solid var(--cg-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
	margin:0;padding:0;
	border:0;
	border-radius:0;
	background:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	display:block;
	padding:.75em 1.15em;
	border-bottom:2px solid transparent;
	color:var(--cg-muted);
	font-weight:600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--cg-accent-dark);border-bottom-color:var(--cg-accent)}
.woocommerce div.product .woocommerce-tabs .panel{padding:0;margin-bottom:2rem}

.woocommerce .related > h2,.woocommerce .upsells > h2,.woocommerce .cross-sells > h2{
	margin-bottom:1.2rem;
	padding-top:2rem;
	border-top:1px solid var(--cg-line);
}

/* Trust strip under the buy box (rendered by the theme when available) */
.cg-trust{
	display:flex;
	flex-wrap:wrap;
	gap:.75rem 1.4rem;
	margin:1rem 0 0;
	padding:1rem 1.15rem;
	border:1px dashed var(--cg-line-strong);
	border-radius:var(--cg-radius-sm);
	background:var(--cg-surface-alt);
	font-size:.85rem;
	color:var(--cg-ink-soft);
}
.cg-trust span{display:inline-flex;align-items:center;gap:.45em}

/* ------------------------------------------------------------------ */
/* 8. WooCommerce — cart, checkout, account                            */
/* ------------------------------------------------------------------ */

.woocommerce table.shop_table{
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
}
.woocommerce table.shop_table th{
	padding:.95rem 1.1rem;
	background:var(--cg-surface-alt);
	border-bottom:1px solid var(--cg-line);
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--cg-muted);
}
.woocommerce table.shop_table td{padding:1rem 1.1rem;border-top:1px solid var(--cg-line);vertical-align:middle;color:var(--cg-ink-soft)}
.woocommerce table.shop_table td.product-name a{color:var(--cg-ink);font-weight:600;text-decoration:none}
.woocommerce table.shop_table img{width:64px;border-radius:8px}
.woocommerce a.remove{
	width:26px;height:26px;line-height:24px;
	border:1px solid var(--cg-line-strong);
	color:var(--cg-muted) !important;
	font-size:1rem;
}
.woocommerce a.remove:hover{background:var(--cg-danger);border-color:var(--cg-danger);color:#fff !important}

.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading{
	margin-bottom:.9rem;
	font-size:1.15rem;
}
.woocommerce .cart_totals table.shop_table,
.woocommerce-checkout #order_review{
	background:var(--cg-surface);
	border-radius:var(--cg-radius);
}
.woocommerce .cart_totals .order-total .amount{font-size:1.2rem;color:var(--cg-ink)}
.woocommerce .wc-proceed-to-checkout .checkout-button{width:100%;min-height:54px;font-size:1.02rem}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	padding:1.4rem;
	background:var(--cg-surface);
	box-shadow:var(--cg-shadow-sm);
}

.woocommerce-checkout h3{padding-bottom:.6rem;border-bottom:1px solid var(--cg-line);font-size:1.12rem}
.woocommerce-checkout #payment{background:var(--cg-surface-alt);border-radius:var(--cg-radius)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--cg-line);padding:1.1rem}
.woocommerce-checkout #payment div.form-row{padding:1.1rem}
.woocommerce-checkout #payment #place_order{width:100%;min-height:54px;font-size:1.02rem}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:.88rem;color:var(--cg-muted)}

.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:1.5rem}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
	display:flex;
	flex-direction:column;
	gap:2px;
	margin:0;padding:.5rem;
	list-style:none;
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	background:var(--cg-surface);
}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:0;margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;
	padding:.7em .9em;
	border-radius:9px;
	color:var(--cg-ink-soft);
	font-weight:600;
	text-decoration:none;
	transition:background var(--cg-speed) ease,color var(--cg-speed) ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--cg-surface-alt);color:var(--cg-accent-dark)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--cg-accent);color:#fff}

.woocommerce-order,.woocommerce-thankyou-order-received{font-size:1.05rem}
.woocommerce ul.order_details{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
	gap:1rem;
	margin:1.25rem 0 2rem;
	padding:1.2rem;
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	background:var(--cg-surface-alt);
	list-style:none;
}
.woocommerce ul.order_details li{border:0;margin:0;padding:0;float:none;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--cg-muted)}
.woocommerce ul.order_details li strong{display:block;margin-top:.3rem;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--cg-ink)}

/* ------------------------------------------------------------------ */
/* 9. Member dashboards (core, account centre, notification centre)     */
/* ------------------------------------------------------------------ */

.cg-dashboard{gap:clamp(20px,2.5vw,34px)}
.cg-dashboard-header{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding-bottom:1.1rem;
	margin-bottom:1.5rem;
	border-bottom:1px solid var(--cg-line);
}
.cg-dashboard-header h1,.cg-dashboard-header h2{margin:0}

.cg-sidebar{position:sticky;top:96px;align-self:start}
.cg-sidebar a{
	display:flex;
	align-items:center;
	gap:.6em;
	padding:.65em .85em;
	border-radius:10px;
	color:var(--cg-ink-soft);
	font-weight:600;
	text-decoration:none;
	transition:background var(--cg-speed) ease,color var(--cg-speed) ease;
}
.cg-sidebar a:hover{background:var(--cg-surface-alt);color:var(--cg-accent-dark)}
.cg-sidebar a.is-active,.cg-sidebar a[aria-current=page]{background:var(--cg-accent-soft);color:var(--cg-accent-dark)}

.cg-stats{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
	gap:14px;
}
.cg-stats > *{
	padding:1.05rem 1.15rem;
	border:1px solid var(--cg-line);
	border-radius:var(--cg-radius);
	background:var(--cg-surface);
	box-shadow:var(--cg-shadow-sm);
}

/* the bell always sits at the top right of every dashboard */
.cg-dashboard-header .cgn-slot,
.cga-section-head .cgn-slot,
.cgu-store-head .cgn-slot{margin-left:auto}
.cgn-centre.is-docked{margin-left:auto}
.woocommerce-MyAccount-navigation .cgn-slot{display:flex;justify-content:flex-end;padding:.35rem .35rem 0}

/* ------------------------------------------------------------------ */
/* 10. Journal / blog                                                  */
/* ------------------------------------------------------------------ */

.cg-journal-grid,.cg-post-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
	gap:clamp(20px,2.6vw,34px);
}
article.post .entry-title a{color:var(--cg-ink);text-decoration:none}
article.post .entry-title a:hover{color:var(--cg-accent-dark)}
.entry-meta{font-size:.82rem;letter-spacing:.04em;color:var(--cg-muted)}
.entry-content img,.wp-block-image img{border-radius:var(--cg-radius);height:auto}
figcaption,.wp-element-caption{font-size:.82rem;color:var(--cg-muted);text-align:center}
blockquote{
	margin:1.6rem 0;
	padding:1.1rem 1.4rem;
	border-left:3px solid var(--cg-accent);
	border-radius:0 var(--cg-radius-sm) var(--cg-radius-sm) 0;
	background:var(--cg-surface-alt);
	font-size:1.06rem;
	color:var(--cg-ink);
}
blockquote p:last-child{margin-bottom:0}
hr,.wp-block-separator{border:0;border-top:1px solid var(--cg-line);margin:2.4rem 0}

/* ------------------------------------------------------------------ */
/* 11. Responsive and accessibility                                     */
/* ------------------------------------------------------------------ */

@media (max-width:900px){
	.cg-sidebar{position:static}
	.woocommerce div.product form.cart .button{width:100%}
	.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
	.cgu-store .cgu-store-side,.woocommerce-sidebar{display:none}
	.cgu-store .cgu-store-side.is-open,.woocommerce-sidebar.is-open{display:block;margin-bottom:1.5rem}
}

@media (max-width:600px){
	.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:.8rem .85rem .2rem;font-size:.94rem}
	.woocommerce ul.products li.product .price{padding-inline:.85rem;font-size:.98rem}
	.woocommerce ul.products li.product .button{margin:.75rem .85rem .9rem;width:calc(100% - 1.7rem);min-height:42px;font-size:.88rem}
	.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:.8rem}
	.button,.woocommerce a.button,.woocommerce button.button{width:auto}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
	.cg-reveal{opacity:1;transform:none}
}

@media print{
	.site-header,.site-footer,.cgl-root,.cgn-centre,.cg-sidebar{display:none !important}
	body{color:#000}
}

/* --------------------------------------------------------------------------
   Poster identity on cards (1.12.0)
   -------------------------------------------------------------------------- */
.cg-card-poster,
.cgt-loop-poster{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 6px;
	min-height:28px;
}
.cg-card-poster p,
.cgt-loop-poster__name{
	margin:0;
	font-size:.82rem;
	line-height:1.25;
	font-weight:600;
	color:var(--cg-muted,#5b6472);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cg-card-poster__avatar,
.cgt-loop-poster__avatar,
.cg-poster__avatar,
.cg-avatar{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	overflow:hidden;
	background:var(--cg-surface-alt,#eef1f5);
	color:var(--cg-accent-dark,#0f4794);
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.02em;
	line-height:1;
	text-transform:uppercase;
	border:1px solid var(--cg-line,#dfe5ec);
}
.cg-avatar img,
.cg-card-poster__avatar img,
.cgt-loop-poster__avatar img,
.cg-poster__avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	border-radius:inherit;
}
.cg-poster__avatar,
.cg-poster .cg-avatar{width:48px;height:48px;font-size:.95rem}
.cgt-loop-poster__check{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	border-radius:50%;
	background:var(--cg-accent,#175cb5);
	color:#fff;
	font-size:.62rem;
	line-height:1;
}
