/*
Theme Name: Frezia
Description: Elegant bilingual counselling theme with scoped Elementor-compatible styling.
Version: 2.0.2
Requires at least: 6.0
Requires PHP: 8.2
Text Domain: frezia
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* Keep defaults below Elementor's global-kit class selectors in the cascade. */
body:where(.frezia-theme){--fz-ink:#263641;--fz-muted:#526773;--fz-paper:#faf8f4;--fz-surface:#eaf2f4;--fz-accent:#20566d;--fz-line:#d8e1e5;--fz-width:72.5rem;margin:0;background:var(--fz-paper);color:var(--fz-ink);font-family:Vazirmatn,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;font-size:1rem;line-height:1.85}
.fz-header,.fz-footer,.fz-main{box-sizing:border-box}
.fz-container{width:min(var(--fz-width),calc(100% - 3rem));margin-inline:auto}
.fz-header{background:var(--fz-paper);border-block-start:4px solid var(--fz-accent);border-block-end:1px solid var(--fz-line)}
.fz-header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem;padding-block:1.6rem}
.fz-branding{max-width:30rem}
.fz-title{margin:0;font-family:Vazirmatn,system-ui,sans-serif;font-size:1.65rem;font-weight:400;line-height:1.3}
.fz-title a{color:var(--fz-ink);text-decoration:none}
.fz-description{margin:.4rem 0 0;color:var(--fz-muted);font-size:.85rem}
.fz-branding .custom-logo{width:auto;height:auto;max-width:14rem;max-height:5rem}
.fz-nav ul,.fz-footer nav ul{list-style:none;padding:0;margin:0}
.fz-nav > ul,.fz-footer nav > ul{display:flex;flex-wrap:wrap;gap:.3rem 1.6rem}
.fz-nav li{position:relative}
.fz-nav a,.fz-footer nav a{display:block;color:var(--fz-ink);text-decoration:none;padding-block:.6rem}
.fz-nav a:hover,.fz-footer nav a:hover{ text-decoration:underline;text-underline-offset:.35em}
.fz-nav .current-menu-item > a,.fz-nav .current-menu-ancestor > a{color:var(--fz-accent);text-decoration:underline;text-underline-offset:.35em}
.fz-nav .sub-menu{padding-inline-start:1rem;border-inline-start:1px solid var(--fz-line)}
.fz-menu-toggle{display:none}
.fz-main{min-height:55vh;padding-block:clamp(2.5rem,7vw,6rem)}
.fz-main.fz-main-elementor{width:100%;padding:0}
.fz-singular > .entry-header,.fz-archive-header{max-width:54rem;margin:0 auto 3rem}
.fz-singular > .entry-header .entry-title,.fz-archive-header h1,.fz-not-found h1{font-family:Vazirmatn,system-ui,sans-serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.16;font-weight:400;letter-spacing:-.025em;margin:0 0 1rem;overflow-wrap:anywhere}
.fz-elementor > .entry-header{padding:3rem 1.5rem 0}
.fz-meta{color:var(--fz-muted);font-size:.85rem}
/* Ordinary content only: embedded Elementor roots and descendants are excluded below. */
.fz-prose{max-width:50rem;margin-inline:auto;overflow-wrap:anywhere}
.fz-prose a:where(:not(.elementor):not(.elementor *)),.fz-comments a,.fz-pagination a,.fz-not-found a{color:var(--fz-accent);text-underline-offset:.25em}
.fz-prose h2:where(:not(.elementor):not(.elementor *)),.fz-prose h3:where(:not(.elementor):not(.elementor *)),.fz-prose h4:where(:not(.elementor):not(.elementor *)){line-height:1.3;color:var(--fz-ink);margin-block:2rem 1rem;font-weight:500}
.fz-prose h2:where(:not(.elementor):not(.elementor *)){font-size:clamp(1.6rem,3vw,2.3rem)}
.fz-prose img:where(:not(.elementor):not(.elementor *)){max-width:100%;height:auto}
.fz-prose figure:where(:not(.elementor):not(.elementor *)){margin-inline:0}
.fz-prose blockquote:where(:not(.elementor):not(.elementor *)){margin:2rem 0;border-inline-start:3px solid var(--fz-accent);padding:1rem 1.5rem;background:var(--fz-surface);font-size:1.15rem}
.fz-prose table:where(:not(.elementor):not(.elementor *)){display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}
.fz-prose th:where(:not(.elementor):not(.elementor *)),.fz-prose td:where(:not(.elementor):not(.elementor *)){padding:.7rem;border:1px solid var(--fz-line)}
.fz-prose pre:where(:not(.elementor):not(.elementor *)){overflow-x:auto;padding:1rem;background:var(--fz-surface)}
.fz-prose .alignleft:where(:not(.elementor):not(.elementor *)){float:inline-start;margin-inline-end:1.5rem}
.fz-prose .alignright:where(:not(.elementor):not(.elementor *)){float:inline-end;margin-inline-start:1.5rem}
.fz-prose .aligncenter:where(:not(.elementor):not(.elementor *)){display:block;margin-inline:auto}
.fz-prose::after{content:"";display:table;clear:both}
.fz-prose:has(> .alignwide),.fz-prose:has(> .alignfull){max-width:none}
.fz-prose > :not(.alignwide):not(.alignfull):where(:not(.elementor):not(.elementor *)){max-width:50rem;margin-inline:auto}
.fz-prose .wp-caption-text:where(:not(.elementor):not(.elementor *)),.fz-prose .gallery-caption:where(:not(.elementor):not(.elementor *)){color:var(--fz-muted);font-size:.85rem}
.fz-thumbnail{margin:0 auto 2.5rem;max-width:64rem}
.fz-thumbnail img{display:block;width:100%;height:auto;border-radius:.7rem}
.fz-post-list{display:grid;gap:2rem}
.fz-card{min-width:0;padding:1.5rem;background:#ffffff;border:1px solid var(--fz-line);border-radius:.8rem}
.fz-card .fz-thumbnail{margin-bottom:1.5rem}
.fz-card .fz-thumbnail img{aspect-ratio:16/10;object-fit:cover}
.fz-card h2{margin:.75rem 0;font-family:Vazirmatn,system-ui,sans-serif;font-size:1.65rem;line-height:1.3;font-weight:400;overflow-wrap:anywhere}
.fz-card h2 a{color:var(--fz-ink);text-decoration:none}
.fz-card h2 a:hover{text-decoration:underline;text-underline-offset:.2em}
.fz-card p{color:var(--fz-muted)}
.fz-card.sticky{border-block-start:4px solid var(--fz-accent)}
.fz-footer{background:var(--fz-surface);border-block-start:1px solid var(--fz-line);padding-block:3rem}
.fz-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 3rem}
.fz-footer p{margin:0;font-size:.9rem;color:var(--fz-muted)}
.fz-search{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-block:1.5rem}
.fz-search label{display:grid;gap:.4rem;flex:1 1 15rem}
.fz-search input,.fz-comments input:not([type=checkbox]),.fz-comments textarea,.fz-prose input:not([type=checkbox]):where(:not(.elementor):not(.elementor *)),.fz-prose textarea:where(:not(.elementor):not(.elementor *)),.fz-prose select:where(:not(.elementor):not(.elementor *)){box-sizing:border-box;font:inherit;color:var(--fz-ink);background:#fff;border:1px solid #8ca6b3;border-radius:.35rem;padding:.7rem .9rem;max-width:100%}
.fz-search input{width:100%}
.fz-search button,.fz-menu-toggle,.fz-comments input[type=submit],.fz-prose input[type=submit]:where(:not(.elementor):not(.elementor *)){font:inherit;color:#fff;background:var(--fz-accent);border:1px solid var(--fz-accent);border-radius:.35rem;padding:.7rem 1.3rem;cursor:pointer}
.fz-search button:hover,.fz-menu-toggle:hover{background:var(--fz-ink)}
.fz-pagination,.fz-main > .navigation{margin-block:3rem}
.fz-main > .navigation .nav-links,.fz-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.fz-main > .navigation a{color:var(--fz-accent)}
.fz-main > .navigation .page-numbers{padding:.5rem .85rem;border:1px solid var(--fz-line);border-radius:.3rem}
.fz-main > .navigation .current{background:var(--fz-accent);color:white}
.fz-comments{max-width:50rem;margin:4rem auto 0;border-block-start:1px solid var(--fz-line);padding-block-start:2rem}
.fz-comments label{display:block}
.fz-comments textarea{width:100%}
.fz-comments .comment-list{padding-inline-start:1.5rem}
.fz-comments .comment-body{margin-block:1.5rem}
.fz-comments .avatar{border-radius:50%}
.fz-not-found{max-width:45rem;margin:2rem auto;padding:clamp(1.5rem,4vw,3rem);background:var(--fz-surface);border-radius:1rem}
.fz-header :focus-visible,.fz-footer :focus-visible,.fz-main > .navigation :focus-visible,.fz-prose :focus-visible:where(:not(.elementor):not(.elementor *)),.fz-search :focus-visible,.fz-comments :focus-visible,.fz-card :focus-visible{outline:3px solid var(--fz-accent);outline-offset:4px}
.fz-skip{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.fz-skip:focus{width:auto;height:auto;clip-path:none;inset-block-start:1rem;inset-inline-start:1rem;padding:1rem;background:white;color:var(--fz-ink);z-index:100000}
@media(min-width:48rem){.fz-post-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fz-nav .sub-menu{position:absolute;inset-block-start:100%;inset-inline-start:0;min-width:13rem;padding:.7rem 1rem;background:var(--fz-paper);border:1px solid var(--fz-line);border-radius:.4rem;box-shadow:0 12px 30px #203e3b12;z-index:100;visibility:hidden}.fz-nav li:hover > .sub-menu,.fz-nav li:focus-within > .sub-menu{visibility:visible}.fz-nav .sub-menu .sub-menu{inset-block-start:0;inset-inline-start:100%}}
@media(max-width:47.99rem){.fz-container{width:calc(100% - 2rem)}.fz-header-inner{gap:1rem}.fz-nav{width:100%}.fz-nav > ul{display:block}.fz-nav a{padding-block:.65rem}.fz-header.fz-nav-ready .fz-menu-toggle{display:block}.fz-header.fz-nav-ready .fz-nav:not(.is-open){display:none}.fz-title{font-size:1.4rem}.fz-card{padding:1.2rem}}
@media(prefers-reduced-motion:no-preference){.fz-nav a,.fz-search button{transition:color .18s,background-color .18s}}
/* Persian headings also work when an existing language plugin switches direction. */
.frezia-theme :is(.fz-title,.fz-archive-header h1,.fz-singular > .entry-header .entry-title,.fz-card h2,.fz-not-found h1):lang(fa){font-family:Tahoma,"Segoe UI",sans-serif;letter-spacing:normal;line-height:1.5}

/* Shared theme shell. Elementor visual rules require explicit document opt-in. */
.fz-header{border-block-start:0;background:#faf8f4}
.fz-header-inner{padding-block:1.25rem;gap:1.25rem 2rem}
.fz-branding{display:flex;align-items:center;gap:1rem;max-width:26rem}
.fz-wordmark{display:flex;align-items:center;gap:.85rem}
.fz-brand-mark{display:grid;place-items:center;flex:none;width:3.4rem;height:3.4rem;background:var(--fz-surface);color:var(--fz-accent);border-radius:50%}
.fz-header .fz-title,.fz-footer .fz-footer-title{font-family:Vazirmatn,Tahoma,sans-serif;font-size:1.45rem;font-weight:600;letter-spacing:0;line-height:1.6}
.fz-header .fz-description,.fz-footer .fz-footer-description{font-family:Vazirmatn,Tahoma,sans-serif;font-size:.85rem;line-height:1.8}
.fz-nav,.fz-footer nav{font-family:Vazirmatn,Tahoma,sans-serif;font-size:.95rem}
.fz-nav > ul{align-items:center;gap:.5rem 1.7rem}
.fz-nav a{padding-block:.65rem}
.fz-nav .fz-nav-contact > a{padding:.65rem 1.3rem;border:1px solid var(--fz-accent);border-radius:.65rem;color:#fff;background:var(--fz-accent);text-decoration:none}
.fz-nav .fz-nav-contact > a:hover,.fz-nav .fz-nav-contact.current-menu-item > a{background:var(--fz-ink);color:#fff}
.fz-menu-toggle{align-items:center;gap:.65rem;border:1px solid var(--fz-line);border-radius:.6rem;background:transparent;color:var(--fz-ink);font-size:.9rem;padding:.55rem .8rem}
.fz-menu-toggle:hover,.fz-menu-toggle[aria-expanded="true"]{background:var(--fz-ink);color:#fff;border-color:var(--fz-ink)}
.fz-menu-lines{display:block;position:relative;width:1.1rem;height:.7rem;border-block:1.5px solid currentColor}
.fz-menu-lines::after{content:"";position:absolute;inset-inline:0;inset-block-start:calc(50% - .75px);border-block-start:1.5px solid currentColor}
.fz-footer{margin-block-start:0;padding-block:3.5rem 1.5rem;background:#eaf2f4}
.fz-footer-inner{align-items:start;padding-block-end:2.5rem}
.fz-footer .fz-footer-title{margin:0;color:var(--fz-ink);font-size:1.55rem}
.fz-footer .fz-footer-description{margin-block-start:.4rem}
.fz-footer-bottom{border-block-start:1px solid var(--fz-line);padding-block-start:1.25rem}
.fz-footer-bottom p{font-family:Vazirmatn,Tahoma,sans-serif;font-size:.8rem}
.frezia-theme :is(.fz-title,.fz-archive-header h1,.fz-singular > .entry-header .entry-title,.fz-card h2,.fz-not-found h1):lang(fa){font-family:Vazirmatn,Tahoma,sans-serif}
@media(max-width:47.99rem){.fz-header-inner{padding-block:1rem}.fz-header .fz-title{font-size:1.15rem}.fz-brand-mark{width:2.75rem;height:2.75rem}.fz-brand-mark svg{width:30px;height:30px}.fz-branding{max-width:calc(100% - 6rem)}.fz-header.fz-nav-ready .fz-menu-toggle{display:flex}.fz-nav .fz-nav-contact > a{display:inline-block;margin-block-start:.5rem}.fz-nav > ul{padding-block:.5rem}.fz-footer-inner{display:grid;gap:1.5rem}.fz-footer nav > ul{gap:.3rem 1.25rem}.fz-footer{padding-block:2.5rem 1.25rem}}

/* Frezia 1.2: shared blue/ivory design system, independent of Elementor widgets. */
.fz-header{background:#faf8f4;border-bottom:1px solid var(--fz-line);position:relative;z-index:50}
.fz-header-inner{padding-block:20px;min-height:60px}
.fz-brand-mark{width:48px;height:58px;border-radius:24px 24px 5px 5px;background:transparent;border:1px solid #9ab0ba;color:#244a5b}
.fz-header .fz-title{font-size:22px;letter-spacing:0;font-weight:600}
.fz-header .fz-description{color:#496b7c;font-size:12px;margin-top:1px}
.fz-nav{font-size:14px}.fz-nav>ul{gap:8px 24px}
.fz-nav .fz-nav-contact>a{padding:12px 22px;border-radius:7px}
.fz-services-toggle{display:flex;align-items:center;gap:8px;padding:10px 0;border:0;background:transparent;font:inherit;color:var(--fz-ink);cursor:pointer}
.fz-nav .sub-menu{min-width:210px;max-width:270px;border-radius:10px;box-shadow:0 18px 45px #244a5b16;background:#fff;padding:10px 18px}
.fz-nav .sub-menu a{font-size:14px;line-height:1.8;padding:9px 0}
.fz-nav .fz-submenu-open>.sub-menu{visibility:visible}
.fz-nav li:has(>.fz-services-toggle):not(.fz-submenu-open)>.sub-menu{visibility:hidden}
.fz-main{padding-block:clamp(40px,6vw,80px)}
.fz-kicker{font:500 12px/1.8 Vazirmatn,system-ui,sans-serif;color:#496b7c;letter-spacing:.08em;margin:0 0 18px}
.fz-archive-header{max-width:none;background:var(--fz-surface) url(assets/stillwater-lines.svg) no-repeat left center;background-size:330px;padding:clamp(28px,5vw,60px);border:1px solid var(--fz-line);border-radius:12px;margin-bottom:36px}
.fz-archive-header h1,.fz-singular>.entry-header .entry-title,.fz-not-found h1{font-family:Vazirmatn,Tahoma,sans-serif;font-weight:500;font-size:clamp(30px,4vw,48px);line-height:1.5;letter-spacing:-.015em}
.fz-archive-header .fz-search{max-width:560px;margin-bottom:0}
.fz-search label>span{font-size:13px}.fz-search input{background:#fff;border-color:#afc1ca;border-radius:7px}
.fz-search button{border-radius:7px;min-height:50px}
.fz-post-list{gap:24px}.fz-card{border-radius:12px;padding:30px;background:white;display:flex;flex-direction:column;align-items:flex-start}
.fz-card h2{font-size:25px;font-weight:500;line-height:1.6;font-family:Vazirmatn,Tahoma,sans-serif}
.fz-card .fz-thumbnail{align-self:stretch;margin:0 0 18px}.fz-card p{font-size:16px;line-height:1.95}
.fz-read-more{margin-top:auto;display:inline-flex;align-items:center;gap:25px;color:var(--fz-accent);font-size:14px;text-underline-offset:5px}
.fz-prose{font-size:18px;line-height:2}.fz-prose p:where(:not(.elementor):not(.elementor *)){margin-block:0 1.5em}
.fz-prose h2:where(:not(.elementor):not(.elementor *)),.fz-prose h3:where(:not(.elementor):not(.elementor *)){font-weight:600;line-height:1.6;margin-block:2.2em .75em}
.fz-singular>.entry-header{border-bottom:1px solid var(--fz-line);padding-bottom:30px;margin-bottom:40px}
.fz-elementor>.entry-header{border:0}.fz-thumbnail img{border-radius:12px}.fz-meta{font-size:13px;color:#496b7c}
.fz-comments{background:white;border:1px solid var(--fz-line);padding:30px;border-radius:12px;box-sizing:border-box}
.fz-comments .comment-list{padding-inline-start:18px}.fz-comments .comment-body{padding-bottom:20px;border-bottom:1px solid var(--fz-line)}
.fz-comments .comment-reply-title{font-size:24px;font-weight:500}.fz-comments input,.fz-comments textarea{border-radius:7px}
.fz-main>.navigation .current{background:var(--fz-accent)}
.fz-not-found{padding:clamp(25px,6vw,65px);background:var(--fz-surface) url(assets/stillwater-lines.svg) no-repeat left center;background-size:300px;border:1px solid var(--fz-line);border-radius:12px}
.fz-next-step{margin:0;background:#eaf2f4;border-top:1px solid var(--fz-line);padding:50px 0}
.fz-next-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.fz-next-step h2{font:500 clamp(24px,3vw,34px)/1.6 Vazirmatn,Tahoma,sans-serif;margin:0}.fz-next-step .fz-kicker{margin-bottom:10px}
.fz-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;flex-shrink:0;padding:15px 26px;background:var(--fz-accent);border-radius:7px;color:#fff;text-decoration:none;font:500 16px/1.7 Vazirmatn,Tahoma,sans-serif}.fz-button:hover{background:#1c3440;color:#fff}
.fz-next-step :focus-visible{outline:3px solid var(--fz-accent);outline-offset:5px}
.fz-footer{background:#1c3440;color:#f7fafb;padding-block:60px 22px}
.fz-footer-inner{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:60px;align-items:start;padding-bottom:44px}
.fz-footer .fz-footer-title{color:#fff;font-size:25px}.fz-footer p,.fz-footer .fz-footer-description{color:#bbced6}.fz-footer .fz-footer-description{font-size:14px;margin-top:8px}
.fz-footer .fz-footer-label{color:#f7fafb;font-size:15px;font-weight:500;margin:0 0 14px}
.fz-footer-services ul{list-style:none;margin:0;padding:0}.fz-footer-services a,.fz-footer nav a,.fz-footer-bottom a{color:#cfdee4;text-decoration:none;font-size:14px;line-height:1.8}
.fz-footer-services li{margin-bottom:11px}.fz-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#fff}.fz-footer nav>ul{display:block}.fz-footer nav a{padding:0 0 13px}
.fz-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-color:#ffffff25;padding-top:22px}.fz-footer-bottom p{font-size:12px;color:#afc3cd}.fz-footer-bottom a{font-size:12px}.fz-footer :focus-visible{outline-color:#bbced6}
@media(max-width:1024px){.fz-header-inner{gap:20px}.fz-nav>ul{gap:8px 16px}.fz-nav{font-size:13px}.fz-header .fz-title{font-size:20px}.fz-footer-inner{gap:35px}}
@media(max-width:47.99rem){.fz-header-inner{padding-block:14px}.fz-header .fz-title{font-size:18px}.fz-header .fz-description{font-size:11px}.fz-brand-mark{width:38px;height:47px}.fz-nav>ul{padding:12px 0}.fz-nav .sub-menu{max-width:none;display:none;box-shadow:none;border:0;border-inline-start:1px solid var(--fz-line);border-radius:0;background:transparent;margin:4px 0 12px}.fz-nav .fz-submenu-open>.sub-menu{display:block}.fz-services-toggle{width:100%;justify-content:space-between}.fz-nav .fz-nav-contact>a{display:block;text-align:center}.fz-next-inner{display:block}.fz-next-step{padding:34px 0}.fz-next-step .fz-button{margin-top:24px;display:flex}.fz-footer{padding-top:40px}.fz-footer-inner{grid-template-columns:1fr 1fr;gap:30px}.fz-footer-brand{grid-column:1/-1}.fz-footer-bottom{align-items:start}.fz-card{padding:24px}.fz-card h2{font-size:23px}.fz-comments{padding:22px}.fz-prose{font-size:17px}.fz-archive-header{padding:28px 22px}.fz-search button{flex-grow:1}}

.fz-nav .fz-has-linked-toggle>a{padding-inline-end:30px}
.fz-header:not(.fz-nav-ready) .fz-nav li>.sub-menu{display:block;visibility:visible;position:static}
.fz-nav .fz-has-linked-toggle>.fz-services-toggle{position:absolute;inset-inline-end:0;inset-block-start:2px;width:28px;min-height:38px;justify-content:center}
/* Existing article content: contain reading width and keep legacy fixed CTAs out of the text. */
.single-post .fz-singular .entry-content{box-sizing:border-box;max-inline-size:820px;margin-inline:auto;padding-inline:20px}
.single-post .fz-singular .entry-content :where(p,ul,ol,blockquote,figure,img,.wp-block-group,.wp-block-columns){max-inline-size:100%;box-sizing:border-box}
.single-post .fz-singular .entry-content .elementor-widget-button.elementor-fixed{position:static!important;inset:auto!important;transform:none!important;inline-size:auto!important;max-inline-size:100%;margin-block:28px 12px}
@media(max-width:47.99rem){.fz-nav .fz-has-linked-toggle>.fz-services-toggle{width:40px;min-height:44px;inset-block-start:0}.fz-nav .fz-has-linked-toggle>a{padding-inline-end:45px}}
