/*
 * AI for Good Global Summit 2027 look for the shop (aifg-summit-design).
 * Source of truth: 2027summit.aiforgood.itu.int – Avenir Next, squared
 * buttons and panels (radius 0), black primary buttons, slate greys,
 * dark navy bands (#020617) and the AI for Good yellow (#fbd207).
 */

/* ------------------------------------------------------------------
 * Font
 * ------------------------------------------------------------------ */
@font-face { font-family: 'Avenir Next Summit'; src: url('../fonts/AvenirNextW1G-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Avenir Next Summit'; src: url('../fonts/AvenirNextW1G-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Avenir Next Summit'; src: url('../fonts/AvenirNextW1G-Demi.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Avenir Next Summit'; src: url('../fonts/AvenirNextW1G-Bold.otf') format('opentype'); font-weight: 700 800; font-style: normal; font-display: swap; }

/* ------------------------------------------------------------------
 * Tokens (same names/values as the Summit site) + Kadence palette
 * ------------------------------------------------------------------ */
html:root {
	--s-font: 'Avenir Next Summit', 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
	--s-fg: #0f172a;
	--s-muted: #475569;
	--s-subtle: #64748b;
	--s-border: #e2e8f0;
	--s-input: #cbd5e1;
	--s-surface: #f8fafc;
	--s-primary: #1a1a1a;
	--s-primary-hover: #000000;
	--s-band: #020617;
	--s-band-muted: #cccccc;
	--s-brand: #fbd207;

	/* Kadence theme palette → Summit colours */
	--global-palette1: #1a1a1a;
	--global-palette2: #000000;
	--global-palette3: #0f172a;
	--global-palette4: #1e293b;
	--global-palette5: #475569;
	--global-palette6: #64748b;
	--global-palette7: #f1f5f9;
	--global-palette8: #f8fafc;
	--global-palette9: #ffffff;
	--global-body-font-family: var(--s-font);
	--global-heading-font-family: var(--s-font);
	--global-primary-nav-font-family: var(--s-font);
}

body,
button,
input,
select,
textarea,
.select2-container,
.select2-results {
	font-family: var(--s-font) !important;
}

body {
	color: var(--s-fg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.entry-title {
	font-family: var(--s-font) !important;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--s-fg);
}

a { color: var(--s-fg); }
a:hover { color: #000; }

/* ------------------------------------------------------------------
 * Header (dark band, as on the Summit site)
 * ------------------------------------------------------------------ */
#masthead,
#masthead .site-header-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-row-container-inner,
#masthead .site-main-header-wrap {
	background: var(--s-band) !important;
	border: 0 !important;
}

#masthead .site-branding .site-title,
#masthead .site-branding a {
	color: #fff !important;
	font-family: var(--s-font) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
}

#masthead .main-navigation .primary-menu-container > ul > li > a,
#masthead .header-navigation a,
#masthead .mobile-toggle-open-container .menu-toggle-open {
	color: #ffffff !important;
	font-family: var(--s-font) !important;
	font-weight: 500;
	font-size: 16px;
}

#masthead .header-navigation a:hover,
#masthead .header-navigation .current-menu-item > a {
	color: var(--s-band-muted) !important;
}

#masthead .header-navigation .current-menu-item > a {
	box-shadow: inset 0 -2px 0 var(--s-brand);
}

/* ------------------------------------------------------------------
 * Page title band ("Checkout", "Cart"…): dark, with a small line above
 * ------------------------------------------------------------------ */
