/* 1814 Services 0.18.0 — header, drawer, footer on the 1814 design system (brand «services»). Same structure as 1814 Kids. */
:root{ --h1814-public-header-space:0px; }
body.s-chrome{ font-family:var(--ds-font-text); }
body.s-chrome .h1814-main{ padding-top:0!important; }
.s-wrap{ width:100%; max-width:var(--ds-container); margin-inline:auto; padding-inline:var(--ds-gutter); }
.s-only-desktop{ display:none!important; }
@media (min-width:1024px){ .s-only-mobile{ display:none!important; } .s-only-desktop{ display:revert!important; } }

/* icon buttons (48px touch target) */
.s-icon-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:0 10px; border:0; border-radius:var(--ds-radius-control); background:transparent; color:var(--ds-ink); font:var(--ds-w-medium) var(--ds-fs-sm)/1 var(--ds-font-text); text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background-color var(--ds-dur) var(--ds-ease); }
.s-icon-btn:hover{ background:var(--ds-cream-100); }
.s-icon-btn .s-ico{ flex:none; }
.s-text-btn{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 12px; color:var(--ds-ink-2); font-size:var(--ds-fs-sm); text-decoration:none; border-radius:var(--ds-radius-control); }
.s-text-btn:hover{ background:var(--ds-cream-100); color:var(--ds-ink); }
.s-bag__count,.s-dot-count{ display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--ds-ink); color:var(--ds-on-ink); font-size:11px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums; }
.s-bag__count{ position:absolute; top:5px; inset-inline-end:3px; background:var(--ds-brass-600); }
.s-dot-count{ margin-inline-start:6px; }

/* header */
.s-header{ position:sticky; top:0; z-index:1000; background:color-mix(in srgb,var(--ds-white) 94%,transparent); -webkit-backdrop-filter:saturate(1.2) blur(10px); backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid var(--ds-line); transition:box-shadow var(--ds-dur-slow) var(--ds-ease); }
.admin-bar .s-header{ top:46px; } @media (min-width:783px){ .admin-bar .s-header{ top:32px; } }
.s-header.is-scrolled{ box-shadow:0 6px 20px rgba(20,28,44,.07); }
.s-header__bar{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:4px; min-height:64px; }
.s-header__start{ display:flex; align-items:center; gap:4px; }
.s-header__tools{ display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.s-header__phone{ display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--ds-muted); font-size:var(--ds-fs-sm); text-decoration:none; }
.s-header__phone strong{ margin-inline-start:2px; color:var(--ds-ink); font-size:var(--ds-fs-lg); font-weight:700; letter-spacing:.02em; }
.s-header__phone:hover strong{ color:var(--ds-accent-strong); }
.s-logo{ display:inline-flex; align-items:center; justify-content:center; color:var(--ds-ink); text-decoration:none; line-height:0; }
.s-logo img,.s-logo .s-logo__img{ display:block; width:auto; height:34px; max-width:150px; object-fit:contain; }
.s-logo .h1814-logo-fallback{ font:600 26px/1 var(--ds-font-latin); letter-spacing:.12em; }
.s-logo--small img{ height:28px; }
@media (min-width:1024px){
  .s-header__bar{ min-height:80px; gap:16px; }
  .s-logo img,.s-logo .s-logo__img{ height:42px; max-width:190px; }
}

