/*
Theme Name: Sawaedalholool
Description: Bilingual corporate theme for Sawed Al Halool
Version: 2.1.2
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
Author: Sawed Al Halool
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sawaedalholool
Domain Path: /languages
Tags: block-patterns, block-styles, editor-style, custom-logo, custom-menu, featured-images, translation-ready, rtl-language-support, blog
*/
:root{--brand:oklch(.42 .15 260);--deep:oklch(.32 .12 260);--soft:oklch(.97 .012 255);--ink:oklch(.285 .02 260);--paper:oklch(1 0 0);--muted:oklch(.55 .025 260);--accent:oklch(.80 .14 75);--line:oklch(.9 .01 255);--overlay:oklch(.285 .02 260/.65);--shadow:0 10px 32px oklch(.285 .02 260/.10);--display:Manrope,'IBM Plex Sans Arabic',sans-serif;--body:Inter,'IBM Plex Sans Arabic',sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.75 var(--body)}h1,h2,h3,h4{font-family:var(--display);line-height:1.2;margin:0 0 18px;letter-spacing:0}h1{font-size:56px}h2{font-size:44px;color:var(--brand)}h3{font-size:21px}p{margin:0 0 20px}a{color:inherit;text-decoration:none}a:hover{color:var(--brand)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.container{width:min(1280px,calc(100% - 48px));margin-inline:auto}.section{padding:88px 0}.soft{background:var(--soft)}.dark{background:var(--deep);color:var(--paper)}.dark h2{color:var(--paper)}.grid{display:grid;gap:24px}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}.eyebrow{color:var(--brand);font-size:14px;font-weight:700;display:block;margin-bottom:16px}.eyebrow:before{content:'◆';color:var(--accent);margin-inline-end:10px}.dark .eyebrow{color:var(--accent)}.lead{font-size:18px;color:var(--muted);max-width:750px}.dark .lead,.page-hero .lead{color:var(--paper)}.heading{margin-bottom:36px;max-width:780px}.center{text-align:center;margin-inline:auto}.card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper);color:var(--ink)}.card-body{padding:28px}.card:hover{box-shadow:var(--shadow)}.card p{color:var(--muted);font-size:14px}.card-image{aspect-ratio:4/3;object-fit:cover;width:100%}.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);color:var(--paper);padding:12px 24px;border:0;border-radius:6px;font-size:14px;font-weight:700;line-height:1.5}.button:hover{background:var(--deep);color:var(--paper)}.button.accent{background:var(--accent);color:var(--ink);border-radius:32px}.button.outline{background:transparent;border:1px solid currentColor;color:inherit;border-radius:32px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.admin-bar .site-header{top:32px}.header-inner{min-height:80px;display:flex;align-items:center;gap:18px;justify-content:space-between}.logo{width:180px;flex-shrink:0}.logo img{width:100%;height:56px;object-fit:contain}.nav ul{display:flex;gap:2px;list-style:none;padding:0;margin:0}.nav a{font-size:13px;font-weight:600;padding:10px;display:block;color:var(--muted);border-radius:5px}.nav a:hover,.nav .current-menu-item a{background:var(--brand);color:var(--paper)}.languages{display:flex;background:var(--soft);padding:4px;border-radius:6px;font-size:12px;font-weight:700}.languages a{padding:5px 9px;border-radius:4px}.languages .active{background:var(--accent);color:var(--ink)}.menu-toggle{display:none;background:var(--soft);border:0;border-radius:4px;padding:8px 12px}.hero{position:relative;min-height:calc(100vh - 80px);color:var(--paper);overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:var(--overlay)}.hero .container{position:relative;z-index:1;min-height:inherit;display:flex;align-items:flex-end;padding-block:100px}.hero-copy{max-width:600px;padding:20px}.hero h1{font-size:36px;font-weight:800;max-width:520px}.hero p{max-width:565px;font-size:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:28px 0;gap:20px}.stat{text-align:center}.stat strong{display:block;color:var(--brand);font-size:32px;font-family:var(--display)}.stat span{font-size:12px;color:var(--muted)}.page-hero{background:var(--brand);color:var(--paper);padding:80px 0;border-inline-start:6px solid var(--accent)}.page-hero h1{max-width:950px}.page-hero p{max-width:760px}.service-showcase{display:grid;grid-template-columns:1fr 1.7fr;gap:32px}.tab{display:block;text-align:start;padding:20px;width:100%;border:1px solid var(--line);background:var(--paper);font-weight:700;border-radius:6px;margin-bottom:10px;color:var(--ink)}.tab[aria-selected=true]{background:var(--brand);color:var(--paper)}.service-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:32px}.service-panel[hidden]{display:none}.service-panel .photo{max-height:310px;margin-bottom:24px}.tick-list{list-style:none;padding:0}.tick-list li{margin-bottom:12px}.tick-list li:before{content:'✓';margin-inline-end:12px;color:var(--brand);font-weight:800}.dark .tick-list li:before{color:var(--accent)}.icon{color:var(--brand);font-size:28px;display:block;margin-bottom:20px}.cta{background:var(--brand);color:var(--paper);padding:56px 0}.cta h2{color:var(--paper);font-size:34px}.cta .container{display:flex;justify-content:space-between;gap:32px;align-items:center}.site-footer{background:var(--deep);color:var(--paper);border-top:4px solid var(--accent);padding-top:64px}.site-footer .logo{background:var(--paper);padding:12px;border-radius:6px;width:215px}.site-footer p{font-size:14px;margin-top:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:12px;font-size:14px}.site-footer a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding:24px 0;margin-top:50px;font-size:12px;display:flex;justify-content:space-between}.floating{position:fixed;inset-inline-end:24px;bottom:24px;z-index:40;display:grid;gap:10px}.floating a{width:48px;height:48px;border-radius:50%;background:var(--brand);color:var(--paper);display:grid;place-items:center;box-shadow:var(--shadow)}.floating .wa{background:var(--accent);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:600}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);margin-top:8px}textarea{min-height:120px}.wide{grid-column:1/-1}.form-shell{border:1px solid var(--line);border-radius:8px;padding:32px;background:var(--paper)}.steps{display:flex;gap:15px;margin-bottom:30px;list-style:none;padding:0;font-size:13px}.steps li{border-bottom:3px solid var(--line);padding:12px 0;flex:1}.steps .active{border-color:var(--brand);color:var(--brand);font-weight:700}.form-nav{display:flex;justify-content:space-between;margin-top:24px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{padding:16px;background:var(--soft);border-inline-start:4px solid var(--brand);margin-bottom:24px}.review{white-space:pre-wrap;overflow-wrap:anywhere}.search-form{display:flex;gap:10px;margin-bottom:32px}.search-form input{margin:0}.prose{max-width:850px;margin-inline:auto}.prose p{margin-bottom:24px}.prose img{height:auto}.prose a{color:var(--brand);text-decoration:underline}.prose a.button{color:var(--paper);text-decoration:none}.jobs{display:grid;gap:16px}.job{padding:24px;border:1px solid var(--line);border-radius:6px;display:flex;justify-content:space-between;gap:20px;align-items:center}.branch-map{width:100%;height:300px;border:0;border-radius:6px}.skip-link{position:absolute;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:0}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.quote-dialog{width:min(780px,calc(100% - 24px));padding:32px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper)}.quote-dialog::backdrop{background:var(--overlay)}.dialog-close{float:inline-end;border:0;background:var(--soft);padding:6px 12px}.reveal{animation:appear .6s ease both}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.content-extra{margin-top:36px}.pagination{margin-block:32px}.page-numbers{padding:8px 14px;border:1px solid var(--line);display:inline-block}.current{background:var(--brand);color:var(--paper)}
@media(max-width:1199px){.nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--paper);padding:20px;border-bottom:1px solid var(--line)}.nav.open{display:block}.nav ul{display:grid;grid-template-columns:1fr 1fr}.menu-toggle{display:block}.header-quote{margin-inline-start:auto}.header-inner{gap:12px}.logo{width:155px}.service-showcase{grid-template-columns:1fr 1.5fr}}
@media(max-width:991px){.hero{min-height:0;background:var(--ink)}.hero-image{position:relative;height:50vh}.hero:after{display:none}.hero .container{padding-block:28px}.hero-copy{padding:12px 0}.hero h1{font-size:30px}.split{grid-template-columns:1fr;gap:32px}.cols4{grid-template-columns:repeat(2,1fr)}.cols3{grid-template-columns:repeat(2,1fr)}h1{font-size:44px}h2{font-size:36px}.section{padding:64px 0}.service-showcase{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tab{margin:0;font-size:13px;padding:12px}.page-hero{padding:56px 0}.hero .button{font-size:12px}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.header-quote{display:none}.logo{width:138px}.header-inner{min-height:72px}.languages{margin-inline-start:auto}.cols2,.cols3,.cols4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}h1{font-size:34px}h2{font-size:30px}.hero h1{font-size:26px}.hero p{font-size:14px}.page-hero{padding:44px 0}.lead{font-size:16px}.form-grid{grid-template-columns:1fr}.form-shell,.quote-dialog{padding:22px}.service-panel{padding:22px}.cta .container,.job,.footer-bottom{flex-direction:column;align-items:start}.cta h2{font-size:28px}.nav ul{grid-template-columns:1fr}.steps{font-size:11px}.floating{inset-inline-end:14px;bottom:14px}.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}

