/* 80's barber & shop — styles */
/* Palette pulled from the shop interior: plaster walls, walnut slats, matte-black chairs, teal wall, planters */
:root{
  --bg:#f5f1ea; --bg-2:#ece5d9; --card:#fffdf9; --line:#ddd3c4;
  --ink:#171514; --muted:#6f675e; --on-dark:#f5f1ea;
  --wood:#8b5a35; --wood-2:#b27d52; --teal:#1f4847; --teal-2:#2b5e5c; --leaf:#55703a;
  --radius:16px; --max:1140px;
  --font:"Inter",system-ui,sans-serif; --display:"Jost","Inter",sans-serif;
}
[dir="rtl"]{ --font:"IBM Plex Sans Arabic",system-ui,sans-serif; }
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap;cursor:pointer;border:0;font-family:inherit}
.btn-primary{background:var(--ink);color:var(--on-dark)}
.btn-primary:hover{background:var(--teal);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--on-dark)}
.grad{color:var(--wood)}

/* stripe = walnut slat wall */
.stripe{height:10px;background:repeating-linear-gradient(90deg,var(--wood) 0 14px,#6e4527 14px 18px,var(--wood-2) 18px 30px,#6e4527 30px 34px)}

/* halo ring = the ring pendant lights */
.ring{position:absolute;border-radius:50%;border:3px solid #fff;box-shadow:0 0 18px 2px rgba(255,255,255,.85),inset 0 0 12px rgba(255,255,255,.6);pointer-events:none}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(245,241,234,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:3px;text-transform:uppercase;line-height:1}
.logo b{font-weight:700;color:var(--wood);letter-spacing:1px}
.nav ul{display:flex;gap:28px;list-style:none;font-size:14px;color:var(--muted)}
.nav ul a:hover{color:var(--ink)}
.nav-actions{display:flex;gap:10px;align-items:center}
.lang{background:transparent;border:1.5px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;cursor:pointer;font-family:"IBM Plex Sans Arabic","Inter",sans-serif}
.lang:hover{border-color:var(--ink)}
.nav .btn{padding:10px 20px;font-size:14px}
@media (max-width:820px){ .nav ul{display:none} .nav .btn{display:none} }

/* hero */
.hero{padding:64px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--teal);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--teal)}
h1{font-family:var(--display);font-weight:500;font-size:clamp(46px,6.4vw,82px);line-height:1;letter-spacing:-.5px;text-transform:uppercase}
[dir="rtl"] h1.ar-title{font-family:var(--font);font-weight:700;font-size:clamp(40px,5.6vw,70px);line-height:1.2;letter-spacing:0;text-transform:none}
.hero p.lead{font-size:18px;color:var(--muted);max-width:500px;margin:22px 0 32px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.rating{display:flex;align-items:center;gap:14px;margin-top:32px;font-size:14px;color:var(--muted)}
.stars{color:var(--wood);letter-spacing:2px;font-size:16px}
.rating strong{color:var(--ink);font-size:26px;font-family:"Inter",sans-serif}
.hero-photo{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 30px 60px -30px rgba(40,25,10,.45)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo .ring{width:110px;height:110px;top:-40px;inset-inline-end:40px}
@media (max-width:900px){ .hero .wrap{grid-template-columns:1fr;gap:36px} .hero{padding:36px 0 56px} .hero-photo{order:-1;aspect-ratio:16/11} }

/* facts strip */
.hero .wrap.below{display:block;margin-top:48px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.facts .f{padding:20px 22px;border-inline-start:1px solid var(--line)}
.facts .f:first-child{border-inline-start:0}
.facts .f span{display:block}
.facts .f span:first-child{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.facts .f span:last-child{font-weight:600;font-size:16px;margin-top:2px}
@media (max-width:820px){ .facts{grid-template-columns:1fr 1fr} .facts .f:nth-child(3){border-inline-start:0} .facts .f:nth-child(n+3){border-top:1px solid var(--line)} }
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tag{font-size:12.5px;padding:6px 14px;border-radius:999px;background:var(--bg-2);color:var(--ink)}
.tag.leaf{background:rgba(85,112,58,.14);color:var(--leaf);font-weight:600}
.fact{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.fact:last-child{border:0}
.fact span:first-child{color:var(--muted)}
.fact span:last-child{font-weight:600;text-align:end}

/* sections */
section{padding:90px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,5vw,56px);line-height:1;text-transform:uppercase;letter-spacing:-.3px}
[dir="rtl"] .sec-head h2{font-family:var(--font);font-weight:700;font-size:clamp(30px,4.2vw,44px);line-height:1.2;letter-spacing:0;text-transform:none}
.sec-head p{color:var(--muted);max-width:420px}
.kicker{font-size:13px;font-weight:600;color:var(--wood);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}

/* packages */
.pkgs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pkg{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
.pkg:hover{border-color:var(--wood-2);transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(60,35,15,.35)}
.pkg.featured{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.pkg.featured .dur,.pkg.featured .price small{color:#b9b0a5}
.pkg.featured .btn-primary{background:var(--on-dark);color:var(--ink)}
.pkg.featured .btn-primary:hover{background:var(--wood-2);color:#fff}
.pkg .badge{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:var(--wood);color:#fff;padding:4px 10px;border-radius:999px;margin-bottom:14px}
.pkg h3{font-size:20px;font-weight:700;margin-bottom:4px}
.pkg .dur{font-size:13px;color:var(--muted)}
.pkg .price{font-family:"Inter",sans-serif;font-size:40px;font-weight:600;margin:20px 0 22px;line-height:1}
.pkg .price small{font-size:14px;font-weight:600;color:var(--muted);margin-inline-start:4px}
.pkg .btn{margin-top:auto;justify-content:center;padding:12px}
@media (max-width:980px){ .pkgs{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .pkgs{grid-template-columns:1fr} }

/* menu */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:64px}
.menu h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--teal);margin-bottom:10px;font-weight:700}
.row{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.row .n{font-weight:600}
.row .d{font-size:13px;color:var(--muted);white-space:nowrap}
.row .dots{flex:1;border-bottom:1px dotted #c8bca9;transform:translateY(-4px);min-width:20px}
.row .p{font-family:"Inter",sans-serif;font-weight:600;white-space:nowrap}
.cats{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;align-items:center}
.cats .label{color:var(--muted);font-size:14px;margin-inline-end:6px}
@media (max-width:820px){ .menu{grid-template-columns:1fr;gap:28px} }

/* space (full-bleed photo) */
.space{position:relative;padding:0;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.space img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.space::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,14,10,0) 35%,rgba(18,14,10,.78))}
.space .wrap{position:relative;z-index:1;padding-bottom:56px;width:100%}
.space .kicker{color:#e3c7a6}
.space h2{font-family:var(--display);font-weight:500;font-size:clamp(34px,5vw,58px);line-height:1.05;text-transform:uppercase;max-width:760px}
[dir="rtl"] .space h2{font-family:var(--font);font-weight:700;text-transform:none;line-height:1.3}
@media (max-width:640px){ .space{min-height:420px} }

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.barber{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:14px}
.avatar{width:54px;height:54px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--display);font-size:22px;font-weight:500;color:var(--on-dark);background:var(--ink);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--wood-2)}
/* To use real photos: replace the .avatar div with <img class="avatar" src="img/ahmed.jpg" alt="Ahmed" style="object-fit:cover"> */
.barber .nm{font-weight:700}
.barber .rt{font-size:13px;color:var(--muted)}
.barber .rt b{color:var(--wood);font-family:"Inter",sans-serif}
@media (max-width:980px){ .team{grid-template-columns:repeat(2,1fr)} }
@media (max-width:460px){ .team{grid-template-columns:1fr} }

/* reviews */
.reviews-bg{background:var(--bg-2)}
.score{display:flex;align-items:center;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.score .big{font-family:"Inter",sans-serif;font-size:88px;font-weight:600;line-height:1;color:var(--ink)}
.score .meta{color:var(--muted);max-width:520px}
.score .meta .stars{display:block;font-size:22px}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rev{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.rev q{display:block;font-size:16px;margin:10px 0 16px;quotes:none}
.rev .who{font-size:13px;color:var(--muted)}
.rev .who b{color:var(--ink);font-weight:600}
@media (max-width:900px){ .revs{grid-template-columns:1fr} }

/* visit */
.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.panel h3{font-size:22px;margin-bottom:6px}
.panel p{color:var(--muted);margin-bottom:20px}
.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:340px;background:var(--bg-2)}
.map iframe{width:100%;height:100%;min-height:340px;border:0;filter:sepia(.15) saturate(.85)}
@media (max-width:820px){ .visit{grid-template-columns:1fr} }

/* cta band — teal accent wall */
.band{text-align:center;padding:110px 0;position:relative;overflow:hidden;background:var(--teal);color:var(--on-dark)}
.band .ring.r1{width:220px;height:220px;top:-90px;inset-inline-start:8%;opacity:.55}
.band .ring.r2{width:140px;height:140px;bottom:-60px;inset-inline-end:10%;opacity:.4}
.band h2{font-family:var(--display);font-weight:500;font-size:clamp(40px,7vw,84px);line-height:1;margin-bottom:30px;text-transform:uppercase;position:relative}
[dir="rtl"] .band h2{font-family:var(--font);font-weight:700;font-size:clamp(34px,5.5vw,60px);line-height:1.25;text-transform:none}
.band h2 .grad{color:#e3c7a6}
.band .btn-primary{background:var(--on-dark);color:var(--ink);position:relative}
.band .btn-primary:hover{background:#fff}

footer{padding:30px 0 100px;color:var(--muted);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* mobile sticky book bar */
.mbar{display:none;position:fixed;bottom:0;inset-inline:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(245,241,234,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);gap:10px}
.mbar .btn{flex:1;justify-content:center;padding:13px}
@media (max-width:820px){ .mbar{display:flex} }
@media (min-width:821px){ footer{padding-bottom:30px} }
