/* =========================================================
   PXCloud — main stylesheet
   Design tokens are pulled straight from the approved mock:
   deep navy chrome, green + red brand accents (Iran flag nod),
   white content sections, Vazirmatn everywhere.
   ========================================================= */

:root{
	--navy-900:#0a1424;
	--navy-800:#0d1c30;
	--navy-700:#11253d;
	--green:#18a558;
	--green-dark:#0f7f43;
	--green-tint:#e6f7ee;
	--red:#e0362e;
	--red-dark:#b92a23;
	--red-tint:#fdeceb;
	--blue:#2f7fe0;
	--blue-tint:#eaf2fd;
	--sky:#2fb2e0;
	--sky-tint:#e8f8fd;
	--ink:#0f1b2c;
	--muted:#5b6b81;
	--muted-light:#9fb0c3;
	--line:#e7ecf2;
	--bg:#ffffff;
	--bg-soft:#f5f8fb;
	--radius:14px;
	--radius-lg:20px;
	--shadow:0 10px 30px -12px rgba(10,20,40,.15);
	--container:1200px;
	--font:'Vazirmatn', Tahoma, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--font);
	color:var(--ink);
	background:var(--bg);
	direction:rtl;
	line-height:1.75;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0 0 .5em; font-weight:700; line-height:1.35; }
p{ margin:0 0 1em; color:var(--muted); }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }

.pxc-container{
	max-width:var(--container);
	margin-inline:auto;
	padding-inline:20px;
}

.pxi{ width:1em; height:1em; flex-shrink:0; }