fieldset{border:0;margin:0;padding:0;min-width:0}.nav a{white-space:nowrap}.header-quote{white-space:nowrap;flex-shrink:0}.hero{min-height:calc(100svh - 80px)}.hero .container{min-height:inherit}.mobile-services{display:none}
@media(max-width:991px){.hero{min-height:0}.service-showcase{display:none}.mobile-services{display:grid;gap:12px}.mobile-services details{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:18px}.mobile-services summary{cursor:pointer;font-weight:700;color:var(--brand)}.mobile-services details div{margin-top:20px}}
/* ---- v2: native block content ---- */
.entry-content.designed>*,.designed .wp-block-group{margin-block:0}
.designed :where(.is-layout-flow)>*{margin-block-start:0}
.designed .heading>*+*,.designed .card-body>*+*,.designed .split>div>*+*,.designed .center>*+*,.designed .hero-copy>*+*{margin-block-start:14px}
.wp-block-image{margin:0}
.wp-block-image.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block}
.wp-block-image.hero-image{position:absolute;inset:0;width:100%;height:100%}
.wp-block-image.hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.footer-logo img{max-height:64px;width:auto}
.wp-block-buttons.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);color:var(--paper);padding:12px 24px;border:0;border-radius:6px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none}
.wp-block-button__link:hover{background:var(--deep);color:var(--paper)}
.wp-block-button.is-style-accent .wp-block-button__link{background:var(--accent);color:var(--ink);border-radius:32px}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:1px solid currentColor;color:inherit;border-radius:32px}
.stat .stat-value{color:var(--brand);font-size:32px;font-family:var(--display);font-weight:800;margin:0}
.stat .stat-label{font-size:12px;color:var(--muted);margin:0}
.dark .wp-block-list li,.dark p{color:inherit}
.is-style-soft{background:var(--soft)}
.is-style-dark{background:var(--ink);color:var(--paper)}
.quote-dialog h2{margin-bottom:16px}
.form-shell .wpforms-container{margin:0}
.form-shell .wpforms-field input,.form-shell .wpforms-field select,.form-shell .wpforms-field textarea,.quote-dialog .wpforms-field input,.quote-dialog .wpforms-field select,.quote-dialog .wpforms-field textarea{border-radius:6px}
.wpforms-submit{background:var(--brand)!important;border-radius:32px!important}
@media(max-width:991px){.wp-block-image.hero-image{position:relative;height:50vh}}
.split:has(.form-shell){align-items:start}

