/*
Theme Name: Doosti Beauty Child
Theme URI: https://rozhamd.com
Description: Child theme اختصاصی فروشگاه دوستی برای Hello Elementor.
Author: Doosti Website
Version: 1.0.0
Template: hello-elementor
Text Domain: doosti-beauty-child
Requires PHP: 8.3
*/

@font-face {
	font-family: "Vazirmatn";
	src: url("assets/fonts/Vazirmatn-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Vazirmatn";
	src: url("assets/fonts/Vazirmatn-Medium.woff2") format("woff2");
	font-weight: 500 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Vazirmatn";
	src: url("assets/fonts/Vazirmatn-Bold.woff2") format("woff2");
	font-weight: 700 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--doosti-bg: #faf8f5;
	--doosti-surface: #fff;
	--doosti-text: #211d1f;
	--doosti-muted: #6f676b;
	--doosti-primary: #5a2947;
	--doosti-primary-hover: #421d34;
	--doosti-rose: #c68b9b;
	--doosti-sage: #82917f;
	--doosti-gold: #b89252;
	--doosti-border: #e8e0e3;
	--doosti-success: #3d7651;
	--doosti-error: #a33a46;
	--doosti-radius: 14px;
	--doosti-radius-lg: 24px;
	--doosti-shadow: 0 16px 45px rgba(90, 41, 71, 0.08);
	--doosti-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--doosti-bg);
	color: var(--doosti-text);
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.85;
	direction: rtl;
}
body.admin-bar .doosti-site-header { top: 32px; }
a { color: var(--doosti-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--doosti-primary-hover); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(184,146,82,.55); outline-offset: 3px; }
.screen-reader-text:focus { background:#fff; clip:auto!important; clip-path:none; color:#211d1f; display:block; height:auto; inset:8px auto auto 8px; padding:12px; position:fixed; width:auto; z-index:100000; }
.doosti-container { width: min(100% - 32px, var(--doosti-container)); margin-inline: auto; }
.site-main { min-height: 55vh; }
.doosti-content { padding-block: clamp(28px, 5vw, 72px); }
.doosti-content > * { max-width: 100%; }
h1,h2,h3,h4 { color: var(--doosti-text); line-height: 1.35; margin-block: 0 0.65em; }
h1 { font-size: clamp(2rem, 5vw, 3.75rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.45rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.35rem); }
.button, button, input[type="submit"], .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	align-items: center;
	background: var(--doosti-primary);
	border: 1px solid var(--doosti-primary);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 46px;
	padding: 10px 22px;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.button:hover, button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--doosti-primary-hover); border-color: var(--doosti-primary-hover); color:#fff; transform: translateY(-1px); }