.entry-hero.page-hero-section,
.entry-hero.page-hero-section .entry-hero-container-inner {
	background: var(--s-band) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.entry-hero.page-hero-section .hero-section-overlay {
	background: transparent !important;
}

.entry-hero .entry-header {
	padding-top: 56px !important;
	padding-bottom: 56px !important;
}

/* Left-aligned, as on the Summit site (Kadence centres it by default). */
html body .entry-hero .entry-header,
html body .entry-hero .entry-header.title-align-center,
html body .entry-hero .entry-title {
	text-align: left !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	margin-left: 0 !important;
}

.entry-hero .entry-header::before {
	display: block;
	margin-bottom: 14px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.entry-hero .entry-title {
	color: #ffffff !important;
	font-size: clamp(36px, 5vw, 56px) !important;
	font-weight: 600 !important;
	line-height: 1.08;
}

/* ------------------------------------------------------------------
 * Footer (dark band)
 * ------------------------------------------------------------------ */
#colophon,
#colophon .site-footer-row-container-inner,
#colophon .site-bottom-footer-wrap {
	background: var(--s-band) !important;
	color: var(--s-band-muted) !important;
	border: 0 !important;
}

#colophon a { color: #ffffff !important; }

/* ------------------------------------------------------------------
 * Buttons: squared, black primary (white secondary)
 * ------------------------------------------------------------------ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.wp-block-button__link,
#place_order,
.aifg-ev-btn,
.aifg-ty-btn {
	border-radius: 0 !important;
	font-family: var(--s-font) !important;
	font-weight: 600 !important;
	letter-spacing: 0;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button.alt,
#place_order,
.aifg-ev-btn,
.aifg-ty-btn--primary {
	background: var(--s-primary) !important;
	border: 1px solid var(--s-primary) !important;
	color: #ffffff !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
#place_order:hover,
.aifg-ev-btn:hover,
.aifg-ty-btn--primary:hover {
	background: var(--s-primary-hover) !important;
	border-color: var(--s-primary-hover) !important;
	opacity: 1 !important;
}

.aifg-ty-btn--ghost {
	background: #ffffff !important;
	border: 1px solid var(--s-input) !important;
	color: var(--s-fg) !important;
}

.aifg-ty-btn--ghost:hover { background: var(--s-surface) !important; }

/* ------------------------------------------------------------------
 * Checkout: squared panels and fields, slate lines, black focus
 * ------------------------------------------------------------------ */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout ul.wc_payment_methods,
.woocommerce-checkout #payment,
.woocommerce-checkout .aifg-attendee-block,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .aifg-checkout-notice {
	border-radius: 0 !important;
	border-color: var(--s-border) !important;
	box-shadow: none !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout .aifg-checkout-qty input,
.woocommerce-checkout .aifg-checkout-qty,
.woocommerce-checkout .aifg-checkout-qty button {
	border-radius: 0 !important;
	border-color: var(--s-input) !important;
	font-family: var(--s-font) !important;
	color: var(--s-fg);
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection,
.woocommerce-checkout .select2-container--open .select2-selection {
	border-color: var(--s-fg) !important;
	box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.12) !important;
	outline: none !important;
}

.select2-dropdown {
	border-radius: 0 !important;
	border-color: var(--s-input) !important;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted {
	background: var(--s-fg) !important;
	color: #fff !important;
}

.woocommerce-checkout .form-row label,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--s-font) !important;
	color: var(--s-fg);
}

.woocommerce-checkout .form-row label { font-weight: 600; }

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}

.woocommerce-checkout input[type='checkbox'],
.woocommerce-checkout input[type='radio'] {
	accent-color: var(--s-fg);
}

.woocommerce-checkout-review-order-table thead th {
	color: var(--s-subtle) !important;
	letter-spacing: 0.08em;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	color: var(--s-fg) !important;
	font-weight: 700 !important;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label {
	font-family: var(--s-font) !important;
	font-weight: 600;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .wc-stripe-saved-methods,
.woocommerce-checkout .wc-stripe-saved-method,
.woocommerce-checkout .wc-stripe-add-new,
.woocommerce-checkout .payment_box .form-row,
.woocommerce-checkout .wc-stripe_cc-container,
.woocommerce-checkout [class*='wc-stripe'] .StripeElement {
	border-radius: 0 !important;
}

/* Kadence draws a 5px left bar on every payment method label (grey) and on the
   label after any checked radio (black) – which also hit the saved card inside
   the payment box. Keep the bar only on the selected top-level method. */
html body #payment ul.wc_payment_methods li.wc_payment_method > label,
html body #payment ul.wc_payment_methods li.wc_payment_method > label:hover,
html body #payment ul.wc_payment_methods li.wc_payment_method .payment_box input[type=radio] + label,
html body #payment ul.wc_payment_methods li.wc_payment_method .payment_box input[type=radio]:checked + label {
	border-left: 0 !important;
}

html body #payment ul.wc_payment_methods li.wc_payment_method > input[type=radio]:first-child:checked + label {
	border-left: 5px solid var(--s-primary) !important;
}