/* Original desktop navigation proportions; mobile retains its existing menu. */
@media(min-width:1200px){
 .header-inner{gap:12px}
 .nav a{font-size:14px;padding:10px 12px;line-height:1.35}
 .nav .menu-item-about a,.nav .menu-item-services a{white-space:normal;width:100px}
 .header-quote{white-space:normal;text-align:start;width:210px;padding:10px 16px;line-height:1.35}
 .hero .container{padding-block:80px}
 .hero-copy p{max-width:565px}
 .admin-bar .hero{min-height:calc(100svh - 112px)}
}

.footer-bottom .footer-widget{display:contents}.footer-bottom .footer-widget>*{margin:0}

/* 2.0.4 service title with icon */
.service-title-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}.service-title-row h1,.service-title-row h2{margin:0}.service-icon{flex-shrink:0;display:grid;place-items:center;width:66px;height:66px;border-radius:8px;background:var(--paper);color:var(--brand);font-size:32px;line-height:1}.service-icon p,.service-icon-glyph{margin:0;font-size:32px;line-height:1;color:var(--brand)}.service-hero{border-inline-start:6px solid var(--accent)}
@media(max-width:600px){.service-icon{width:52px;height:52px;font-size:26px}.service-title-row{gap:12px}}
.page-hero .eyebrow,.editor-styles-wrapper .page-hero .eyebrow{color:var(--paper)}.page-hero .eyebrow:before{color:var(--accent)}.page-hero .lead,.editor-styles-wrapper .page-hero .lead,.editor-styles-wrapper .page-hero h1{color:var(--paper)}.service-icon img,.service-icon .service-icon-img{width:40px;height:40px;object-fit:contain;display:block}.service-icon figure,.service-icon p{margin:0}