/* Buttons ------------------------------------------------- */
.pxc-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:11px 20px;
	border-radius:10px;
	font-size:14.5px;
	font-weight:600;
	border:1.5px solid transparent;
	transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
	white-space:nowrap;
}
.pxc-btn .pxi{ width:16px; height:16px; }
.pxc-btn--primary{ background:var(--green); color:#fff; }
.pxc-btn--primary:hover{ background:var(--green-dark); transform:translateY(-1px); }
.pxc-btn--ghost{ background:#fff; color:var(--ink); border-color:var(--line); }
.pxc-btn--ghost:hover{ border-color:var(--muted-light); }
.pxc-btn--outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.pxc-btn--outline:hover{ border-color:#fff; }
.pxc-btn--lg{ padding:14px 26px; font-size:15.5px; border-radius:12px; }
.pxi--flip{ transform:scaleX(-1); }

/* Topbar ---------------------------------------------------*/
.pxc-topbar{ background:var(--navy-900); color:var(--muted-light); font-size:13px; }
.pxc-topbar__inner{ display:flex; align-items:center; justify-content:space-between; height:42px; }
.pxc-topbar__links{ display:flex; align-items:center; gap:22px; }
.pxc-topbar__links a{ display:flex; align-items:center; gap:6px; color:var(--muted-light); }
.pxc-topbar__links a:hover{ color:#fff; }
.pxc-topbar__links .pxi{ width:14px; height:14px; }
.pxc-topbar__lang{ display:flex; align-items:center; gap:6px; }

/* Header / nav ---------------------------------------------*/
.pxc-header{ background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.pxc-header__inner{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; height:96px; }

.pxc-logo__link{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.pxc-logo__img{ height:64px; width:auto; }
.custom-logo-link img{ height:64px; width:auto; }
.pxc-logo__mark{ font-size:24px; font-weight:800; letter-spacing:.5px; display:flex; }
.pxc-logo__px{ color:var(--green); }
.pxc-logo__cloud{ color:var(--ink); margin-inline-start:2px; }
.pxc-logo__tagline{ display:flex; align-items:center; gap:6px; font-size:9.5px; letter-spacing:2px; color:var(--muted); }
.pxc-logo__tagline i{ width:14px; height:1px; background:var(--red); display:inline-block; }
.pxc-logo__mark--footer{ font-size:22px; }

.pxc-nav__list{ display:flex; align-items:center; gap:6px; }
.pxc-nav__item{ position:relative; }
.pxc-nav__item > a{ display:flex; align-items:center; gap:4px; padding:10px 12px; border-radius:8px; font-size:14.5px; font-weight:500; color:var(--ink); }
.pxc-nav__item > a:hover, .pxc-nav__item.current-menu-item > a{ color:var(--green-dark); background:var(--green-tint); }
.pxc-nav__item .pxi--chevron{ width:12px; height:12px; transform:rotate(-90deg); }
.pxc-nav__submenu{ display:none; position:absolute; inset-inline-start:0; top:100%; min-width:200px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:14px 8px 8px; margin-top:0; }
.pxc-nav__item.has-children{ padding-bottom:14px; margin-bottom:-14px; }
.pxc-nav__item.has-children:hover .pxc-nav__submenu, .pxc-nav__submenu.is-open{ display:block; }
.pxc-nav__submenu a{ display:block; padding:9px 12px; border-radius:8px; font-size:14px; }
.pxc-nav__submenu a:hover{ background:var(--bg-soft); }

.pxc-header__actions{ display:flex; align-items:center; gap:10px; }
.pxc-nav__toggle{ display:none; flex-direction:column; justify-content:center; gap:4px; width:38px; height:38px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.pxc-nav__toggle span{ width:18px; height:2px; background:var(--ink); margin-inline:auto; }

/* Hero -------------------------------------------------------*/
.pxc-hero{ position:relative; overflow:hidden; background:linear-gradient(155deg, var(--navy-900), var(--navy-700) 70%); }
.pxc-hero__bg{
	position:absolute; inset:0;
	background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
	background-size:22px 22px;
	mask-image:linear-gradient(120deg, rgba(0,0,0,.9), transparent 65%);
	opacity:.6;
}
.pxc-hero__inner{ position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:40px; padding-block:76px 64px; }

.pxc-badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:#dfe8f2; padding:8px 16px; border-radius:999px; font-size:13px; margin-bottom:22px; }
.pxc-badge__dot{ width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(24,165,88,.25); }

.pxc-hero__title{ font-size:clamp(30px,4vw,46px); color:#fff; margin-bottom:18px; }
.pxc-hero__title .c-green{ color:#3ecf7e; }
.pxc-hero__title .c-red{ color:#f16560; }

.pxc-hero__desc{ color:var(--muted-light); max-width:52ch; font-size:15.5px; margin-bottom:28px; }
.pxc-hero__cta{ display:flex; gap:14px; margin-bottom:32px; flex-wrap:wrap; }

.pxc-hero__badges{ display:flex; flex-wrap:wrap; gap:22px; }
.pxc-hero__badges li{ display:flex; align-items:center; gap:7px; font-size:12.5px; letter-spacing:.3px; color:var(--muted-light); }
.pxc-hero__badges .pxi{ width:16px; height:16px; color:#3ecf7e; }

.pxc-hero__art{ position:relative; height:340px; display:flex; align-items:center; justify-content:center; }
.pxc-hero__ring{ position:absolute; inset:0; margin:auto; width:320px; height:320px; border-radius:50%; border:1px dashed rgba(255,255,255,.15); }
.pxc-hero__logo-art{ position:relative; width:100%; max-width:460px; height:auto; filter:drop-shadow(0 18px 30px rgba(0,0,0,.35)); }
.pxc-hero__flag{ position:absolute; bottom:2%; inset-inline-end:2%; width:70px; height:100px; background:linear-gradient(180deg, var(--green) 0 33%, #fff 33% 66%, var(--red) 66% 100%); border-radius:6px; opacity:.9; transform:rotate(8deg); box-shadow:var(--shadow); }

/* Domain search ---------------------------------------------*/
.pxc-domain{ background:var(--bg-soft); padding-block:36px; border-bottom:1px solid var(--line); }
.pxc-domain__card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.pxc-domain__text h2{ font-size:19px; margin-bottom:4px; }
.pxc-domain__text p{ margin:0; font-size:13.5px; }
.pxc-domain__form{ display:flex; align-items:center; background:var(--bg-soft); border:1px solid var(--line); border-radius:12px; padding:6px; gap:6px; flex:1; min-width:320px; max-width:520px; }
.pxc-domain__icon{ width:18px; height:18px; color:var(--muted-light); margin-inline-start:8px; }
.pxc-domain__icon .pxi{ width:100%; height:100%; }
.pxc-domain__input{ flex:1; border:0; background:transparent; padding:10px 4px; font-family:inherit; font-size:14px; outline:none; }
.pxc-domain__tld{ border:0; background:#fff; border-radius:8px; padding:8px 10px; font-family:inherit; font-size:13.5px; border:1px solid var(--line); }
.pxc-domain__form .pxc-btn{ flex-shrink:0; }

/* Features ----------------------------------------------------*/
.pxc-features{ padding-block:56px; }
.pxc-features__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pxc-feature{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px 22px; transition:transform .15s ease, box-shadow .15s ease; }
.pxc-feature:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.pxc-feature__icon{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.pxi--feature{ width:24px; height:24px; }
.pxc-feature h3{ font-size:16.5px; margin-bottom:8px; }
.pxc-feature p{ font-size:13.5px; margin-bottom:16px; }
.pxc-feature__link{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; padding:8px 14px; border-radius:8px; border:1px solid var(--line); }
.pxc-feature__link .pxi{ width:13px; height:13px; }

.pxc-feature--blue .pxc-feature__icon{ background:var(--blue-tint); color:var(--blue); }
.pxc-feature--blue .pxc-feature__link:hover{ background:var(--blue-tint); border-color:var(--blue); color:var(--blue); }
.pxc-feature--green .pxc-feature__icon{ background:var(--green-tint); color:var(--green-dark); }
.pxc-feature--green .pxc-feature__link:hover{ background:var(--green-tint); border-color:var(--green); color:var(--green-dark); }
.pxc-feature--red .pxc-feature__icon{ background:var(--red-tint); color:var(--red); }
.pxc-feature--red .pxc-feature__link:hover{ background:var(--red-tint); border-color:var(--red); color:var(--red); }
.pxc-feature--skyblue .pxc-feature__icon{ background:var(--sky-tint); color:var(--sky); }
.pxc-feature--skyblue .pxc-feature__link:hover{ background:var(--sky-tint); border-color:var(--sky); color:var(--sky); }

/* Stats --------------------------------------------------------*/
.pxc-stats{ background:var(--navy-900); padding-block:38px; }
.pxc-stats__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; text-align:center; }
.pxc-stat__icon{ display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:10px; background:rgba(255,255,255,.06); color:#3ecf7e; margin-bottom:10px; }
.pxi--stat{ width:18px; height:18px; }
.pxc-stat__value,.pxc-stat__suffix{ font-size:26px; font-weight:800; color:#fff; }
.pxc-stat__label{ margin:6px 0 0; font-size:12.5px; color:var(--muted-light); line-height:1.6; }

/* Payments -------------------------------------------------------*/
.pxc-payments{ background:var(--bg-soft); border-top:1px solid var(--line); padding-block:22px; }
.pxc-payments__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pxc-payments__methods p{ margin:0 0 8px; font-size:13px; }
.pxc-payments__methods ul{ display:flex; gap:10px; flex-wrap:wrap; }
.pxc-payments__methods li{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:6px 12px; font-size:12.5px; font-weight:600; color:var(--muted); }
.pxc-payments__guarantee{ display:flex; align-items:center; gap:10px; }
.pxc-payments__guarantee span{ width:34px; height:34px; border-radius:50%; background:var(--green-tint); color:var(--green-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pxi--check{ width:17px; height:17px; }
.pxc-payments__guarantee div{ display:flex; flex-direction:column; font-size:12.5px; }
.pxc-payments__guarantee strong{ font-size:13.5px; }

/* Footer ----------------------------------------------------------*/
.pxc-footer{ background:var(--navy-900); color:var(--muted-light); }
.pxc-footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; padding-block:52px; }
.pxc-footer__about p{ color:var(--muted-light); font-size:13.5px; margin-block:14px; }
.pxc-footer__social{ display:flex; gap:10px; }
.pxc-footer__social a{ width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; }
.footer-widget-title{ color:#fff; font-size:14.5px; margin-bottom:14px; }
.pxc-footer__col ul{ display:flex; flex-direction:column; gap:10px; }
.pxc-footer__col a{ font-size:13.5px; color:var(--muted-light); }
.pxc-footer__col a:hover{ color:#fff; }
.pxc-footer__contact li{ display:flex; align-items:center; gap:8px; font-size:13.5px; }
.pxc-footer__contact .pxi{ width:15px; height:15px; color:var(--green); }
.pxc-footer__bottom{ border-top:1px solid rgba(255,255,255,.08); }
.pxc-footer__bottom-inner{ display:flex; justify-content:space-between; padding-block:18px; font-size:12.5px; flex-wrap:wrap; gap:8px; }

/* Generic page content ---------------------------------------------*/
.pxc-generic-content{ padding-block:48px; min-height:40vh; }
.pxc-page-title{ font-size:28px; }
.pxc-entry-content p{ font-size:15px; }

/* VPS plan cards ------------------------------------------------------*/
.pxc-plans-page{ padding-block:52px; }
.pxc-plans-page__head{ text-align:center; max-width:60ch; margin:0 auto 36px; }
.pxc-plans-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:22px; }
.pxc-plan-card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px 24px; text-align:center; }
.pxc-plan-card.is-featured{ border-color:var(--green); box-shadow:0 0 0 3px var(--green-tint); }
.pxc-plan-card__badge{ position:absolute; top:-13px; inset-inline-start:50%; transform:translateX(50%); background:var(--green); color:#fff; font-size:11.5px; padding:5px 14px; border-radius:999px; }
.pxc-plan-card__title{ font-size:17px; }
.pxc-plan-card__price{ margin-bottom:18px; }
.pxc-plan-card__price span{ font-size:26px; font-weight:800; }
.pxc-plan-card__price small{ display:block; color:var(--muted-light); font-size:12px; }
.pxc-plan-card__specs{ text-align:right; display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.pxc-plan-card__specs li{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--muted); }
.pxi--xs{ width:14px; height:14px; color:var(--green); flex-shrink:0; }
.pxc-plan-card__cta{ width:100%; justify-content:center; }
.pxc-plans-page__empty{ text-align:center; padding-block:40px; }
.pxc-plan-single{ padding-block:48px; max-width:760px; }
.pxc-plan-single__price{ margin-bottom:20px; }

/* Contact page ------------------------------------------------------*/
.pxc-contact-hero{ background:linear-gradient(155deg, var(--navy-900), var(--navy-700) 70%); padding-block:56px; text-align:center; }
.pxc-contact-hero h1{ color:#fff; font-size:clamp(26px,3.5vw,36px); margin-bottom:10px; }
.pxc-contact-hero p{ color:var(--muted-light); max-width:56ch; margin-inline:auto; }

.pxc-contact{ padding-block:56px; }
.pxc-contact__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:32px; align-items:start; }

.pxc-contact__info{ display:flex; flex-direction:column; gap:16px; }
.pxc-contact__card{ display:flex; align-items:center; gap:14px; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; }
.pxc-contact__card span{ width:42px; height:42px; border-radius:10px; background:var(--green-tint); color:var(--green-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pxc-contact__card .pxi{ width:19px; height:19px; }
.pxc-contact__card strong{ display:block; font-size:14px; margin-bottom:2px; }
.pxc-contact__card a, .pxc-contact__card span:nth-child(2){ font-size:13.5px; color:var(--muted); }

.pxc-contact__form-wrap{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; box-shadow:var(--shadow); }
.pxc-form-row{ margin-bottom:18px; }
.pxc-form-row--2col{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pxc-contact-form label{ display:block; font-size:13.5px; font-weight:600; margin-bottom:7px; }
.pxc-contact-form input[type=text], .pxc-contact-form input[type=email], .pxc-contact-form textarea{
	width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 14px; font-family:inherit; font-size:14px; outline:none; transition:border-color .15s ease;
}
.pxc-contact-form input:focus, .pxc-contact-form textarea:focus{ border-color:var(--green); }
.pxc-contact-form textarea{ resize:vertical; }
.pxc-hp-field{ position:absolute; inset-inline-start:-9999px; opacity:0; height:0; width:0; }

.pxc-alert{ border-radius:10px; padding:13px 16px; font-size:13.5px; margin-bottom:20px; }
.pxc-alert--success{ background:var(--green-tint); color:var(--green-dark); border:1px solid rgba(24,165,88,.3); }
.pxc-alert--error{ background:var(--red-tint); color:var(--red-dark); border:1px solid rgba(224,54,46,.3); }

@media (max-width: 782px){
	.pxc-contact__grid{ grid-template-columns:1fr; }
	.pxc-form-row--2col{ grid-template-columns:1fr; }
}

/* Responsive -----------------------------------------------------------*/
@media (max-width: 1024px){
	.pxc-hero__inner{ grid-template-columns:1fr; }
	.pxc-hero__art{ display:none; }
	.pxc-features__grid{ grid-template-columns:repeat(2,1fr); }
	.pxc-stats__grid{ grid-template-columns:repeat(3,1fr); row-gap:26px; }
	.pxc-footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 782px){
	.pxc-topbar__links span:not(:first-child){ display:none; }
	.pxc-nav{ position:absolute; inset-inline:0; top:100%; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow); padding:10px; display:none; }
	.pxc-nav.is-open{ display:block; }
	.pxc-nav__list{ flex-direction:column; align-items:stretch; }
	.pxc-nav__submenu{ position:static; box-shadow:none; border:0; margin-top:0; padding-inline-start:16px; }
	.pxc-nav__toggle{ display:flex; }
	.pxc-header__actions .pxc-btn--ghost{ display:none; }
	.pxc-features__grid{ grid-template-columns:1fr; }
	.pxc-stats__grid{ grid-template-columns:repeat(2,1fr); }
	.pxc-footer__grid{ grid-template-columns:1fr; }
	.pxc-domain__card{ flex-direction:column; align-items:stretch; text-align:center; }
	.pxc-domain__form{ min-width:0; }
	.pxc-payments__inner{ flex-direction:column; align-items:flex-start; }
}