html body .woocommerce-checkout #payment #place_order,
html body .woocommerce-checkout #place_order {
	width: 100%;
	padding: 18px 24px !important;
	border-radius: 0 !important;
	background: var(--s-primary) !important;
	border: 1px solid var(--s-primary) !important;
	color: #ffffff !important;
	font-family: var(--s-font) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
}

html body .woocommerce-checkout #payment #place_order:hover,
html body .woocommerce-checkout #place_order:hover {
	background: var(--s-primary-hover) !important;
}

/* Disabled until the terms box is ticked */
html body .woocommerce-checkout #place_order:disabled,
html body .woocommerce-checkout #place_order.disabled {
	background: #94a3b8 !important;
	border-color: #94a3b8 !important;
}

/* ------------------------------------------------------------------
 * Verify-email popup (aifg-email-verify): Summit squared + black/yellow
 * ------------------------------------------------------------------ */
.aifg-ev-form {
	--ev-accent: #0f172a;
	--ev-border: var(--s-input);
	border-radius: 0 !important;
	font-family: var(--s-font) !important;
}

.aifg-ev-form h3 { font-weight: 600 !important; }

.aifg-ev-icon {
	border-radius: 0;
	background: rgba(251, 210, 7, 0.18);
	color: var(--s-fg);
}

.aifg-ev-summary,
.aifg-ev-input,
.aifg-ev-attendee,
.aifg-ev-digit,
.aifg-ev-overlay {
	border-radius: 0 !important;
}

.aifg-ev-attendee:has(input:checked) {
	background: rgba(251, 210, 7, 0.12);
	border-color: var(--s-fg);
}

.aifg-ev-input:focus,
.aifg-ev-digit:focus {
	box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.12);
}

.aifg-ev-spinner {
	border-color: rgba(15, 23, 42, 0.15);
	border-top-color: var(--s-fg);
}

.aifg-ev-resend { color: var(--s-fg); }

/* ------------------------------------------------------------------
 * Thank-you page (aifg-thank-you): same squared look, black/yellow accents
 * ------------------------------------------------------------------ */
.aifg-ty {
	--ty-accent: #0f172a;
	--ty-border: var(--s-border);
	font-family: var(--s-font);
}

/* The thank-you template prints its own <style> after this file: win on specificity. */
html body .aifg-ty .aifg-ty-icon {
	border-radius: 0 !important;
	background: var(--s-brand) !important;
	box-shadow: none !important;
}

html body .aifg-ty .aifg-ty-icon svg { stroke: var(--s-fg) !important; }

.aifg-ty-hero h1 { font-weight: 600; }

.aifg-ty-card,
.aifg-ty-meta,
.aifg-ty-person,
.aifg-ty-pill,
.aifg-ty-table th:first-child,
.aifg-ty-table th:last-child {
	border-radius: 0 !important;
	box-shadow: none !important;
}

.aifg-ty-person small { color: var(--s-subtle); }

/* Attendee quantity control in "Your order" (aifg-classic-checkout-qty) */
html body .woocommerce-checkout-review-order-table .product-name .aifg-checkout-qty,
html body .aifg-checkout-qty__button,
html body .aifg-checkout-qty__input,
html body .aifg-checkout-qty-static {
	border-radius: 0 !important;
	font-family: var(--s-font) !important;
}

html body .woocommerce-checkout-review-order-table .product-name .aifg-checkout-qty {
	border-color: var(--s-input) !important;
}

/* ------------------------------------------------------------------
 * Checkout columns: no card outline around Billing details / Your order
 * ------------------------------------------------------------------ */
html body.woocommerce-checkout #customer_details,
html body.woocommerce-checkout #order_review {
	border: 0 !important;
	box-shadow: none !important;
}

/* Locked-field icon: the emoji (always yellow) becomes a slate-grey lock. */
html body .aifg-ev-lock-icon {
	font-size: 0 !important;
	opacity: 1;
	vertical-align: -1px;
}

html body .aifg-ev-lock-icon::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	background: var(--s-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9h-2zM9 7a3 3 0 0 1 6 0v2H9V7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9h-2zM9 7a3 3 0 0 1 6 0v2H9V7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

html body .aifg-ev-lock-icon .aifg-ev-lock-tooltip {
	font-size: 0.85rem;
	font-family: var(--s-font);
	border-radius: 0;
}