/* 2.0.7: Careers cards and centered Careers/Franchise bottom sections. */
.jobs .job{background:var(--paper);padding:28px;border-radius:8px;min-height:124px}
.jobs .job>div:first-child{min-width:0}.jobs .job h3{color:var(--ink);margin:0 0 12px;overflow-wrap:anywhere}
.jobs .job .actions{margin:0;flex-shrink:0}.jobs .job .wp-block-button__link{border-radius:32px;padding:14px 28px;white-space:normal;text-align:center}
.careers-openings h2{color:var(--ink);margin-bottom:40px}
.jobs .job-meta{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.jobs .job-meta p{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:16px}
.job-type:before,.job-location:before{content:"";display:inline-block;width:18px;height:18px;flex-shrink:0;background:var(--accent);mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.job-type:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='14' rx='2'/%3E%3Cpath d='M8 7V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3M8 7v14M16 7v14'/%3E%3C/g%3E%3C/svg%3E")}
.job-location:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.cta.cta-centered{padding:88px 0;text-align:center;color:var(--paper)}
.cta.cta-centered .container{display:flex;flex-direction:column;align-items:center;gap:0}
.cta.cta-centered h2{color:var(--paper);font-size:44px;margin:0 0 28px;max-width:960px;overflow-wrap:anywhere}
.cta.cta-centered p{color:var(--paper);font-size:22px;line-height:1.5;max-width:850px;margin:0}
.cta.cta-centered .actions{justify-content:center;margin-top:36px}
.cta.cta-centered .wp-block-button__link{padding:20px 40px;font-size:18px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.jobs .job{padding:22px;gap:20px;align-items:stretch}.jobs .job .actions{align-self:flex-start}.jobs .job-meta{gap:8px 16px}.jobs .job-meta p{font-size:14px}.careers-openings h2{margin-bottom:28px}.cta.cta-centered{padding:64px 0}.cta.cta-centered h2{font-size:30px;margin-bottom:24px}.cta.cta-centered p{font-size:18px}.cta.cta-centered .wp-block-button__link{font-size:16px;padding:16px 28px}}
/* 2.0.8: style older Careers/Franchise bottom sections even if the setup action was not applied. */
.cta.cta-centered,.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)){background:var(--brand);color:var(--paper);padding:88px 0;text-align:center}
.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) .container{display:flex;flex-direction:column;align-items:center}
.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) h2{color:var(--paper);font-size:44px;margin:0 0 28px;max-width:960px}
.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) p{color:var(--paper);font-size:22px;line-height:1.5;max-width:850px;margin:0}
.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) .wp-block-buttons{justify-content:center;margin-top:36px}
.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) .wp-block-button__link{padding:20px 40px;font-size:18px}
@media(max-width:600px){.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)){padding:64px 0}.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) h2{font-size:30px}.wp-block-group.section:has(> .container.center):not(:has(~ .wp-block-group.section)) p{font-size:18px}}

/* 2.0.9 floating contact buttons */
.floating{gap:16px}.floating a{width:64px;height:64px;box-shadow:0 10px 30px rgba(18,71,157,.18);transition:transform .2s}.floating a:hover{transform:translateY(-2px)}.floating a.wa{background:var(--accent);color:var(--ink)}.floating a:not(.wa){background:var(--brand);color:var(--paper)}.floating svg{width:28px;height:28px}
@media(max-width:600px){.floating a{width:54px;height:54px}.floating svg{width:24px;height:24px}}

/* 2.0.10: Featured photos in service panels and sector cards. */
.service-showcase .service-photo{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:600/335;object-fit:cover;border-radius:8px;margin-bottom:24px;max-height:none}
.sector-cards .card-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.service-showcase>*{min-width:0}.sector-cards .card-body{overflow-wrap:anywhere}
@media(max-width:991px){.service-showcase{display:block}.service-showcase>.service-tabs,.service-showcase>.service-panels{display:none}.service-showcase>.mobile-services{display:grid}.mobile-services .service-photo{margin-bottom:20px}}

/* 2.0.11: Service photos capped at 600x335 on the homepage tabs. */
@media(min-width:992px){.service-showcase .service-photo{width:600px}}

/* 2.1.1: One sector photo treatment for LTR/RTL and native/legacy cards.
   Normalize presentation only; never move or rewrite saved blocks.
   Recognize the photo above card-body or first inside it, not later icon images. */
.sector-cards .card:has(> .wp-block-image,> img.card-image,> .card-body > .wp-block-image:first-child){padding:0!important;min-width:0}
.sector-cards .card > .card-body{padding:28px!important;min-width:0}
.sector-cards .card > .wp-block-image,
.sector-cards .card > .card-body > .wp-block-image:first-child{display:block;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:auto;padding:0!important;margin:0!important;border-radius:0!important;float:none}
.sector-cards .card > .card-body > .wp-block-image:first-child{width:calc(100% + 56px)!important;margin:-28px -28px 28px!important}
.sector-cards .card > .wp-block-image > a,
.sector-cards .card > .card-body > .wp-block-image:first-child > a{display:block;width:100%}
.sector-cards .card > img.card-image,
.sector-cards .card > .wp-block-image img,
.sector-cards .card > .card-body > .wp-block-image:first-child img{display:block;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover;border-radius:0!important}
