/*
Theme Name: IranFood Store
Author: OpenAI
Description: قالب فروشگاهی فارسی، راست‌چین و سبک برای محصولات غذایی ایرانی؛ سازگار با ووکامرس و المنتور.
Version: 1.4.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iranfood-store
Tags: e-commerce, rtl-language-support, custom-logo, custom-menu, featured-images
*/

:root {
  --if-primary: #1f5a43;
  --if-primary-dark: #153e30;
  --if-accent: #c49745;
  --if-cream: #f7f1e6;
  --if-sand: #eadfc9;
  --if-ink: #24322c;
  --if-muted: #68766f;
  --if-white: #fff;
  --if-border: #e6e3dc;
  --if-danger: #b6382f;
  --if-radius: 20px;
  --if-shadow: 0 16px 44px rgba(25, 61, 46, .09);
  --if-container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--if-ink);
  background: #fcfbf8;
  font-family: Vazirmatn, IRANSansX, Tahoma, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.85;
  text-rendering: optimizeLegibility;
}
a { color: var(--if-primary); text-decoration: none; }
a:hover { color: var(--if-primary-dark); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text {
  position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { width: auto; height: auto; clip: auto; padding: 12px; z-index: 100000; }

.if-container { width: min(calc(100% - 32px), var(--if-container)); margin-inline: auto; }
.site-content { min-height: 56vh; }
.if-content-wrap { padding-block: 44px 72px; }
.if-content-wrap--full { padding-block: 0; }
.entry-content > *:not(.alignfull), .entry-header, .comments-area { max-width: var(--if-container); margin-inline: auto; }
.entry-content > .alignwide { max-width: 1380px; }
.entry-content > .elementor,
.entry-content > .if-page-hero,
.entry-content > .if-section { max-width: none; width: 100%; }
.entry-title { margin: 0 0 20px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.25; }

/* Header */
.if-topbar { background: var(--if-primary-dark); color: #fff; font-size: .88rem; }
.if-topbar__inner { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.if-topbar a { color: #fff; }
.if-topbar__links { display:flex; align-items:center; gap:16px; }
.if-topbar__links a { opacity:.9; }
.if-topbar__links a:hover { opacity:1; color:#fff; text-decoration:underline; }
.site-header { position: sticky; top: 0; z-index: 999; background: rgba(252,251,248,.96); border-bottom: 1px solid rgba(31,90,67,.09); backdrop-filter: blur(12px); }
.if-header__inner { min-height: 82px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; }
.custom-logo { max-height: 52px; width: auto; display: block; }
.if-site-title { font-weight: 900; font-size: 1.35rem; color: var(--if-primary-dark); white-space: nowrap; }
.if-primary-nav ul { list-style: none; display: flex; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 0; }
.if-primary-nav a { display: block; color: var(--if-ink); padding: 10px 12px; border-radius: 10px; font-weight: 700; font-size: .94rem; }
.if-primary-nav a:hover, .if-primary-nav .current-menu-item > a { color: var(--if-primary); background: rgba(31,90,67,.07); }
.if-primary-nav .menu-item-has-children { position:relative; }
.if-primary-nav .menu-item-has-children > a::after { content:"⌄"; margin-right:6px; color:var(--if-accent); font-size:.8em; }
.if-primary-nav .sub-menu {
  position:absolute; top:calc(100% + 8px); right:0; z-index:1000; display:block; min-width:230px;
  padding:10px; border:1px solid var(--if-border); border-radius:16px; background:#fff; box-shadow:var(--if-shadow);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease;
}
.if-primary-nav li:hover > .sub-menu, .if-primary-nav li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.if-primary-nav .sub-menu li { width:100%; }
.if-primary-nav .sub-menu a { padding:9px 11px; white-space:nowrap; font-weight:700; }
.if-primary-nav .sub-menu .sub-menu { top:-10px; right:calc(100% + 8px); }
.if-primary-nav .if-menu-products > .sub-menu { min-width:270px; }
.if-header-actions { display: flex; align-items: center; gap: 8px; }
.if-icon-button { min-width: 42px; height: 42px; padding-inline: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--if-border); border-radius: 12px; background: #fff; color: var(--if-ink); }
.if-register-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:7px 15px; border-radius:12px; background:var(--if-primary); color:#fff; font-weight:900; white-space:nowrap; }
.if-register-link:hover { background:var(--if-primary-dark); color:#fff; }
.if-cart-count { display: inline-grid; place-items: center; min-width: 21px; height: 21px; border-radius: 99px; background: var(--if-primary); color: #fff; font-size: .72rem; font-weight: 800; }
.if-menu-toggle { display: none; border: 0; cursor: pointer; }

/* Shared Elementor/page components */
.if-section { padding: clamp(54px, 7vw, 92px) 0; }
.if-section--cream { background: var(--if-cream); }
.if-section--green { background: var(--if-primary-dark); color: #fff; }
.if-section--green h2, .if-section--green h3, .if-section--green a { color: #fff; }
.if-kicker { display: inline-block; color: var(--if-accent); font-weight: 900; letter-spacing: .02em; margin-bottom: 8px; }
.if-section-title { margin: 0 0 12px; font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.35; }
.if-section-lead { max-width: 720px; color: var(--if-muted); margin: 0 0 34px; }
.if-section--green .if-section-lead { color: rgba(255,255,255,.76); }
.if-hero { position: relative; overflow: hidden; padding: clamp(64px, 9vw, 120px) 0; background: radial-gradient(circle at 14% 25%, rgba(196,151,69,.22), transparent 30%), linear-gradient(135deg, #f8f2e7 0%, #fff 52%, #eaf1eb 100%); }
.if-hero::after { content:""; position:absolute; width:430px; height:430px; border:80px solid rgba(31,90,67,.055); border-radius:50%; left:-140px; bottom:-210px; }
.if-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(30px, 6vw, 80px); }
.if-hero h1 { margin: 0 0 20px; font-size: clamp(2.45rem, 6vw, 5.25rem); line-height: 1.12; letter-spacing: -.04em; }
.if-hero p { color: var(--if-muted); max-width: 680px; font-size: 1.1rem; }
.if-hero-art { min-height: 420px; display: grid; place-items: center; position: relative; }
.if-hero-logo { position:relative; isolation:isolate; display:grid; place-items:center; width:min(500px,100%); margin-inline:auto; }
.if-hero-logo::before { content:""; position:absolute; z-index:-1; inset:13% 6% 8%; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.96) 0%,rgba(234,223,201,.82) 58%,rgba(31,90,67,.08) 100%); box-shadow:0 35px 70px rgba(40,62,50,.18); }
.if-hero-logo img { display:block; width:100%; height:auto; max-height:500px; object-fit:contain; filter:drop-shadow(0 20px 24px rgba(21,62,48,.16)); }
.if-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.if-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 11px 22px!important;
  border: 0!important; border-radius: 13px!important; background: var(--if-primary)!important; color: #fff!important; font-weight: 900!important; transition: .2s ease;
}
.if-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); background: var(--if-primary-dark)!important; color:#fff!important; }
.if-button--ghost { color: var(--if-primary)!important; background: transparent!important; border: 1px solid rgba(31,90,67,.25)!important; }
.if-button--light { color: var(--if-primary-dark)!important; background:#fff!important; }
.if-grid { display:grid; gap:20px; }
.if-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.if-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.if-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.if-card { position:relative; padding: 28px; border: 1px solid var(--if-border); border-radius: var(--if-radius); background:#fff; box-shadow: 0 8px 26px rgba(30,60,45,.055); }
.if-card h3 { margin: 8px 0 8px; font-size: 1.25rem; }
.if-card p { color: var(--if-muted); margin: 0; }
.if-card__icon { font-size: 2.25rem; }
.if-category-card { min-height: 245px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; isolation:isolate; }
.if-category-card::before { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(17,48,36,.87),rgba(17,48,36,.05)); z-index:-1; }
.if-category-card::after { content:attr(data-icon); position:absolute; left:20px; top:4px; font-size:7.5rem; opacity:.28; z-index:-2; }
.if-category-card h3, .if-category-card p, .if-category-card a { color:#fff; }
.if-subcategory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.if-subcategory-card { overflow:hidden; border:1px solid var(--if-border); border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(30,60,45,.055); transition:.2s ease; }
.if-subcategory-card:hover { transform:translateY(-4px); box-shadow:var(--if-shadow); }
.if-subcategory-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.if-subcategory-card__body { padding:20px; }
.if-subcategory-card h3 { margin:0 0 7px; }
.if-subcategory-card p { margin:0 0 13px; color:var(--if-muted); font-size:.9rem; }
.if-subcategory-card__link { font-weight:900; }
.if-trustbar { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow:hidden; border:1px solid var(--if-border); border-radius:18px; background:var(--if-border); }
.if-trustbar > div { padding:20px; background:#fff; text-align:center; }
.if-trustbar strong { display:block; }
.if-page-hero { padding: 66px 0 50px; background: linear-gradient(135deg,var(--if-cream),#fff); border-bottom: 1px solid var(--if-border); }
.if-page-hero h1 { margin:0 0 12px; font-size:clamp(2.1rem,5vw,4rem); line-height:1.2; }
.if-page-hero p { color:var(--if-muted); max-width:760px; margin:0; font-size:1.08rem; }
.if-prose { max-width: 880px; }
.if-prose h2 { margin-top:2.2em; font-size:1.7rem; }
.if-prose h3 { margin-top:1.6em; }
.if-prose li { margin-bottom:.45em; }
.if-note { padding:18px 20px; border-right:4px solid var(--if-accent); background:#fff8e9; border-radius:12px; }
.if-steps { counter-reset:step; display:grid; gap:14px; }
.if-step { display:grid; grid-template-columns:50px 1fr; gap:16px; align-items:start; padding:22px; border:1px solid var(--if-border); border-radius:16px; background:#fff; }
.if-step::before { counter-increment:step; content:counter(step); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--if-primary); color:#fff; font-weight:900; }
.if-faq { display:grid; gap:12px; }
.if-faq details { border:1px solid var(--if-border); background:#fff; border-radius:14px; padding:0 20px; }
.if-faq summary { cursor:pointer; list-style:none; font-weight:900; padding:18px 0; }
.if-faq summary::-webkit-details-marker { display:none; }
.if-faq details p { color:var(--if-muted); margin:0; padding:0 0 18px; }
.if-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.if-field--full { grid-column:1/-1; }
.if-field label { display:block; margin-bottom:6px; font-weight:800; }
.if-field input, .if-field textarea, .if-field select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single {
  width:100%; min-height:50px; padding:10px 14px; border:1px solid #d9ddd9; border-radius:12px; background:#fff; color:var(--if-ink);
}
.if-field textarea { min-height:150px; }
.if-alert { padding:14px 18px; margin-bottom:18px; border-radius:12px; background:#edf7f0; color:#1d633d; }
.if-alert--error { background:#fff0ee; color:#912f27; }

/* Advertising and commercial partnerships */
.if-section--ad { padding-block:clamp(42px,6vw,72px); background:linear-gradient(135deg,#f4ead8,#edf5ef); }
.if-ad-slot { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); align-items:center; gap:28px; min-height:280px; padding:clamp(28px,5vw,58px); border:1px solid rgba(196,151,69,.35); border-radius:28px; background:radial-gradient(circle at 10% 20%,rgba(196,151,69,.22),transparent 34%),#fff; box-shadow:var(--if-shadow); }
.if-ad-slot::after { content:""; position:absolute; width:260px; height:260px; left:-80px; bottom:-150px; border:52px solid rgba(31,90,67,.055); border-radius:50%; pointer-events:none; }
.if-ad-slot__content { position:relative; z-index:1; }
.if-ad-slot__label { display:inline-flex; align-items:center; gap:7px; margin-bottom:10px; padding:5px 10px; border:1px solid rgba(31,90,67,.16); border-radius:99px; color:var(--if-muted); background:#fff; font-size:.76rem; font-weight:900; }
.if-ad-slot h2 { max-width:760px; margin:0 0 10px; font-size:clamp(1.65rem,3.3vw,2.8rem); line-height:1.3; }
.if-ad-slot p { max-width:680px; margin:0; color:var(--if-muted); }
.if-ad-slot__visual { position:relative; z-index:1; display:grid; place-items:center; min-height:190px; overflow:hidden; border-radius:22px; background:linear-gradient(145deg,var(--if-primary),var(--if-primary-dark)); color:#fff; }
.if-ad-slot__visual img { width:100%; height:100%; min-height:190px; object-fit:cover; }
.if-ad-slot__placeholder { padding:24px; text-align:center; }
.if-ad-slot__placeholder strong { display:block; margin-bottom:6px; font-size:1.2rem; }
.if-ad-slot__placeholder span { display:block; font-size:3.4rem; line-height:1.2; }
.if-revenue-card { display:flex; flex-direction:column; gap:8px; }
.if-revenue-card .if-button { margin-top:auto; align-self:flex-start; }
.if-price { display:block; margin:10px 0 2px; color:var(--if-primary); font-size:1.15rem; font-weight:900; }
.if-contract-terms { display:grid; gap:12px; margin-bottom:28px; }
.if-contract-terms details { padding:0 20px; border:1px solid var(--if-border); border-radius:14px; background:#fff; }
.if-contract-terms summary { padding:16px 0; cursor:pointer; font-weight:900; }
.if-contract-terms p { margin:0; padding:0 0 16px; color:var(--if-muted); }
.if-ad-contract-form { padding:clamp(22px,4vw,38px); border:1px solid var(--if-border); border-radius:22px; background:#fff; box-shadow:0 10px 34px rgba(30,60,45,.06); }
.if-field small { display:block; margin-top:5px; color:var(--if-muted); }
.if-field--checkbox label { display:flex; align-items:flex-start; gap:10px; font-weight:700; }
.if-field--checkbox input { flex:0 0 auto; width:18px; min-height:18px; margin-top:5px; }
.if-field--honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; }

/* Smart affiliate program and wallet */
.if-affiliate-program { display:grid; gap:36px; }
.if-tier-card { overflow:hidden; }
.if-tier-card::after { content:""; position:absolute; width:120px; height:120px; left:-48px; bottom:-58px; border:22px solid rgba(31,90,67,.06); border-radius:50%; }
.if-tier-card--bronze { border-top:5px solid #a86b42; }
.if-tier-card--silver { border-top:5px solid #9ea7ae; }
.if-tier-card--gold { border-top:5px solid #d4a72c; }
.if-affiliate-how { margin-top:4px; }
.if-affiliate-how .if-card > strong { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--if-primary); color:#fff; font-size:1.1rem; }
.if-affiliate-join { max-width:820px; margin-inline:auto; }
.if-auth-choice { max-width:720px; margin-inline:auto; }
.if-affiliate-dashboard { display:grid; gap:22px; }
.if-affiliate-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.if-stat { min-height:154px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; padding:22px; border:1px solid var(--if-border); border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(30,60,45,.05); }
.if-stat > span { color:var(--if-muted); font-size:.88rem; font-weight:800; }
.if-stat > strong { color:var(--if-primary-dark); font-size:clamp(1.05rem,2vw,1.45rem); overflow-wrap:anywhere; }
.if-stat > small { color:var(--if-muted); }
.if-stat--wallet { color:#fff; background:linear-gradient(145deg,var(--if-primary),var(--if-primary-dark)); border-color:transparent; }
.if-stat--wallet > span, .if-stat--wallet > strong, .if-stat--wallet > small { color:#fff; }
.if-copy-button { padding:5px 10px; border:1px solid var(--if-border); border-radius:9px; background:var(--if-cream); color:var(--if-primary); cursor:pointer; font-weight:800; }
.if-tier-progress { padding:18px 22px; border:1px solid var(--if-border); border-radius:16px; background:#fff; }
.if-tier-progress > div:first-child { display:flex; justify-content:space-between; gap:16px; margin-bottom:10px; }
.if-tier-progress__track { height:12px; overflow:hidden; border-radius:99px; background:#e8ece9; }
.if-tier-progress__track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--if-accent),var(--if-primary)); transition:width .4s ease; }
.if-referral-box { background:linear-gradient(135deg,#fff,var(--if-cream)); }
.if-copy-row { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:18px; }
.if-copy-row input { width:100%; min-width:0; min-height:48px; padding:10px 13px; border:1px solid var(--if-border); border-radius:12px; background:#fff; }
.if-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.if-table-wrap { width:100%; overflow-x:auto; margin-top:16px; }
.if-data-table { width:100%; min-width:680px; border-collapse:collapse; }
.if-data-table th, .if-data-table td { padding:12px 10px; border-bottom:1px solid var(--if-border); text-align:right; white-space:nowrap; }
.if-data-table th { color:var(--if-muted); background:#faf9f6; font-size:.86rem; }
.if-status { display:inline-flex; padding:4px 9px; border-radius:99px; background:#f0f1f0; font-size:.8rem; font-weight:900; }
.if-status--eligible, .if-status--paid { color:#17643b; background:#e9f7ef; }
.if-status--reversed, .if-status--rejected { color:#8b312b; background:#fff0ee; }
.if-status--pending { color:#7a5b12; background:#fff7df; }
.woocommerce-account #customer_login { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { display:none; }
.woocommerce-account #customer_login > .u-column1, .woocommerce-account #customer_login > .u-column2 { float:none; width:auto; padding:0; }
.woocommerce-account #customer_login .if-register-focus, .woocommerce-account form.register.if-register-focus { outline:3px solid rgba(196,151,69,.28); outline-offset:7px; }

/* Blog */
.if-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.if-post-card { overflow:hidden; padding:0; }
.if-post-card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.if-post-card__body { padding:22px; }
.if-post-card h3 { margin:0 0 8px; }
.if-post-meta { color:var(--if-muted); font-size:.86rem; }
.nav-links { display:flex; gap:8px; justify-content:center; margin-top:34px; }
.page-numbers { display:grid; place-items:center; min-width:42px; height:42px; border:1px solid var(--if-border); border-radius:10px; background:#fff; }
.page-numbers.current { background:var(--if-primary); color:#fff; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { margin:0 0 24px; color:var(--if-muted); }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; padding:14px 14px 18px; border:1px solid var(--if-border); border-radius:18px; background:#fff; transition:.2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-5px); box-shadow:var(--if-shadow); }
.woocommerce ul.products li.product a img { border-radius:13px; aspect-ratio:1; object-fit:cover; margin-bottom:15px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--if-ink); font-size:1.02rem; font-weight:900; padding:.25em 0; }
.woocommerce ul.products li.product .price { color:var(--if-primary); font-size:1rem; font-weight:900; }
.woocommerce span.onsale { right:12px!important; left:auto!important; top:12px!important; min-width:auto; min-height:auto; line-height:1.3; padding:7px 10px; border-radius:9px; background:var(--if-danger); }
.woocommerce div.product { background:#fff; border-radius:24px; padding:clamp(16px,3vw,34px); border:1px solid var(--if-border); }
.woocommerce div.product div.images img { border-radius:18px; }
.woocommerce div.product .product_title { font-size:clamp(1.7rem,4vw,2.7rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--if-primary); font-size:1.4rem; font-weight:900; }
.woocommerce .quantity .qty { min-height:48px; border:1px solid var(--if-border); border-radius:12px; }
.woocommerce-tabs { margin-top:48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.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!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:1px solid var(--if-border); border-radius:12px; background:#fff; margin:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--if-primary); color:#fff; }
.woocommerce table.shop_table { border-color:var(--if-border); border-radius:16px; overflow:hidden; background:#fff; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { padding:24px; border:1px solid var(--if-border); border-radius:18px; background:#fff; }
.woocommerce-checkout #payment { background:var(--if-cream); border-radius:16px; }
.woocommerce-MyAccount-navigation ul { list-style:none; padding:12px; margin:0; border:1px solid var(--if-border); border-radius:16px; background:#fff; }
.woocommerce-MyAccount-navigation li a { display:block; padding:11px 13px; border-radius:10px; color:var(--if-ink); font-weight:800; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background:var(--if-cream); color:var(--if-primary); }
.if-shipping-progress { margin:0 0 18px; padding:16px; border-radius:14px; background:#edf6ef; }
.if-shipping-progress__track { height:8px; overflow:hidden; margin-top:9px; border-radius:10px; background:#d9e7dc; }
.if-shipping-progress__bar { display:block; height:100%; background:var(--if-primary); border-radius:inherit; }

/* Footer */
.site-footer { background:#112f24; color:rgba(255,255,255,.76); }
.if-footer-main { padding:64px 0 44px; display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:36px; }
.site-footer h2, .site-footer h3, .site-footer a { color:#fff; }
.site-footer h3 { margin-top:0; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin-bottom:7px; }
.if-footer-brand { max-width:380px; }
.if-footer-bottom { padding:18px 0; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; font-size:.88rem; }

@media (max-width: 1024px) {
  .if-menu-toggle { display:inline-flex; }
  .if-primary-nav { display:none; position:absolute; top:100%; right:16px; left:16px; padding:12px; border:1px solid var(--if-border); border-radius:16px; background:#fff; box-shadow:var(--if-shadow); }
  .if-primary-nav.is-open { display:block; }
  .if-primary-nav ul { align-items:stretch; flex-direction:column; }
  .if-primary-nav .sub-menu, .if-primary-nav .sub-menu .sub-menu { position:static; display:block; min-width:0; margin:3px 14px 5px 0; padding:3px 10px 3px 0; border:0; border-right:2px solid var(--if-sand); border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .if-primary-nav .sub-menu a { white-space:normal; font-size:.9rem; padding-block:7px; }
  .if-header__inner { grid-template-columns:auto 1fr auto; }
  .if-brand { justify-self:center; }
  .if-header-actions .if-account-link span, .if-header-actions .if-wallet-link span, .if-header-actions .if-login-link span { display:none; }
  .if-grid--4, .if-subcategory-grid, .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .if-affiliate-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .if-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  body { font-size:15px; }
  .if-topbar__inner { justify-content:center; text-align:center; }
  .if-topbar__links { display:none; }
  .if-header__inner { min-height:68px; gap:8px; }
  .if-site-title { font-size:1.05rem; }
  .if-header-actions .if-search-link { display:none; }
  .if-icon-button { min-width:39px; height:39px; padding-inline:9px; }
  .if-hero-grid, .if-grid--2, .if-grid--3, .if-grid--4, .if-form-grid, .if-post-grid, .if-ad-slot, .if-dashboard-grid, .woocommerce-account #customer_login { grid-template-columns:1fr; }
  .if-affiliate-stats { grid-template-columns:1fr 1fr; }
  .if-copy-row { grid-template-columns:1fr; }
  .if-hero { text-align:center; }
  .if-hero p { margin-inline:auto; }
  .if-actions { justify-content:center; }
  .if-hero-art { min-height:280px; }
  .if-hero-logo { width:min(360px,94vw); }
  .if-hero-logo img { max-height:360px; }
  .if-trustbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
  .woocommerce ul.products li.product { padding:9px 9px 13px; border-radius:14px; }
  .woocommerce ul.products li.product .button { width:100%; padding:8px!important; font-size:.8rem; }
  .woocommerce div.product { padding:12px; }
  .woocommerce table.shop_table_responsive tr td::before { color:var(--if-muted); }
  .if-footer-main { grid-template-columns:1fr; }
  .if-footer-bottom { flex-direction:column; text-align:center; }
  .if-ad-slot { padding:24px; border-radius:20px; text-align:center; }
  .if-ad-slot .if-actions { justify-content:center; }
  .if-ad-slot__visual { min-height:150px; }
}
@media (max-width: 430px) {
  .if-register-link { min-height:39px; padding-inline:10px; font-size:.82rem; }
  .if-affiliate-stats { grid-template-columns:1fr; }
}