/* account runtime (filled by customer-session-header.js) */
.s-account{ display:inline-flex; position:relative; }
.s-account details{ position:relative; }
.s-account summary{ list-style:none; }
.s-account summary::-webkit-details-marker{ display:none; }
.s-account__panel{ position:absolute; top:calc(100% + 8px); inset-inline-end:0; z-index:5; min-width:220px; padding:8px; background:var(--ds-surface); border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); box-shadow:var(--ds-shadow-float); }
.s-account__panel a,.s-account__panel button{ display:flex; width:100%; align-items:center; min-height:44px; padding:0 12px; border:0; border-radius:var(--ds-radius-control); background:none; color:var(--ds-ink); font:var(--ds-w-regular) var(--ds-fs-sm)/1.4 var(--ds-font-text); text-align:start; text-decoration:none; cursor:pointer; }
.s-account__panel a:hover,.s-account__panel button:hover{ background:var(--ds-cream-100); }
.s-account__panel hr{ border:0; height:1px; background:var(--ds-line); margin:6px 4px; }
.s-account__panel form{ margin:0; }
.s-account__panel .is-out{ color:var(--ds-danger); }
.s-account__name{ max-width:9em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* desktop nav row */
.s-nav{ border-top:1px solid var(--ds-line); }
.s-nav__list{ display:flex; justify-content:center; align-items:stretch; gap:4px; margin:0 auto; list-style:none; }
.s-nav__item{ position:relative; display:flex; align-items:center; }
.s-nav__item>a{ position:relative; display:inline-flex; align-items:center; min-height:48px; padding:0 14px; color:var(--ds-ink-2); font-size:var(--ds-fs-sm); font-weight:var(--ds-w-medium); text-decoration:none; }
.s-nav__item>a:hover,.s-nav__item>a[aria-current="page"]{ color:var(--ds-ink); }
.s-nav__item>a::after{ content:""; position:absolute; inset-inline:14px; bottom:-1px; height:2px; background:var(--ds-gilt); transform:scaleX(0); transition:transform var(--ds-dur) var(--ds-ease); }
.s-nav__item>a:hover::after,.s-nav__item>a[aria-current="page"]::after{ transform:scaleX(1); }
.s-nav__item--menu>a{ padding-inline-end:4px; }
.s-nav__toggle{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:44px; padding:0; border:0; background:none; color:var(--ds-ink-2); cursor:pointer; }
.s-nav__toggle[aria-expanded="true"] .s-ico{ transform:rotate(180deg); }
.s-nav__panel{ position:absolute; top:100%; inset-inline-start:0; z-index:5; min-width:260px; padding:10px; background:var(--ds-surface); border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); box-shadow:var(--ds-shadow-float); }
.s-nav__panel ul{ list-style:none; margin:0; padding:0; }
.s-nav__panel a{ display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 12px; border-radius:var(--ds-radius-control); color:var(--ds-ink); font-size:var(--ds-fs-sm); text-decoration:none; }
.s-nav__panel a:hover{ background:var(--ds-cream-100); }
.s-nav__all{ margin-top:6px; border-top:1px solid var(--ds-line); border-radius:0 0 var(--ds-radius-control) var(--ds-radius-control)!important; color:var(--ds-accent-strong)!important; font-weight:600; }

/* drawer (phone) */
.s-drawer{ position:fixed; inset:0; z-index:2000; display:flex; }
.s-drawer[hidden]{ display:none; }
.s-drawer__scrim{ flex:1; border:0; background:rgba(20,28,44,.42); cursor:pointer; }
.s-drawer__panel{ width:min(88vw,380px); height:100%; overflow-y:auto; overscroll-behavior:contain; padding:10px 20px calc(28px + env(safe-area-inset-bottom)); background:var(--ds-white); box-shadow:var(--ds-shadow-float); animation:s-in var(--ds-dur-slow) var(--ds-ease); }
@keyframes s-in{ from{ transform:translateX(24px); opacity:0; } to{ transform:none; opacity:1; } }
@media (prefers-reduced-motion:reduce){ .s-drawer__panel{ animation:none; } .s-header{ transition:none; } }
.s-drawer__head{ display:flex; align-items:center; justify-content:space-between; min-height:56px; padding-bottom:8px; border-bottom:1px solid var(--ds-line); }
.s-drawer__kicker{ margin:22px 0 6px; color:var(--ds-accent); font-size:var(--ds-fs-xs); font-weight:700; letter-spacing:.04em; }
.s-drawer__list{ list-style:none; margin:0; padding:0; }
.s-drawer__list a{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; border-bottom:1px solid var(--ds-line); color:var(--ds-ink); font-size:var(--ds-fs-lg); font-weight:600; text-decoration:none; }
.s-drawer__list a .s-ico{ color:var(--ds-faint); }
.s-drawer__list--sub a{ justify-content:flex-start; min-height:48px; font-size:var(--ds-fs-md); font-weight:400; }
.s-drawer__list--sub a .s-ico{ color:var(--ds-accent); }
.s-ico-gap{ display:inline-block; width:20px; flex:none; }
.s-drawer__call{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 12px; margin-top:24px; padding:14px 16px; border-radius:var(--ds-radius-card); background:var(--ds-ink); color:var(--ds-on-ink); text-decoration:none; }
.s-drawer__call .s-ico{ grid-row:span 2; color:var(--ds-gilt); }
.s-drawer__call strong{ font-size:var(--ds-fs-lg); margin-inline-start:4px; }
.s-drawer__call small{ color:var(--ds-brass-200); font-size:var(--ds-fs-xs); }
html.s-lock,html.s-lock body{ overflow:hidden; }