.button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--doosti-primary); color:#fff; }
.button.is-outline { background: transparent; color: var(--doosti-primary); }
.doosti-announcement { background: var(--doosti-primary); color:#fff; padding:7px 16px; text-align:center; font-size:.875rem; }
.doosti-site-header { background:rgba(255,255,255,.96); border-bottom:1px solid var(--doosti-border); position:sticky; top:0; z-index:999; backdrop-filter:blur(12px); }
.doosti-header-main { display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center; min-height:82px; }
.doosti-logo { align-items:center; display:flex; gap:10px; font-size:1.45rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.doosti-logo-mark { align-items:center; background:var(--doosti-primary); border-radius:50%; color:#fff; display:inline-flex; height:42px; justify-content:center; width:42px; }
.doosti-logo .custom-logo { max-height:54px; width:auto; }
.doosti-primary-nav ul { align-items:center; display:flex; flex-wrap:wrap; gap:4px 24px; justify-content:center; list-style:none; margin:0; padding:0; }
.doosti-primary-nav a { color:var(--doosti-text); font-size:.95rem; font-weight:600; text-decoration:none; }
.doosti-primary-nav a:hover { color:var(--doosti-primary); }
.doosti-header-actions { align-items:center; display:flex; gap:8px; }
.doosti-icon-link { align-items:center; border-radius:999px; color:var(--doosti-text); display:inline-flex; gap:7px; min-height:44px; padding:8px 10px; text-decoration:none; }
.doosti-icon-link svg { height:22px; width:22px; }
.doosti-cart-count { align-items:center; background:var(--doosti-primary); border-radius:999px; color:#fff; display:inline-flex; font-size:.75rem; height:22px; justify-content:center; min-width:22px; padding:0 5px; }
.doosti-cart-total { font-size:.78rem; font-weight:700; white-space:nowrap; }
.doosti-menu-toggle { display:none; padding:8px; min-height:44px; min-width:44px; }
.doosti-search-panel { background:#fff; border-top:1px solid var(--doosti-border); display:none; padding:16px; }
.doosti-search-panel.is-open { display:block; }
.doosti-search-panel form { display:flex; gap:10px; margin:auto; max-width:760px; }
.doosti-search-panel input { background:var(--doosti-bg); border:1px solid var(--doosti-border); border-radius:999px; flex:1; min-width:0; padding:12px 18px; }
.doosti-hero { align-items:center; background:linear-gradient(135deg,#f6eef2,#f4f2ea); border-radius:0 0 36px 36px; display:grid; gap:clamp(30px,6vw,80px); grid-template-columns:1fr 1.1fr; min-height:620px; overflow:hidden; padding:clamp(42px,7vw,90px) max(24px,calc((100vw - var(--doosti-container))/2)); }
.doosti-hero-copy { max-width:620px; }
.doosti-kicker { color:var(--doosti-sage); display:block; font-size:.86rem; font-weight:800; letter-spacing:.02em; margin-bottom:12px; }
.doosti-hero h1 { font-size:clamp(2.4rem,6vw,5.1rem); letter-spacing:-.04em; }
.doosti-hero p { color:var(--doosti-muted); font-size:clamp(1rem,1.5vw,1.15rem); max-width:56ch; }
.doosti-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.doosti-hero-media { align-self:stretch; min-height:420px; position:relative; }
.doosti-hero-media img { border-radius:150px 24px 150px 24px; height:100%; object-fit:cover; width:100%; box-shadow:var(--doosti-shadow); }
.doosti-section-title { margin:clamp(54px,8vw,100px) auto 28px; max-width:var(--doosti-container); padding-inline:16px; text-align:center; }
.doosti-editorial { background:var(--doosti-primary); border-radius:var(--doosti-radius-lg); color:#fff; margin:clamp(48px,8vw,100px) auto; max-width:var(--doosti-container); padding:clamp(36px,7vw,78px); position:relative; overflow:hidden; }
.doosti-editorial::after { background:rgba(255,255,255,.08); border-radius:50%; content:""; height:360px; left:-130px; position:absolute; top:-140px; width:360px; }
.doosti-editorial h2, .doosti-editorial p { color:#fff; max-width:720px; position:relative; z-index:1; }
.doosti-editorial .button { background:#fff; border-color:#fff; color:var(--doosti-primary); }
.doosti-site-footer { background:#211d1f; color:#dfd7da; margin-top:80px; padding:64px 0 24px; }
.doosti-site-footer a { color:#fff; text-decoration:none; }
.doosti-footer-grid { display:grid; gap:40px; grid-template-columns:1.5fr repeat(3,1fr); }
.doosti-footer-grid h2,.doosti-footer-grid h3 { color:#fff; }
.doosti-footer-grid ul { list-style:none; margin:0; padding:0; }
.doosti-footer-grid li { margin-bottom:8px; }
.doosti-footer-bottom { border-top:1px solid rgba(255,255,255,.12); color:#bfb5ba; display:flex; justify-content:space-between; margin-top:40px; padding-top:20px; font-size:.875rem; }
.doosti-mobile-nav { display:none; }
.woocommerce .woocommerce-breadcrumb { color:var(--doosti-muted); font-size:.9rem; margin-bottom:20px; }
.woocommerce ul.products { display:grid; gap:24px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { background:#fff; border:1px solid var(--doosti-border); border-radius:20px; float:none!important; margin:0!important; overflow:hidden; padding:0 0 18px; transition:transform .2s ease,box-shadow .2s ease; width:auto!important; }
.woocommerce ul.products li.product:hover { box-shadow:var(--doosti-shadow); transform:translateY(-4px); }
.woocommerce ul.products li.product a img { aspect-ratio:1; background:#f4efee; margin:0 0 16px; object-fit:cover; width:100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-inline:16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--doosti-text); font-size:1rem; min-height:3.2em; }
.woocommerce ul.products li.product .price { color:var(--doosti-primary); font-weight:800; }
.woocommerce span.onsale { background:var(--doosti-primary); border-radius:999px; font-size:.8rem; min-height:auto; min-width:auto; padding:4px 12px; right:12px; top:12px; }
body.single-product .woocommerce div.product.type-product { display:grid; gap:clamp(28px,5vw,64px); grid-template-columns:1fr 1fr; }
body.single-product .woocommerce div.product.type-product div.images,
body.single-product .woocommerce div.product.type-product div.summary { float:none; width:auto; }
body.single-product .woocommerce div.product.type-product div.images img { border-radius:var(--doosti-radius-lg); }
body.single-product .woocommerce div.product.type-product p.price { color:var(--doosti-primary); font-size:1.45rem; font-weight:800; }
body.single-product .woocommerce div.product.type-product .woocommerce-tabs,
body.single-product .woocommerce div.product.type-product .related { grid-column:1/-1; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form select,.woocommerce-cart table.cart td.actions .coupon .input-text { background:#fff; border:1px solid var(--doosti-border); border-radius:12px; min-height:48px; padding:10px 14px; }
.woocommerce table.shop_table { background:#fff; border-color:var(--doosti-border); border-radius:18px; overflow:hidden; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--doosti-primary); }
.woocommerce-account .woocommerce-MyAccount-navigation { background:#fff; border:1px solid var(--doosti-border); border-radius:16px; padding:14px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 12px; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-content { background:#fff; border:1px solid var(--doosti-border); border-radius:16px; padding:24px; }
.doosti-empty { background:#fff; border:1px solid var(--doosti-border); border-radius:24px; padding:64px 24px; text-align:center; }
.doosti-404 { min-height:60vh; padding-block:100px; text-align:center; }
.doosti-404 strong { color:var(--doosti-rose); display:block; font-size:clamp(5rem,20vw,12rem); line-height:1; }
.doosti-actions--center { justify-content:center; }

@media (max-width: 1024px) {
	.doosti-primary-nav { background:#fff; border-top:1px solid var(--doosti-border); display:none; grid-column:1/-1; padding:16px 0 24px; }
	.doosti-primary-nav.is-open { display:block; }
	.doosti-primary-nav ul { align-items:stretch; flex-direction:column; gap:0; }
	.doosti-primary-nav a { display:block; padding:10px; }
	.doosti-menu-toggle { display:inline-flex; }
	.doosti-header-main { grid-template-columns:auto 1fr auto; }
	.doosti-header-actions .doosti-action-label,.doosti-header-actions .doosti-partner-cta { display:none; }
	.doosti-header-actions .doosti-cart-total { display:none; }
	.doosti-hero { grid-template-columns:1fr; min-height:auto; }
	.doosti-hero-media { min-height:380px; }
	.doosti-footer-grid { grid-template-columns:repeat(2,1fr); }
	.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 782px) { body.admin-bar .doosti-site-header { top:46px; } }

@media (max-width: 767px) {
	body { padding-bottom:72px; }
	.doosti-container { width:min(100% - 24px,var(--doosti-container)); }
	.doosti-announcement { font-size:.78rem; }
	.doosti-header-main { gap:8px; min-height:68px; }
	.doosti-logo { font-size:1.1rem; }
	.doosti-logo-mark { height:36px; width:36px; }
	.doosti-header-actions .doosti-account-link { display:none; }
	.doosti-hero { border-radius:0 0 24px 24px; padding:44px 18px 24px; }
	.doosti-hero-media { min-height:310px; }
	.doosti-hero-media img { border-radius:90px 18px 90px 18px; }
	.doosti-actions { align-items:stretch; flex-direction:column; }
	.doosti-actions .button { width:100%; }
	.doosti-footer-grid { grid-template-columns:1fr; }
	.doosti-footer-bottom { align-items:flex-start; flex-direction:column; gap:8px; }
	.doosti-mobile-nav { background:#fff; border-top:1px solid var(--doosti-border); bottom:0; display:grid; grid-template-columns:repeat(5,1fr); left:0; padding:6px 4px calc(6px + env(safe-area-inset-bottom)); position:fixed; right:0; z-index:1000; }
	.doosti-mobile-nav a,.doosti-mobile-nav button { align-items:center; background:transparent; border:0; border-radius:8px; color:var(--doosti-text); display:flex; flex-direction:column; font-size:.7rem; gap:2px; min-height:50px; padding:4px; text-decoration:none; }
	.doosti-mobile-nav svg { height:20px; width:20px; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.92rem; margin-inline:12px; }
	.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-inline:12px; }
	.woocommerce ul.products li.product .button { font-size:.78rem; min-height:40px; padding:8px 10px; }
	body.single-product .woocommerce div.product.type-product { grid-template-columns:1fr; }
	body.single-product .woocommerce div.product.type-product .woocommerce-tabs,
	body.single-product .woocommerce div.product.type-product .related { grid-column:auto; }
	.woocommerce table.shop_table_responsive tr td::before { color:var(--doosti-muted); }
}

@media (max-width: 420px) { .woocommerce ul.products { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
