/*
Theme Name: Alborz Sport
Theme URI: https://alborzsportcomplex.ir
Author: Vira Team
Description: قالب اختصاصی مجموعه فرهنگی ورزشی البرز.
Version: 0.1.2
Text Domain: alborz-sport
*/

:root {
  --forest: #032418;
  --forest-soft: #0b3023;
  --yellow: #ffd200;
  --yellow-dark: #8c7200;
  --teal: #078d8e;
  --surface: #f1f5f3;
  --white: #fff;
  --text: #173126;
  --muted: #6c7a72;
  --container: 1280px;
  --content-gutter: 28px;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.25rem;
  --text-xl: clamp(1.75rem, 3vw, 2.25rem);
  --text-hero: clamp(2rem, 4vw, 3.5rem);
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --radius: 14px;
  --shadow: 0 12px 32px rgb(3 36 24 / 10%);
}

@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Bold.ttf") format("truetype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  direction: rtl;
  color: var(--text);
  background: var(--white);
  font-family: "Vazirmatn", sans-serif;
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: 1.8;
}
h1, h2, h3, p { overflow-wrap: anywhere; }
h1, h2, h3 { font-weight: var(--weight-bold); line-height: 1.45; }
p { line-height: 1.9; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: min(calc(100% - var(--content-gutter) * 2), var(--container)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.adminbar { min-height: 28px; color: #eaf2ee; background: #20262a; font-size: 11px; }
.adminbar .container { display: flex; justify-content: space-between; align-items: center; min-height: 28px; }
.site-header { position: relative; z-index: 20; background: var(--white); border-bottom: 1px solid #eef1ef; }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 28px; }
.brand { display: inline-flex; align-items: center; color: var(--teal); font-weight: 800; font-size: 18px; white-space: nowrap; }
.brand-logo { height: 58px; object-fit: contain; }
.brand-mark { display: grid; place-items: center; width: 44px; height: 34px; color: var(--forest); font-size: 25px; transform: skew(-18deg); }
.main-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.main-nav a:hover { color: var(--teal); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-icon-link { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; color: var(--forest); }
.header-icon-link svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.icon-badge { position: absolute; top: -3px; inset-inline-start: -1px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; color: var(--forest); background: var(--yellow); border-radius: 20px; font-size: 10px; font-weight: var(--weight-bold); }
.account-link { padding: 8px 20px; color: var(--white); background: var(--teal); border-radius: 7px; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.mobile-menu-toggle { display: none; padding: 5px 9px; color: var(--forest); background: transparent; border: 1px solid #dbe6e0; border-radius: 7px; font-size: 20px; }

.hero {
  position: relative; min-height: 490px; display: grid; align-items: center; overflow: hidden;
  background-position: center; background-size: cover;
}
.hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background: repeating-linear-gradient(125deg, transparent 0 18px, #fff 19px 20px); mix-blend-mode: overlay; }
.hero .container { position: relative; z-index: 1; }
.hero-content { max-width: 650px; margin-inline-start: 0; margin-inline-end: auto; color: var(--white); padding: 70px 0; }
.eyebrow { display: inline-block; margin-bottom: 12px; padding: 2px 10px; color: var(--forest); background: var(--yellow); border-radius: 4px; font-size: 12px; font-weight: 800; }
.hero h1 { margin: 0 0 12px; font-size: var(--text-hero); font-weight: var(--weight-bold); }
.hero h1 span { color: var(--yellow); }
.hero p { max-width: 560px; color: #d8e1dc; font-size: var(--text-md); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 7px 24px; border: 1px solid transparent; border-radius: 7px; font-weight: var(--weight-bold); font-size: var(--text-sm); cursor: pointer; }
.button-primary { color: var(--forest); background: var(--yellow); }
.button-dark { color: var(--white); background: var(--forest); }
.button-outline { color: var(--white); border-color: rgb(255 255 255 / 55%); }

.section { padding: 72px 0; }
.section-alt { background: var(--surface); }
.section-heading { margin-bottom: 34px; text-align: center; }
.section-heading h2 { position: relative; display: inline-block; margin: 0; color: var(--forest); font-size: var(--text-xl); }
.section-heading h2::after { content: ""; position: absolute; right: 50%; bottom: -12px; width: 52px; height: 4px; background: var(--yellow); transform: translateX(50%); border-radius: 4px; }
.section-heading p { margin: 22px auto 0; color: var(--muted); font-size: 14px; }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { position: relative; min-height: 180px; display: flex; align-items: end; overflow: hidden; padding: 22px; color: var(--white); background: linear-gradient(135deg, #6b8b83, #14382b); border-radius: var(--radius); box-shadow: var(--shadow); }
.service-card-pool, .service-card-martial, .service-card-gym { background-position: center; background-size: cover; }
.service-card::after { content: ""; position: absolute; inset: 0; background: rgb(3 36 24 / 18%); }
.service-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(3 36 24 / 90%), transparent 65%); }
.service-card > div { position: relative; z-index: 1; }
.service-card h3 { margin: 0; font-size: 18px; }
.service-card p { margin: 2px 0 0; color: #e5eee9; font-size: 12px; }
.service-icon { margin-bottom: 10px; color: var(--yellow); font-size: 25px; }

.intro-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 70px; }
.image-stack { position: relative; min-height: 290px; }
.image-card { position: absolute; width: 58%; height: 210px; object-fit: cover; border: 8px solid var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); background: #b7d8ce; }
.image-card:first-child { top: 0; inset-inline-end: 0; }
.image-card:last-child { bottom: 0; inset-inline-start: 0; }
.intro-copy h2 { margin: 0 0 16px; color: var(--forest); font-size: 30px; }
.check-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 24px 0; padding: 0; list-style: none; font-size: 13px; }
.check-list li::before { content: "✓"; display: inline-grid; place-items: center; width: 20px; height: 20px; margin-inline-end: 7px; color: var(--forest); background: var(--yellow); border-radius: 50%; font-weight: 900; }
.notice { padding: 12px 18px; border-inline-end: 3px solid var(--yellow); color: var(--yellow-dark); background: #fff9d8; border-radius: 6px; font-size: 12px; }

.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.feature-card { min-height: 235px; padding: 28px; border: 2px solid var(--yellow); border-radius: var(--radius); }
.feature-card.dark { color: var(--white); background: var(--forest); border-color: var(--forest); }
.feature-card h3 { margin: 0 0 12px; font-size: 20px; }
.pills { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.pill { padding: 2px 10px; color: var(--forest); background: var(--yellow); border-radius: 20px; font-size: 11px; font-weight: 800; }
.feature-card .button { width: 100%; margin-top: 18px; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; list-style: none; font-size: 13px; }

.benefits { color: var(--white); background: var(--forest); }
.benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.benefit-icon { color: var(--yellow); font-size: 29px; }
.benefit h3 { margin: 4px 0; font-size: 16px; }
.benefit p { margin: 0; color: #c7d7ce; font-size: 11px; }
.testimonial-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.testimonial { padding: 22px; border-top: 3px solid var(--yellow-dark); border-radius: 12px; box-shadow: var(--shadow); }
.testimonial p { margin: 0 0 10px; font-size: 13px; }
.testimonial strong { color: var(--yellow-dark); font-size: 12px; }
.cta-strip { padding: 25px 0; background: var(--yellow); }
.cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.cta-inner h2 { margin: 0; color: var(--forest); font-size: 21px; }
.site-footer { color: #d4e1da; background: var(--forest); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 50px; padding: 65px 0 45px; }
.site-footer h3 { margin: 0 0 14px; color: var(--yellow); font-size: 17px; }
.site-footer p, .site-footer address { margin: 0; color: #c0d0c8; font-size: 12px; font-style: normal; }
.map-placeholder { min-height: 140px; display: grid; place-items: center; color: var(--forest); background: #adc6bd; border-radius: 8px; font-size: 14px; }
.copyright { padding: 12px 0; color: #a7bdb0; background: #082d20; text-align: center; font-size: 11px; }

/* WooCommerce */
.shop-page { min-height: 500px; padding: 72px 0; background: var(--surface); }
.shop-page .woocommerce-breadcrumb { margin: 0 0 28px; color: var(--muted); font-size: var(--text-sm); }
.shop-page .woocommerce-products-header h1,
.shop-page .page-title { margin: 0 0 34px; color: var(--forest); font-size: var(--text-xl); }
.shop-page ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.shop-page ul.products::before, .shop-page ul.products::after { display: none; }
.alborz-product-card { display: flex; flex-direction: column; overflow: hidden; margin: 0 !important; padding: 0 !important; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.alborz-product-image { position: relative; display: block; overflow: hidden; background: #dce9e2; }
.alborz-product-image img { width: 100%; height: 235px !important; margin: 0 !important; object-fit: cover; transition: transform .25s ease; }
.alborz-product-card:hover .alborz-product-image img { transform: scale(1.04); }
.product-badge { position: absolute; top: 14px; inset-inline-start: 14px; padding: 3px 10px; color: var(--forest); background: var(--yellow); border-radius: 20px; font-size: var(--text-xs); font-weight: var(--weight-bold); }
.alborz-product-body { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.alborz-product-body h2 { margin: 0 0 5px !important; color: var(--forest); font-size: var(--text-lg); }
.alborz-product-body h2 a:hover { color: var(--teal); }
.product-meta { min-height: 28px; color: var(--muted); font-size: var(--text-sm); }
.product-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 18px; }
.alborz-product-card .product-footer .button { margin-inline-start: auto; }
.product-price, .single-price { color: var(--forest); font-weight: var(--weight-bold); }
.product-price .amount, .single-price .amount { color: var(--forest); }
.product-footer .button { min-height: 38px; padding: 5px 14px; font-size: var(--text-xs); }
.pool-ticket-product-card { display: flex; flex-direction: column; }
.pool-ticket-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; }
.pool-ticket-product-footer .button { margin-inline-start: auto; }
.woocommerce-result-count, .woocommerce-ordering { color: var(--muted); font-size: var(--text-sm); }
.woocommerce-ordering select, .woocommerce form .input-text, .woocommerce form select { min-height: 42px; padding: 7px 12px; border: 1px solid #d7e3dc; border-radius: 7px; background: var(--white); font: inherit; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { margin: 0 0 24px; padding: 14px 18px; border-top: 3px solid var(--yellow); color: var(--text); background: #fffbea; border-radius: 7px; list-style: none; }
.woocommerce-message { border-top-color: var(--teal); background: #ecfbf8; }
.woocommerce-error { border-top-color: #b53b3b; background: #fff0f0; }
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-NoticeGroup,
.woocommerce-page .woocommerce-NoticeGroup ul,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error { position: relative; padding-inline-start: 72px !important; padding-inline-end: 20px !important; text-align: right; }
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-error::before { inset-inline-start: 20px !important; inset-inline-end: auto !important; }
.woocommerce-page .woocommerce-error li,
.woocommerce .woocommerce-error li { padding: 0 !important; }
.woocommerce-page .adminbar { display: none; }
.woocommerce-page .page-title,
.woocommerce-page .woocommerce-products-header,
.woocommerce-page .wp-block-post-title,
.woocommerce-page .entry-title { display: none !important; }
body.woocommerce-cart .page-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-cart .wc-block-cart__title,
body.woocommerce-cart main > h1,
body.woocommerce-cart .shop-page > .container > h1,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout main > h1,
body.woocommerce-checkout .shop-page > .container > h1 { display: none !important; }
body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-cart .wp-block-heading,
body.woocommerce-checkout .wp-block-heading { display: none !important; }
body.woocommerce-cart #wpadminbar,
body.woocommerce-checkout #wpadminbar { display: none !important; }
body.woocommerce-cart.admin-bar,
body.woocommerce-checkout.admin-bar { margin-top: 0 !important; }
.alborz-single-product { max-width: var(--container); margin: 0 auto; padding: 0; }
.single-product-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 60px; }
.single-product-media { overflow: hidden; min-height: 420px; background: #dce9e2; border-radius: var(--radius); }
.single-product-media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.single-product-summary h1 { margin: 14px 0; color: var(--forest); font-size: clamp(2rem, 4vw, 3rem); }
.single-price { margin: 18px 0; font-size: 1.5rem; }
.single-description { color: var(--muted); font-size: var(--text-md); }
.course-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0; }
.course-facts div { display: flex; flex-direction: column; padding: 13px; background: var(--surface); border-radius: 8px; }
.course-facts strong { color: var(--forest); font-size: var(--text-sm); }
.course-facts span { color: var(--muted); font-size: var(--text-sm); }
.single-product-summary form.cart { display: flex; align-items: center; gap: 12px; margin-top: 26px; }
.single-product-summary form.cart .quantity input { width: 72px; min-height: 44px; padding: 7px; border: 1px solid #d7e3dc; border-radius: 7px; text-align: center; font: inherit; }
.single-product-content { margin-top: 64px; padding-top: 38px; border-top: 1px solid #e1ebe5; }
.single-product-content h2 { color: var(--forest); font-size: var(--text-xl); }
.course-detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; }
.course-detail-columns > div { padding: 22px; background: var(--surface); border-radius: 10px; }
.course-detail-columns h3 { margin: 0 0 10px; color: var(--forest); font-size: var(--text-lg); }
.course-detail-columns ul { margin: 0; padding-inline-start: 20px; color: var(--muted); font-size: var(--text-sm); }
.course-detail-columns li + li { margin-top: 7px; }
.woocommerce-cart-form, .cart-collaterals, .woocommerce-checkout, .woocommerce-account .woocommerce-MyAccount-content { color: var(--text); }
.woocommerce table.shop_table { border: 1px solid #e1ebe5; border-radius: var(--radius); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce table.shop_table th { color: var(--forest); background: var(--surface); font-weight: var(--weight-semibold); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 16px; border: 0; border-bottom: 1px solid #e9efeb; }
.woocommerce .quantity .input-text { width: 65px; min-height: 40px; }
.woocommerce .button { font-family: inherit; }
.woocommerce .button.alt, .woocommerce #respond input#submit.alt { background: var(--forest); }
.woocommerce .button.alt:hover { background: var(--teal); }
.cart_totals h2, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { color: var(--forest); font-size: var(--text-lg); }
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 5px; color: var(--forest); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.woocommerce form .form-row .input-text { width: 100%; }
.woocommerce form .form-row label .required { color: #b53b3b; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { width: 100%; min-height: 46px; padding: 9px 12px; color: var(--text); background: var(--white); border: 1px solid #d7e3dc; border-radius: 8px; font: inherit; }
.woocommerce form .form-row textarea { min-height: 110px; resize: vertical; }
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { outline: 2px solid rgb(7 141 142 / 20%); border-color: var(--teal); }
.woocommerce form .form-row .select2-container { width: 100% !important; }
.woocommerce form .form-row .select2-selection { min-height: 46px; padding: 8px 12px; border: 1px solid #d7e3dc; border-radius: 8px; }
.woocommerce form .form-row .select2-selection__rendered { padding: 0; line-height: 28px; }
.woocommerce form .form-row .select2-selection__arrow { top: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #e1ebe5; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 14px; color: var(--forest); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--forest); background: var(--yellow); }
.woocommerce-account .woocommerce-MyAccount-content { padding: 24px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); }
.woocommerce-account .woocommerce-MyAccount-content h2 { margin-top: 0; color: var(--forest); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { margin-top: 0; }
.woocommerce-account .shop-page { background: var(--surface); }
.woocommerce-account .shop-page > .container { width: min(calc(100% - var(--content-gutter) * 2), var(--container)); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 24px; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }
.woocommerce-account .woocommerce-MyAccount-navigation { align-self: start; padding: 14px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; margin: 3px 0; padding: 11px 13px; border-radius: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a::before { display: inline-block; width: 25px; margin-inline-end: 3px; color: var(--teal); font-size: 16px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "⌂"; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before { content: "▤"; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "◈"; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--alborz-courses a::before { content: "🎟"; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--alborz-tickets a::before { content: "🎟"; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "↪"; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; padding: 0; background: transparent; border: 0; }
.alborz-dashboard-welcome { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 22px; padding: 30px; color: var(--white); background: linear-gradient(120deg, var(--forest), var(--forest-soft)); border-radius: var(--radius); }
.alborz-dashboard-welcome h1 { margin: 8px 0; font-size: var(--text-xl); }
.alborz-dashboard-welcome p { margin: 0; color: #c9d9d0; font-size: var(--text-sm); }
.alborz-dashboard-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.dashboard-stat { display: flex; flex-direction: column; padding: 20px; background: var(--white); border: 1px solid #e1ebe5; border-radius: 12px; box-shadow: var(--shadow); transition: transform .2s ease; }
.dashboard-stat:hover { transform: translateY(-3px); }
.dashboard-stat-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 14px; color: var(--forest); background: var(--yellow); border-radius: 10px; font-size: 20px; }
.dashboard-stat strong { color: var(--forest); font-size: 28px; line-height: 1.3; }
.dashboard-stat > span:last-child { color: var(--muted); font-size: var(--text-xs); }
.dashboard-stat-valid .dashboard-stat-icon { background: #d9f4e4; }
.dashboard-stat-used .dashboard-stat-icon { background: #f9e2e2; }
.dashboard-stat-orders .dashboard-stat-icon { background: #dff1f3; }
.alborz-dashboard-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.alborz-dashboard-actions a { position: relative; display: flex; flex-direction: column; padding: 20px; background: var(--white); border: 1px solid #e1ebe5; border-radius: 12px; box-shadow: var(--shadow); }
.alborz-dashboard-actions a:hover { border-color: var(--yellow-dark); }
.alborz-dashboard-actions span { color: var(--forest); font-size: var(--text-md); font-weight: var(--weight-bold); }
.alborz-dashboard-actions small { margin-top: 5px; color: var(--muted); font-size: var(--text-xs); }
.alborz-dashboard-actions b { position: absolute; top: 20px; inset-inline-start: 20px; color: var(--yellow-dark); font-size: 20px; }
.alborz-account-title { margin-top: 0; color: var(--forest); font-size: var(--text-xl); }
.alborz-archive-intro { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 30px; padding: 34px; color: var(--white); background: var(--forest); border-radius: var(--radius); }
.alborz-archive-intro h1 { margin: 8px 0; font-size: var(--text-xl); }
.alborz-archive-intro p { margin: 0; color: #c9d9d0; font-size: var(--text-sm); }
.archive-count { display: flex; flex-direction: column; align-items: center; min-width: 120px; padding: 15px; color: var(--forest); background: var(--yellow); border-radius: 10px; }
.archive-count strong { font-size: 28px; line-height: 1.2; }
.archive-count span { font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.alborz-course-filters { display: flex; align-items: end; gap: 14px; margin-bottom: 28px; padding: 18px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); }
.alborz-course-filters label { display: flex; flex: 1; flex-direction: column; gap: 5px; color: var(--forest); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.alborz-course-filters select { width: 100%; min-height: 42px; padding: 7px 12px; border: 1px solid #d7e3dc; border-radius: 7px; background: var(--white); font: inherit; font-size: var(--text-sm); }
.filter-reset { padding: 8px 4px; color: var(--muted); font-size: var(--text-xs); white-space: nowrap; }
.alborz-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.alborz-course-card { overflow: hidden; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.course-card-image { position: relative; display: block; overflow: hidden; background: #dce9e2; }
.course-card-image img { width: 100%; height: 220px; object-fit: cover; transition: transform .25s ease; }
.course-card:hover .course-card-image img { transform: scale(1.04); }
.course-card-image .product-badge { top: 14px; inset-inline-start: 14px; }
.course-card-body { padding: 18px; }
.course-card-category { color: var(--teal); font-size: var(--text-xs); font-weight: var(--weight-bold); }
.course-card-body h3 { margin: 5px 0; color: var(--forest); font-size: var(--text-lg); }
.course-card-body h3 a:hover { color: var(--teal); }
.course-card-body p { min-height: 28px; margin: 4px 0; color: var(--muted); font-size: var(--text-sm); }
.course-card-facts { display: flex; justify-content: space-between; gap: 8px; padding: 12px 0; border-top: 1px solid #edf2ee; border-bottom: 1px solid #edf2ee; color: var(--muted); font-size: var(--text-xs); }
.course-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 16px; }
.course-card-footer strong { color: var(--forest); font-size: var(--text-sm); }
.course-card-footer .button { min-height: 38px; padding: 5px 15px; font-size: var(--text-xs); }
.alborz-empty-state { grid-column: 1 / -1; padding: 50px 20px; text-align: center; background: var(--white); border: 1px dashed #cbdad1; border-radius: var(--radius); }
.alborz-empty-state h2 { margin: 0 0 8px; color: var(--forest); font-size: var(--text-lg); }
.alborz-empty-state p { margin: 0; color: var(--muted); font-size: var(--text-sm); }
.pool-page-intro { display: grid; grid-template-columns: 1fr .7fr; align-items: center; gap: 30px; margin-bottom: 30px; padding: 34px; color: var(--white); background: linear-gradient(120deg, var(--forest), var(--forest-soft)); border-radius: var(--radius); }
.pool-page-intro h1 { margin: 8px 0; font-size: var(--text-xl); }
.pool-page-intro p { margin: 0; color: #c9d9d0; font-size: var(--text-sm); }
.pool-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pool-benefits div { padding: 12px; color: var(--forest); background: var(--yellow); border-radius: 8px; text-align: center; font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.single-product-summary .button { font-family: inherit; }
.alborz-checkout-header { margin-bottom: 28px; padding: 28px 32px; color: var(--white); background: linear-gradient(120deg, var(--forest), var(--forest-soft)); border-radius: var(--radius); }
.alborz-checkout-header .eyebrow { margin-bottom: 8px; }
.alborz-checkout-header h1 { margin: 0 0 4px; color: var(--white); font-size: var(--text-xl); }
.alborz-checkout-header p { margin: 0; color: #c9d9d0; font-size: var(--text-sm); }
.alborz-checkout-columns { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: start; gap: 24px; }
.alborz-checkout-only-summary { display: block; max-width: 760px; margin: 0 auto; }
.alborz-checkout-only-summary .alborz-checkout-summary { position: static; }
.alborz-checkout-customer { padding: 26px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.alborz-checkout-customer h3 { margin: 0 0 20px; color: var(--forest); font-size: var(--text-lg); }
.alborz-checkout-summary { position: sticky; top: 20px; padding: 24px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.alborz-checkout-summary h2 { margin: 0 0 18px; color: var(--forest); font-size: var(--text-lg); }
.alborz-checkout-summary .shop_table { margin: 0 0 18px; font-size: var(--text-sm); }
.alborz-checkout-summary .shop_table td,
.alborz-checkout-summary .shop_table th { padding: 12px 8px; }
.alborz-checkout-summary #payment { padding: 18px 0 0; background: transparent; }
.alborz-checkout-summary #payment ul.payment_methods { margin: 0; padding: 0 0 14px; border-bottom: 1px solid #e9efeb; }
.alborz-checkout-summary #payment div.payment_box { margin: 10px 0; padding: 12px; color: var(--muted); background: var(--surface); font-size: var(--text-xs); }
.alborz-checkout-summary #payment .place-order { margin: 0; padding: 16px 0 0; }
.alborz-checkout-summary #payment .button { width: 100%; min-height: 48px; }
.alborz-thankyou-simple { max-width: 620px; margin: 20px auto; padding: 48px 28px; color: var(--forest); background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); text-align: center; }
.alborz-thankyou-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 18px; color: var(--forest); background: #d9f4e4; border-radius: 50%; font-size: 34px; font-weight: 800; }
.alborz-thankyou-simple .eyebrow { margin-bottom: 14px; }
.alborz-thankyou-simple h1 { margin: 0 auto 18px; color: var(--forest); font-size: clamp(1.5rem, 3vw, 2rem); }
.alborz-thankyou-order { margin: 0 0 26px; color: var(--muted); font-size: var(--text-md); }
.alborz-thankyou-order strong { color: var(--forest); direction: ltr; unicode-bidi: isolate; }
.alborz-thankyou-simple .button { min-width: 220px; }
.woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--muted); font-size: var(--text-xs); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 10px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 20px; }
.woocommerce-checkout .woocommerce-info a { color: var(--teal); font-weight: var(--weight-bold); }
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 { margin: 0 0 20px; color: var(--forest); font-size: var(--text-lg); }
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { border: 0; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button { min-height: 34px; padding: 5px 12px; font-size: var(--text-xs); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination { margin-top: 20px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination a,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination span { display: inline-flex; justify-content: center; align-items: center; min-width: 36px; min-height: 36px; margin-inline-end: 5px; border-radius: 7px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination .current { color: var(--forest); background: var(--yellow); }
.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-customer-details { margin-top: 24px; padding: 20px; background: var(--white); border: 1px solid #e1ebe5; border-radius: 12px; }
.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-column__title { margin-top: 0; color: var(--forest); font-size: var(--text-lg); }
.alborz-profile-form { padding: 26px; background: var(--white); border: 1px solid #e1ebe5; border-radius: var(--radius); box-shadow: var(--shadow); }
.alborz-profile-form h2 { margin: 0 0 24px; }
.alborz-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.alborz-profile-field { min-width: 0; }
.alborz-profile-field-full { grid-column: 1 / -1; }
.alborz-profile-form .button { min-width: 180px; margin-top: 6px; }
.alborz-profile-form [hidden] { display: none !important; }

@media (max-width: 800px) {
  .header-inner { flex-wrap: wrap; padding: 12px 0; }
  .brand { flex: 0 0 100%; justify-content: center; }
  .header-actions { flex: 0 0 100%; width: 100%; margin: 0; justify-content: flex-start; }
  .mobile-menu-toggle { display: block; }
  .main-nav { position: absolute; top: 100%; right: 0; left: 0; z-index: 30; order: 3; width: 100%; padding: 0 14px; overflow: visible; background: var(--white); box-shadow: 0 14px 24px rgb(3 36 24 / 12%); }
  .main-nav:not(.is-open) { display: none; }
  .main-nav ul { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: min(100%, var(--container)); min-width: 0; margin: 0 auto; }
  .main-nav li { width: 100%; border-top: 1px solid #eef1ef; }
  .main-nav a { display: block; width: 100%; padding: 11px 4px; text-align: right; }
  .header-actions { direction: ltr; }
  .header-actions .mobile-menu-toggle { margin-left: auto; }
  .header-actions .account-link { direction: rtl; }
  .header-actions .header-icon-link { direction: rtl; }
  .hero-content { margin-inline-start: 0; }
  .service-grid, .feature-grid, .intro-grid { grid-template-columns: 1fr; }
  .intro-grid { gap: 30px; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .shop-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-product-grid { grid-template-columns: 1fr; gap: 30px; }
  .alborz-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pool-page-intro { grid-template-columns: 1fr; }
  .alborz-checkout-columns { grid-template-columns: 1fr; }
  .alborz-checkout-summary { position: static; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; }
  body.woocommerce-account { overflow-x: hidden; }
  .woocommerce-account .woocommerce,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; width: 100%; max-width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 0; overflow: visible; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 1 1 auto; width: 100%; min-width: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a { width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .woocommerce-account .woocommerce-MyAccount-content { overflow: hidden; }
  .alborz-dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .adminbar .container { font-size: 9px; }
  .account-link { padding: 7px 12px; }
  .header-icon-link { width: 32px; }
  .hero { min-height: 540px; }
  .hero-content { padding: 55px 0; }
  .check-list, .testimonial-grid, .footer-grid { grid-template-columns: 1fr; }
  .cta-inner { flex-direction: column; text-align: center; }
  .section { padding: 52px 0; }
  .shop-page ul.products { grid-template-columns: 1fr; }
  .alborz-archive-intro, .alborz-course-filters { align-items: stretch; flex-direction: column; }
  .alborz-course-grid { grid-template-columns: 1fr; }
  .pool-benefits { grid-template-columns: 1fr; }
  .product-footer { align-items: stretch; flex-direction: column; }
  .product-footer .button { width: 100%; }
  .single-product-media, .single-product-media img { min-height: 280px; }
  .single-product-summary form.cart { align-items: stretch; flex-wrap: wrap; }
  .course-detail-columns { grid-template-columns: 1fr; }
  .alborz-checkout-customer, .alborz-checkout-summary { padding: 18px; }
  .alborz-dashboard-welcome { align-items: stretch; flex-direction: column; }
  .alborz-dashboard-welcome .button { width: 100%; }
  .alborz-dashboard-actions { grid-template-columns: 1fr; }
  .alborz-profile-grid { grid-template-columns: 1fr; }
  .alborz-profile-field-full { grid-column: auto; }
  .alborz-profile-form { padding: 20px; }
}
