/*
Theme Name: Klandles
Description: Klandles webshop theme (child of Twenty Twenty-Five), built on the Klandles web design base: EB Garamond display, DM Sans text, warm cream palette, thin button labels.
Template: twentytwentyfive
Version: 0.2.0
Requires at least: 6.7
Text Domain: klandles
*/

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Header */
.kl-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}
.admin-bar .kl-header { top: var(--wp-admin--admin-bar--height, 32px); }
.kl-wordmark,
.kl-wordmark a {
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-weight: 500;
	font-size: 1.75rem;
	letter-spacing: .02em;
	text-transform: lowercase;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	line-height: 1;
}
.kl-header .wp-block-navigation a { color: var(--wp--preset--color--accent-4); font-size: .92rem; text-decoration: none; }
.kl-header .wp-block-navigation a:hover { color: var(--wp--preset--color--contrast); }

/* Eyebrow label */
.kl-label {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-3);
	margin: 0;
}
.kl-page-head { display: grid; gap: .5rem; }
.kl-page-head .wp-block-post-title { margin: 0; }

/* Shared form look (blocks and classic WooCommerce) */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .input-text,
.woocommerce form select {
	border: 1px solid var(--wp--preset--color--accent-6) !important;
	border-radius: 12px !important;
	background: #FFFCF7 !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.woocommerce form .input-text:focus {
	border-color: var(--wp--preset--color--contrast) !important;
	outline: none;
}
.woocommerce form .form-row label,
.wc-block-components-text-input label { color: var(--wp--preset--color--accent-4); }

/* Buttons: pill, thin label */
.wc-block-components-button:not(.is-link),
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button {
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--dm-sans) !important;
	font-weight: 400 !important;
	letter-spacing: .04em;
	font-size: .9rem !important;
	padding: .9em 1.7em !important;
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--contrast) !important;
	transition: transform .2s;
}
.wc-block-components-button:not(.is-link):hover,
.woocommerce .button:hover { transform: translateY(-1px); }
.wc-block-components-button.is-link { color: var(--wp--preset--color--accent-4); }

/* Titles inside cart and checkout */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-product-name,
.woocommerce-MyAccount-content h2,
.woocommerce h2 {
	font-family: var(--wp--preset--font-family--eb-garamond) !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.wc-block-components-checkout-step__title { font-size: 1.45rem !important; }
.wc-block-cart__totals-title { font-size: .72rem !important; font-family: var(--wp--preset--font-family--dm-sans) !important; font-weight: 500 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: var(--wp--preset--color--accent-4); }
.wc-block-components-product-name { font-size: 1.2rem; color: var(--wp--preset--color--contrast); text-decoration: none; }

/* Order summary panels */
.wc-block-cart__sidebar .wc-block-components-sidebar-layout__sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
	background: var(--wp--preset--color--accent-2);
	border-radius: 18px;
	padding: 1.5rem !important;
}
.wc-block-components-totals-wrapper { border-color: var(--wp--preset--color--accent-6) !important; }
.wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; }
.wc-block-cart-items th { font-weight: 500; font-size: .72rem; letter-spacing: .2em; color: var(--wp--preset--color--accent-4); }
.wc-block-components-product-image img { border-radius: 12px; }

/* Empty cart */
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--wp--preset--font-family--eb-garamond); font-weight: 400; }
.wp-block-separator.is-style-dots::before { color: var(--wp--preset--color--accent-1); }

/* My account (classic) */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--accent-6); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.woocommerce-MyAccount-navigation a { display: block; padding: .8rem 0; text-decoration: none; color: var(--wp--preset--color--accent-4); }
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { color: var(--wp--preset--color--contrast); }
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--wp--preset--color--accent-6) !important;
	border-radius: 20px !important;
	padding: clamp(1.25rem, 4vw, 2.25rem) !important;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-top: 0 !important;
	border-radius: 12px;
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--contrast) !important;
}
.woocommerce-info::before,
.woocommerce-message::before { color: var(--wp--preset--color--accent-5) !important; }

/* Footer */
.kl-footer { border-top: 1px solid var(--wp--preset--color--accent-6); }
.kl-footer h2 {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
	margin: 0 0 .7rem;
}
.kl-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: .93rem; }
.kl-footer a { text-decoration: none; }
.kl-footer a:hover { text-decoration: underline; }
.kl-footer .kl-muted { color: var(--wp--preset--color--accent-4); font-size: .93rem; }
.kl-legal { border-top: 1px solid var(--wp--preset--color--accent-6); font-size: .82rem; color: var(--wp--preset--color--accent-4); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
}

/* My account: layout */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 13rem minmax(0, 1fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	min-width: 0;
}
.woocommerce-MyAccount-navigation a { position: relative; font-size: .95rem; }
.woocommerce-MyAccount-navigation .is-active a { padding-left: 1.4rem; transition: padding .2s; }
.woocommerce-MyAccount-navigation .is-active a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: .9rem;
	height: 1px;
	background: var(--wp--preset--color--accent-1);
}
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--wp--preset--color--accent-3) !important; }

/* My account: dashboard */
.kl-account-hello { display: grid; gap: .6rem; margin-bottom: 2rem; max-width: 36rem; }
.kl-account-hello h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0; }
.kl-account-hello p { color: var(--wp--preset--color--accent-4); margin: 0; }
.kl-account-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kl-account-tile {
	display: grid;
	gap: .35rem;
	align-content: start;
	padding: 1.4rem 1.25rem;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 18px;
	text-decoration: none !important;
	color: var(--wp--preset--color--contrast);
	transition: border-color .2s, background .2s;
}
.kl-account-tile:hover { border-color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--accent-2); }
.kl-account-tile__title { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 1.35rem; line-height: 1.2; }
.kl-account-tile__text { font-size: .88rem; color: var(--wp--preset--color--accent-4); }

/* My account: login */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 28rem; }
.woocommerce-account:not(.logged-in) .woocommerce > h2 { font-size: 1.8rem; margin: 0 0 1rem; }
.woocommerce form.login .form-row { display: grid; gap: .35rem; margin-bottom: 1rem; }
.woocommerce form.login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: .5rem; color: var(--wp--preset--color--accent-4); font-size: .9rem; margin-bottom: .75rem; }
.woocommerce form.login .woocommerce-form-login__submit { width: 100%; justify-content: center; }
.woocommerce-LostPassword { margin: 1rem 0 0; font-size: .9rem; text-align: center; }
.woocommerce-LostPassword a { color: var(--wp--preset--color--accent-4); }
.woocommerce form .required { color: var(--wp--preset--color--accent-3); text-decoration: none; }

/* My account: tables (orders) */
.woocommerce-orders-table,
.woocommerce table.shop_table { border: 1px solid var(--wp--preset--color--accent-6) !important; border-radius: 16px !important; border-collapse: separate !important; overflow: hidden; }
.woocommerce table.shop_table th { font-weight: 500; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: var(--wp--preset--color--accent-6) !important; }

@media (max-width: 781px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; }
	.kl-account-tiles { grid-template-columns: 1fr; }
}