/* footer */
.s-footer{ margin-top:var(--ds-16); background:var(--ds-navy-800); color:#CFC8BA; font-size:var(--ds-fs-sm); line-height:1.9; }
.s-footer a{ color:#E4DED2; text-decoration:none; }
.s-footer a:hover{ color:var(--ds-brass-200); }
.s-footer__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px 20px; padding-block:48px 28px; }
.s-footer__brand{ grid-column:1/-1; }
.s-footer__brand p{ margin:10px 0 0; max-width:34em; }
.s-footer__mark{ display:inline-block; line-height:0; }
.s-footer__mark img{ display:block; height:44px; width:auto; }
.s-footer__call{ display:inline-flex; align-items:baseline; gap:10px; margin-top:16px; }
.s-footer__call span{ color:#CFC8BA; }
.s-footer__call strong{ color:var(--ds-on-ink); font-size:28px; font-weight:700; letter-spacing:.03em; }
.s-footer__note{ color:#A9A293; font-size:var(--ds-fs-xs); margin-top:4px!important; }
.s-footer h2{ margin:0 0 10px; color:var(--ds-brass-200); font:600 var(--ds-fs-xs)/1.4 var(--ds-font-text); letter-spacing:.06em; }
.s-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.s-footer li a{ display:inline-flex; min-height:32px; align-items:center; }
.s-footer__seals{ display:flex; flex-wrap:wrap; gap:10px; padding-bottom:24px; }
.s-seal{ display:inline-flex; align-items:center; justify-content:center; min-width:84px; min-height:84px; padding:6px; border-radius:10px; background:#fff; }
.s-seal img{ max-height:84px; width:auto; }
.s-footer__legal{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding-block:18px calc(22px + env(safe-area-inset-bottom)); border-top:1px solid #343E52; color:#9E9789; font-size:var(--ds-fs-xs); }
.s-footer__legal-links{ display:inline-flex; gap:18px; }
.s-footer__legal a{ color:#BDB6A8; }
@media (min-width:1024px){
  .s-footer__grid{ grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-block:72px 40px; }
  .s-footer__brand{ grid-column:auto; }
}
/* the old floating header's helpers are gone; keep the back-to-top button quiet */

/* shared page building blocks (every new template) */
.s-section{ padding-block:var(--ds-12); }
@media (min-width:1024px){ .s-section{ padding-block:var(--ds-20); } }
.s-section--alt{ background:var(--ds-cream-50); }
.s-kicker{ margin:0 0 6px; color:var(--ds-accent); font-size:var(--ds-fs-xs); font-weight:700; letter-spacing:.05em; }
.s-kicker--on-ink{ color:var(--ds-brass-200); }
.s-h2{ margin:0; color:var(--ds-ink); font-family:var(--ds-font-display); font-size:var(--ds-fs-h2); font-weight:700; line-height:1.35; text-wrap:balance; }
.s-h2--on-ink{ color:var(--ds-on-ink); }
.s-h3{ margin:0 0 var(--ds-4); color:var(--ds-ink); font-size:var(--ds-fs-h3); font-weight:700; line-height:1.4; }
.s-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:var(--ds-6); }
@media (min-width:1024px){ .s-head{ margin-bottom:var(--ds-10); } }
.s-more{ display:inline-flex; align-items:center; gap:4px; min-height:44px; color:var(--ds-ink); font-size:var(--ds-fs-sm); font-weight:600; text-decoration:none; white-space:nowrap; }
.s-more .s-ico{ color:var(--ds-accent); transition:transform var(--ds-dur) var(--ds-ease); }
.s-more:hover .s-ico{ transform:translateX(-3px); }

/* search field + chips (home, services page, search results) */
.s-search{ position:relative; display:flex; align-items:center; max-width:560px; margin-bottom:var(--ds-3); }
.s-search input{ width:100%; min-height:54px; padding:0 18px 0 56px; border:1px solid var(--ds-line-strong); border-radius:var(--ds-radius-pill); background:var(--ds-white); color:var(--ds-ink); font:inherit; font-size:var(--ds-fs-md); box-shadow:0 2px 10px rgba(20,28,44,.04); }
.s-search input::placeholder{ color:var(--ds-placeholder); }
.s-search input:focus{ outline:none; border-color:var(--ds-accent); box-shadow:0 0 0 3px var(--ds-brass-100); }
.s-search__btn{ position:absolute; inset-inline-end:6px; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:999px; background:var(--ds-ink); color:var(--ds-on-ink); cursor:pointer; }
.s-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 var(--ds-6); padding:0; list-style:none; }
.s-chips a{ display:inline-flex; align-items:center; min-height:38px; padding:0 14px; border:1px solid var(--ds-line); border-radius:999px; color:var(--ds-ink-2); font-size:var(--ds-fs-sm); text-decoration:none; background:var(--ds-white); }
.s-chips a:hover{ border-color:var(--ds-accent); color:var(--ds-ink); }

/* service families */
.s-families{ display:grid; grid-template-columns:1fr; gap:14px; margin:0; padding:0; list-style:none; }
.s-family a{ display:grid; grid-template-columns:116px 1fr; align-items:stretch; min-height:132px; border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); background:var(--ds-white); color:inherit; text-decoration:none; overflow:hidden; transition:box-shadow var(--ds-dur) var(--ds-ease),border-color var(--ds-dur) var(--ds-ease),transform var(--ds-dur) var(--ds-ease); }
.s-family a:hover{ border-color:var(--ds-brass-200); box-shadow:var(--ds-shadow-raise); }
.s-family__media{ position:relative; background:var(--ds-cream-100); }
.s-family__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.s-family__body{ display:flex; flex-direction:column; gap:6px; padding:14px 16px; }
.s-family__name{ color:var(--ds-ink); font-size:var(--ds-fs-lg); font-weight:700; line-height:1.4; }
.s-family__text{ color:var(--ds-muted); font-size:var(--ds-fs-sm); line-height:1.75; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.s-family__meta{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:auto; color:var(--ds-ink-2); font-size:var(--ds-fs-xs); }
.s-family__meta b{ color:var(--ds-accent-strong); font-weight:700; }
@media (min-width:768px){ .s-families{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media (min-width:1024px){
  .s-families{ grid-template-columns:repeat(6,1fr); gap:24px; }
  .s-family{ grid-column:span 2; }
  .s-family--lead,.s-family--lead + .s-family{ grid-column:span 3; }
  .s-family a{ grid-template-columns:1fr; grid-template-rows:auto 1fr; min-height:0; }
  .s-family__media{ aspect-ratio:16/10; }
  .s-family--lead .s-family__media,.s-family--lead + .s-family .s-family__media{ aspect-ratio:16/8; }
  .s-family__body{ padding:18px 20px 20px; }
  .s-family a:hover{ transform:translateY(-2px); }
  .s-family a:hover .s-family__media img{ transform:scale(1.03); }
  .s-family__media img{ transition:transform var(--ds-dur-slow) var(--ds-ease); }
}
@media (prefers-reduced-motion:reduce){ .s-family a,.s-family__media img{ transition:none!important; transform:none!important; } }


/* shared across templates (moved from home/shop) */
.s-crumbs-wrap{ padding-top:var(--ds-4); }
.s-crumbs{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; color:var(--ds-muted); font-size:var(--ds-fs-xs); }
.s-crumbs a{ color:var(--ds-ink-2); text-decoration:none; }
.s-crumbs a:hover{ color:var(--ds-accent-strong); }
.s-crumbs span{ color:var(--ds-faint); }

.s-page-head{ padding-block:var(--ds-6) var(--ds-6); }
.s-page-title{ margin:0 0 var(--ds-3); color:var(--ds-ink); font-size:var(--ds-fs-h1); font-weight:700; line-height:1.3; text-wrap:balance; }
.s-page-lead{ margin:0 0 var(--ds-5); color:var(--ds-muted); line-height:1.95; max-width:40em; }
@media (min-width:1024px){ .s-page-head{ padding-block:var(--ds-10) var(--ds-8); } }

.s-landing{ padding-bottom:var(--ds-12); }
.s-head--sub{ margin-top:var(--ds-12); }
@media (min-width:1024px){
  .s-families--landing{ grid-template-columns:repeat(3,1fr); }
  .s-families--landing .s-family{ grid-column:auto; }
  .s-families--landing .s-family__media{ aspect-ratio:4/3; }
}
.s-mini{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.s-mini a{ display:flex; align-items:center; gap:14px; padding:10px; padding-inline-end:16px; border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); color:inherit; text-decoration:none; background:var(--ds-white); }
.s-mini a:hover{ border-color:var(--ds-brass-200); }
.s-mini img{ width:72px; height:72px; object-fit:cover; border-radius:12px; flex:none; }
.s-mini a>span{ flex:1; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.s-mini strong{ color:var(--ds-ink); }
.s-mini .s-ico{ color:var(--ds-accent); }
@media (min-width:768px){ .s-mini{ grid-template-columns:1fr 1fr; gap:16px; } }

/* contracting */
.s-contract{ display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.s-contract__card a{ display:grid; border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); overflow:hidden; color:inherit; text-decoration:none; background:var(--ds-white); }
.s-contract__card a:hover{ box-shadow:var(--ds-shadow-raise); border-color:var(--ds-brass-200); }
.s-contract__media{ aspect-ratio:16/8; background:var(--ds-cream-100); }
.s-contract__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.s-contract__body{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:18px 20px 20px; }
.s-contract__body strong{ color:var(--ds-ink); font-size:var(--ds-fs-h4); }
.s-contract__text{ color:var(--ds-muted); font-size:var(--ds-fs-sm); line-height:1.85; }
.s-contract__refs{ color:var(--ds-ink-2); font-size:var(--ds-fs-xs); line-height:1.9; }
.s-contract__refs em{ font-style:normal; color:var(--ds-accent); font-weight:600; }
@media (min-width:1024px){ .s-contract{ grid-template-columns:1fr 1fr; gap:24px; } }

/* faq */
.s-faq__grid{ display:grid; gap:var(--ds-6); }
.s-faq details{ border-bottom:1px solid var(--ds-line); }
.s-faq summary{ position:relative; display:block; padding-block:18px; padding-inline:0 36px; color:var(--ds-ink); font-weight:600; line-height:1.7; cursor:pointer; list-style:none; }
.s-faq summary::-webkit-details-marker{ display:none; }
.s-faq summary::after{ content:""; position:absolute; inset-inline-end:4px; top:50%; width:9px; height:9px; margin-top:-7px; border-right:1.6px solid var(--ds-accent); border-bottom:1.6px solid var(--ds-accent); transform:rotate(45deg); transition:transform var(--ds-dur) var(--ds-ease); }
.s-faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.s-faq details>div{ padding:0 0 18px; color:var(--ds-muted); line-height:1.95; }
.s-faq details>div p{ margin:0 0 8px; }
@media (min-width:1024px){ .s-faq__grid{ grid-template-columns:1fr 1.6fr; gap:var(--ds-16); } }

/* help */
.s-help{ padding-bottom:0; }
.s-help__list{ display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--ds-line); }
.s-help__list a{ position:relative; display:flex; flex-direction:column; gap:2px; padding:14px 0; padding-inline-end:28px; border-bottom:1px solid var(--ds-line); color:inherit; text-decoration:none; }
.s-help__list a::after{ content:""; position:absolute; inset-inline-end:6px; top:50%; width:8px; height:8px; margin-top:-4px; border-left:1.6px solid var(--ds-accent); border-bottom:1.6px solid var(--ds-accent); transform:rotate(45deg); }
.s-help__list strong{ color:var(--ds-ink); font-weight:700; }
.s-help__list span{ color:var(--ds-muted); font-size:var(--ds-fs-sm); }
@media (min-width:1024px){
  .s-help__list{ grid-template-columns:repeat(5,1fr); gap:16px; border-top:0; }
  .s-help__list a{ height:100%; padding:18px; padding-inline-end:36px; border:1px solid var(--ds-line); border-radius:var(--ds-radius-card); background:var(--ds-white); }
  .s-help__list a:hover{ border-color:var(--ds-brass-200); }
  .s-help__list a::after{ inset-inline-end:16px; }
}
/* help below the list */
.s-assist{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; margin-top:var(--ds-10); padding:20px; border-radius:var(--ds-radius-card); background:var(--ds-cream-50); border:1px solid var(--ds-line); }
.s-assist strong{ display:block; color:var(--ds-ink); }
.s-assist span{ color:var(--ds-muted); font-size:var(--ds-fs-sm); }

/* 1.0: links to #services / #contracting land below the sticky header */
.s-chrome section[id]{ scroll-margin-top:calc(var(--s-header-h,var(--ds-header-h,64px)) + 16px); }
/* 1.1: on phones the WordPress admin bar scrolls away (not fixed) — the sticky header must stick to the very top */
@media (max-width:600px){ .admin-bar .s-header{ top:0; } }

/* 1.2 — «خدمات» landing cards: name and count only (the family text lives on the family page) */
.s-families--landing .s-family a{ min-height:104px; grid-template-columns:104px 1fr; }
.s-families--landing .s-family__body{ justify-content:center; gap:8px; }
.s-families--landing .s-family__meta{ margin-top:0; }
@media (min-width:1024px){ .s-families--landing .s-family a{ grid-template-columns:1fr; } }

/* 1.4 — wordmark like 1814 Kids: «1814 SERVICES» in the brand Latin face, «کیان سرویسز» under it */
.s-logo{ flex-direction:column; line-height:1; gap:5px; }
.s-logo__mark{ font-family:var(--ds-font-latin); font-weight:600; font-size:20px; letter-spacing:.18em; padding-inline-start:.18em; color:var(--ds-ink); direction:ltr; unicode-bidi:isolate; font-variant-numeric:lining-nums; white-space:nowrap; line-height:1; }
.s-logo__sub{ display:none; font-size:11px; letter-spacing:.32em; color:var(--ds-muted); line-height:1; }
.s-logo__mark--light{ color:var(--ds-on-ink); font-size:24px; }
.s-footer__mark{ line-height:0; text-decoration:none; }
.s-drawer__head .s-logo__mark{ font-size:19px; }
@media (min-width:1024px){
  .s-logo__mark{ font-size:30px; letter-spacing:.24em; padding-inline-start:.24em; }
  .s-logo__sub{ display:block; }
}
/* 1.4 — signed-in customer: a small brass dot on the account icon instead of the name */
.s-icon-btn--signed{ position:relative; }
.s-icon-btn--signed::after{ content:""; position:absolute; top:9px; inset-inline-end:9px; width:8px; height:8px; border-radius:50%; background:var(--ds-accent); box-shadow:0 0 0 2px var(--ds-white); }
/* 1.4 — «revert» of the desktop-only helper turned the phone link into a block, so its icon sat high: keep it a flex row */
@media (min-width:1024px){ .s-header__phone.s-only-desktop{ display:inline-flex!important; } }

/* 1.4 — one family with 1814 Kids: warm page ground, a calm header (taller bar, no rule between bar and menu, quieter phone, ink underline) */
html,body.s-chrome{ background:var(--ds-cream-50); }
body.s-chrome{ --ds-ground:var(--ds-cream-50); }
.s-header{ background:rgba(251,248,243,.96); }
.s-nav{ border-top:0; }
.s-nav__list{ gap:6px 30px; padding:2px 0 12px; }
.s-nav__item>a{ min-height:40px; padding:0; color:var(--ds-ink); font-size:15px; font-weight:400; }
.s-nav__item>a::after{ inset-inline:0; bottom:4px; height:1px; background:var(--ds-ink); }
.s-nav__item--menu>a{ padding-inline-end:0; }
.s-header__phone{ font-size:13px; gap:6px; }
.s-header__phone strong{ font-size:15px; font-weight:600; color:var(--ds-ink-2); }
@media (min-width:1024px){
  .s-header__bar{ min-height:88px; }
  .s-logo__mark{ font-size:34px; letter-spacing:.28em; padding-inline-start:.28em; }
}
.s-section--alt,.s-pillars{ background:var(--ds-white); }
.s-assist,.s-panel,.s-contact__cta{ background:var(--ds-white); }
.s-drawer__panel{ background:var(--ds-cream-50); }
/* the search row under the header */
.s-search-panel{ border-top:1px solid var(--ds-line); background:rgba(251,248,243,.98); }
.s-search-panel__form{ display:flex; align-items:center; gap:8px; padding-block:12px; }
.s-search-panel__form input[type=search]{ flex:1; min-width:0; min-height:48px; padding:0 16px; border:1px solid var(--ds-line-strong); border-radius:var(--ds-radius-pill); background:var(--ds-white); color:var(--ds-ink); font:inherit; }
.s-search-panel__form input[type=search]:focus-visible{ outline:2px solid var(--ds-focus); outline-offset:1px; }
.s-search-panel__form .ds-btn{ min-height:48px; padding-inline:20px; }
@media (max-width:599px){ .s-search-panel__form .ds-btn{ display:none; } }

/* 1.4.1 — home family cards on phones: name, count and price only (the family text is one tap away on the family page) */
@media (max-width:767px){
  .s-families .s-family__text{ display:none; }
  .s-families .s-family a{ min-height:104px; grid-template-columns:104px 1fr; }
  .s-families .s-family__body{ justify-content:center; gap:8px; }
  .s-families .s-family__meta{ margin-top:0; }
}
/* 1.4.1 — the waiting card (1814 Shared UI) signs with the same «1814» as the header: brand Latin face, gold beam under it.
   Text, not an image: on a slow connection a picture would be the last thing to arrive. */
.i1814-shared-loading__signature>b{ font-family:var(--ds-font-latin,"Cormorant Garamond",serif)!important; font-weight:600!important; font-size:30px!important; letter-spacing:.28em!important; padding-inline-start:.28em; color:var(--ds-ink,#1B2638)!important; }
.i1814-shared-loading__signature>span>i{ background:linear-gradient(90deg,transparent,var(--ds-gilt,#B39152),transparent)!important; }
.i1814-shared-loading{ background:rgba(251,248,243,.72)!important; }
.i1814-shared-loading__card{ border-color:var(--ds-line,#E7E0D3)!important; box-shadow:0 18px 44px rgba(20,28,44,.10)!important; }

/* ===== 1.6.0 — header, phone menu and account (approved S15): account visible on phones, a short menu with the account
   card first, family tiles, four links and a clear «همکاری با ۱۸۱۴» card; desktop: a thin navy utility row, 7 menu items,
   the name + a small account panel. ===== */
.s-util{ background:var(--ds-navy-800); color:#DCD6CB; font-size:13px; }
.s-util__row{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:36px; }
.s-util a{ color:inherit; text-decoration:none; }
.s-util__phone{ display:inline-flex; align-items:center; gap:6px; }
.s-util__phone .s-ico{ color:var(--ds-gilt); }
.s-util__phone strong{ color:#fff; font-weight:700; letter-spacing:.02em; }
.s-util__hours{ color:#BDB6A9; }
.s-util__links{ display:inline-flex; gap:18px; }
.s-util__links a{ color:var(--ds-brass-200); }
.s-util__links a:hover,.s-util__links a[aria-current="page"]{ color:#fff; text-decoration:underline; text-underline-offset:4px; }
.s-util a:focus-visible{ outline:2px solid var(--ds-gilt); outline-offset:2px; border-radius:4px; }

.s-avatar{ display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--ds-navy-800); color:var(--ds-brass-200); font-size:14px; font-weight:600; line-height:1; flex:none; }
.s-avatar--lg{ width:42px; height:42px; font-size:17px; }
.s-account__trigger{ gap:8px; }
.s-account__pill-name{ display:none; max-width:8em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; color:var(--ds-ink); }
.s-account__panel{ min-width:250px; padding:10px; border-radius:18px; }
.s-account__panel a,.s-account__panel button{ gap:12px; font-size:14.5px; }
.s-account__panel a .s-ico,.s-account__panel button .s-ico{ color:var(--ds-accent); flex:none; }
.s-account__panel .is-out .s-ico{ color:var(--ds-danger); }
.s-account__who{ display:flex; align-items:center; gap:10px; padding:6px 8px 12px; margin-bottom:6px; border-bottom:1px solid var(--ds-line); }
.s-account__who strong{ display:block; font-size:15px; color:var(--ds-ink); }
.s-account__who small{ display:block; font-size:12.5px; color:var(--ds-muted); }
@media (min-width:1024px){
  .s-account__trigger{ border:1px solid var(--ds-line); border-radius:999px; background:var(--ds-white); padding:4px 14px 4px 6px; min-height:40px; }
  .s-account__trigger:hover{ background:var(--ds-white); border-color:var(--ds-line-strong); }
  .s-account__pill-name{ display:inline-block; }
}
.s-account summary.s-icon-btn--signed::after,.s-account__trigger::after{ content:none; }

/* phone menu */
.s-drawer__panel{ background:var(--ds-cream-50); }
.s-drawer__head{ margin:0 -20px 14px; padding:0 20px 8px; }
.s-drawer__account{ display:grid; gap:2px; padding:14px 16px; border:1px solid var(--ds-line); border-radius:18px; background:var(--ds-white); }
.s-drawer__account>strong{ font-size:15.5px; color:var(--ds-ink); }
.s-drawer__account>span{ font-size:13px; color:var(--ds-muted); }
.s-drawer__account-btn{ margin-top:10px; width:100%; justify-content:center; }
.s-drawer__account.is-signed{ background:var(--ds-navy-800); border-color:var(--ds-navy-800); color:var(--ds-on-ink); padding:14px; }
.s-drawer__who{ display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; border-radius:12px; }
.s-drawer__who .s-avatar{ background:var(--ds-brass-200); color:var(--ds-navy-800); }
.s-drawer__who strong{ display:block; font-size:16px; color:#fff; }
.s-drawer__who small{ display:block; font-size:12.5px; color:#CFC8BB; }
.s-drawer__chips{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.s-drawer__chips a{ display:grid; justify-items:center; gap:4px; padding:9px 2px 8px; border-radius:12px; background:rgba(255,255,255,.08); color:var(--ds-on-ink); font-size:12.5px; text-decoration:none; }
.s-drawer__chips a .s-ico{ color:var(--ds-brass-200); }
.s-drawer__chips a:hover{ background:rgba(255,255,255,.14); }
.s-drawer__account a:focus-visible,.s-drawer__tiles a:focus-visible,.s-drawer__links a:focus-visible,.s-drawer__hr:focus-visible,.s-drawer__kids:focus-visible{ outline:2px solid var(--ds-focus); outline-offset:2px; }
.s-drawer__kicker{ margin:20px 2px 8px; }
.s-drawer__tiles{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.s-drawer__tiles a{ display:grid; justify-items:center; align-content:start; gap:5px; min-height:96px; padding:10px 4px 8px; border:1px solid var(--ds-line); border-radius:16px; background:var(--ds-white); color:var(--ds-ink); font-size:13px; font-weight:500; text-align:center; text-decoration:none; line-height:1.4; }
.s-drawer__tiles a:hover{ border-color:var(--ds-line-strong); }
.s-drawer__tiles img,.s-drawer__tile-ico{ width:52px; height:52px; border-radius:50%; object-fit:cover; display:block; }
.s-drawer__tile-ico{ display:grid; place-items:center; background:var(--ds-cream-100); color:var(--ds-ink-2); }
.s-drawer__links{ list-style:none; margin:14px 0 0; padding:0; }
.s-drawer__links a{ display:flex; align-items:center; gap:12px; min-height:52px; padding:6px 2px; border-bottom:1px solid var(--ds-line); color:var(--ds-ink); font-size:15.5px; text-decoration:none; }
.s-drawer__links a>.s-ico:first-child{ color:var(--ds-accent); flex:none; }
.s-drawer__links a>span{ flex:1; line-height:1.45; }
.s-drawer__links a>span small{ display:block; font-size:12.5px; color:var(--ds-muted); }
.s-drawer__links a>.s-ico:last-child{ color:var(--ds-faint); flex:none; }
.s-drawer__hr{ display:flex; align-items:center; gap:12px; margin-top:16px; padding:12px 14px; border:1px solid var(--ds-line); border-radius:16px; background:var(--ds-white); color:var(--ds-ink); text-decoration:none; }
.s-drawer__hr-ico{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--ds-brass-100); color:var(--ds-accent); flex:none; }
.s-drawer__hr strong{ display:block; font-size:15px; }
.s-drawer__hr small{ display:block; font-size:12.5px; color:var(--ds-muted); line-height:1.6; }
.s-drawer__kids{ display:inline-flex; align-items:center; gap:4px; margin:14px 2px 0; min-height:36px; color:var(--ds-ink-2); font-size:14px; text-decoration:none; }
.s-drawer__call{ margin-top:14px; }

/* footer legal row: complaint quietly next to the legal links */
.s-footer__legal-links{ display:inline-flex; flex-wrap:wrap; gap:6px 16px; }
.s-contact__list li small a{ color:var(--ds-ink); text-decoration:underline; text-decoration-color:var(--ds-brass-200); text-underline-offset:3px; }
/* 1.6.0 review: on phones the three tools + menu + wordmark must fit 360px — the wordmark takes the middle space */
@media (max-width:1023px){
  .s-header__bar{ grid-template-columns:auto minmax(0,1fr) auto; gap:2px; }
  .s-header__bar .s-logo{ justify-self:center; min-width:0; }
  .s-header__tools .s-icon-btn{ min-width:40px; padding:0 6px; }
  .s-header__start .s-icon-btn{ min-width:40px; padding:0 6px; }
}
@media (max-width:400px){
  .s-header__bar .s-logo__mark{ font-size:16px; letter-spacing:.14em; padding-inline-start:.14em; }
}
@media (max-width:340px){ .s-header__bar .s-logo__mark{ font-size:14px; letter-spacing:.1em; padding-inline-start:.1em; } }

/* 1.8.0 — the few base rules that lived in the old main.css (no longer loaded) */
html{ max-width:100%; overflow-x:clip; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body.s-chrome{ margin:0; max-width:100%; overflow-x:clip; }
:where(body.s-chrome) *,:where(body.s-chrome) *::before,:where(body.s-chrome) *::after{ box-sizing:border-box; }
:where(body.s-chrome) :where(img,video,iframe){ max-width:100%; height:auto; }
:where(body.s-chrome .woocommerce form) :where(input,select,textarea){ max-width:100%; }
:where(.h1814-entry-content,.h1814-legal-content,.woocommerce label,.woocommerce-message,.woocommerce-info,.woocommerce-error){ overflow-wrap:anywhere; }
:where(body.s-chrome) :where(a,button,input,select,textarea,summary):focus-visible{ outline:2px solid var(--ds-focus); outline-offset:2px; }
/* trust seals (Enamad / PayPing) in the footer */
.s-seal.h1814-enamad,.s-seal.h1814-payping{ overflow:hidden; }
.s-seal a{ display:grid; place-items:center; width:100%; height:100%; }
.s-seal img,.s-seal #PPTrust>*,.s-seal iframe{ display:block; max-width:72px!important; max-height:72px!important; width:auto!important; height:auto!important; object-fit:contain; }
.s-seal #PPTrust{ display:grid; place-items:center; width:100%; height:100%; }
.h1814-main{ min-height:60vh; }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); white-space:nowrap; border:0; word-wrap:normal!important; }
/* customer dashboard (1814 Workforce) inside «حساب من» — moved from the old main.css, on design-system tokens */
.h1814-customer-entry .i1814-customer-dashboard{ max-width:1120px; margin:0 auto var(--ds-10); padding:0; }
.h1814-customer-entry .i1814-customer-dashboard__ambient{ display:none; }
.h1814-customer-entry .i1814-customer-identity-card{ border-color:var(--ds-line); border-radius:var(--ds-radius-sheet); background:var(--ds-white); box-shadow:var(--ds-shadow-raise); backdrop-filter:none; -webkit-backdrop-filter:none; }
.h1814-customer-entry .i1814-customer-dashboard__primary>a{ border-radius:var(--ds-radius-card); box-shadow:var(--ds-shadow-raise); }
.h1814-customer-entry .i1814-customer-card{ border-color:var(--ds-line); border-radius:var(--ds-radius-card); background:var(--ds-white); box-shadow:0 8px 24px rgba(20,28,44,.045); }
/* 1.8.1: «پیمانکاری» tiles in the phone menu; chat as an icon in the desktop tools */
.s-drawer__kicker small{ color:var(--ds-muted); font-weight:400; margin-inline-start:6px; letter-spacing:0; }
@media (min-width:1024px){ .s-chat-btn.s-only-desktop{ display:inline-flex!important; } }

/* 1.8.2 (S43): about page video from Workplace */
.s-about-video{margin:28px 0 0}.s-about-video video{width:100%;border-radius:var(--ds-radius-sheet,20px);display:block;background:var(--ds-cream-100)}.s-about-video figcaption{margin-top:8px;font-size:.9rem;color:var(--ds-ink-500,#5F5A52)}
