:root{--bg:#0a0a0a;--surface:#141414;--text:#f5f5f0;--muted:#a39e93;--gold:#c9a227;--gold-dim:#8a7019;--border:#2a2a28;--radius:14px;--font:system-ui,"Segoe UI",Tahoma,sans-serif}
html[data-theme=light]{--bg:#faf8f5;--surface:#fff;--text:#1a1a1a;--muted:#5c574c;--gold:#9a7610;--gold-dim:#c9a227;--border:#e8e4dc}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));transition:background .25s ease,color .25s ease}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40;background:rgba(10,10,10,.85);backdrop-filter:blur(10px)}
html[data-theme=light] .topbar{background:rgba(250,248,245,.9)}
.brand{font-weight:700;letter-spacing:.04em;color:var(--gold);font-size:1.1rem}
.topnav{display:none;gap:14px;flex-wrap:wrap;font-size:.9rem}
@media(min-width:900px){.topnav{display:flex}}
.topnav a{color:var(--text);opacity:.85}
.toolbar{display:flex;align-items:center;gap:8px}
.icon-btn,.lang-switch{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:6px 10px;cursor:pointer;font-size:.85rem}
.main-content{max-width:1100px;margin:0 auto;padding:20px 16px 24px}
.flash{background:rgba(201,162,39,.15);border:1px solid var(--gold-dim);padding:12px 14px;border-radius:var(--radius);margin-bottom:16px}
.hero{background:radial-gradient(120% 80% at 80% 0%,rgba(201,162,39,.18),transparent),linear-gradient(160deg,var(--surface),var(--bg));border:1px solid var(--border);border-radius:22px;padding:36px 24px;margin-bottom:28px}
.hero-inner{max-width:560px}
.hero h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:0 0 12px;line-height:1.2}
.hero-sub{color:var(--muted);margin:0 0 22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:12px;font-weight:600;border:none;cursor:pointer;font-size:.95rem;transition:transform .15s ease,box-shadow .15s ease}
.btn:active{transform:scale(.98)}
.btn-primary{background:linear-gradient(135deg,var(--gold),#e4c76a);color:#111}
.btn-ghost{background:transparent;border:1px solid var(--gold);color:var(--gold)}
.section{margin-bottom:32px}
.section h1,.section h2{margin-top:0}
.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
/* عمودان للخدمات/المنتجات — خصوصاً شاشات الموبايل (يتفوق على .card-grid) */
.card-grid.card-grid--cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2.2vw,14px);align-items:stretch}
@media(min-width:480px){.card-grid.card-grid--cols-2{gap:clamp(10px,2.5vw,16px)}}
@media(min-width:900px){.card-grid.card-grid--cols-2{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}}
.card-grid.card-grid--cols-2 .card{min-width:0;padding:clamp(10px,3vw,14px)}
.card-grid.card-grid--cols-2 .card h3{font-size:clamp(.88rem,3.8vw,1.05rem);line-height:1.2;margin:.3em 0 .25em;word-wrap:break-word}
.card-grid.card-grid--cols-2 .card p{font-size:clamp(.72rem,3.2vw,.82rem);line-height:1.4;margin:.4em 0;word-wrap:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card-grid.card-grid--cols-2 .price,.card-grid.card-grid--cols-2 .price-muted{font-size:clamp(.78rem,3.2vw,.88rem);display:block;margin-top:.35em}
.card-grid.card-grid--cols-2 .product-card img{height:clamp(92px,26vw,130px)}
.card-grid.card-grid--cols-2 .tag{font-size:.65rem;margin-bottom:4px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.price{color:var(--gold);font-weight:700}
.price-muted{color:var(--muted);font-size:.9rem}
.center{text-align:center}
.link{font-weight:600}
.filters{margin-bottom:16px}
.filters select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-inline-start:8px}
.product-card img{width:100%;height:160px;object-fit:cover;border-radius:10px;margin-bottom:10px;background:var(--border)}
.arabi-img{max-width:100%;height:auto;vertical-align:middle}
.arabi-img[class*="card-img"],.service-card-img,.product-card-img{width:100%;object-fit:cover;border-radius:10px;margin-bottom:10px;background:var(--border);aspect-ratio:16/9}
.service-card-img{height:clamp(100px,28vw,160px)}
.card--with-img{overflow:hidden;padding-top:0}
.card--with-img .service-card-img{margin:0 0 10px;border-radius:14px 14px 10px 10px;width:calc(100% + 2px);margin-inline:-1px;margin-top:-1px}
.card--with-img .card-wa-ic{margin-top:2px}
.hero-shot-img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:min(440px,68vw);object-fit:cover;object-position:center}
.text-media-img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.about-strip-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;background:rgba(201,162,39,.15);color:var(--gold);margin-bottom:8px}
.prose p,.prose ul{color:var(--muted)}
.trust-list,.groom-list{padding-inline-start:20px}
.trust-list li,.groom-list li{margin-bottom:8px}
.note-gold{color:var(--gold);font-size:.95rem}
.contact-phone-line{margin:.5rem 0 1rem;font-size:1.05rem}
.contact-phone-line a{color:var(--gold);text-decoration:none}
.contact-phone-line a:hover{text-decoration:underline}
.form{display:grid;gap:14px;max-width:420px}
.form label{display:grid;gap:6px;font-size:.9rem}
.form input,.form select,.form textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}
.booking-form-error{margin:0 0 4px;padding:10px 12px;border-radius:10px;font-size:.88rem;color:#ffb4b4;background:rgba(220,60,60,.12);border:1px solid rgba(220,60,60,.35)}
.wa-big{display:inline-block;margin-bottom:20px}
.team-card .avatar{width:100%;max-width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:2px solid var(--gold)}
.team-card .avatar.placeholder{background:linear-gradient(135deg,var(--border),var(--surface))}
.team-card h3{text-align:center}
.muted{color:var(--muted);font-size:.92rem}
.bottom-nav{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:space-around;align-items:center;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(10,10,10,.92);border-top:1px solid var(--border);backdrop-filter:blur(12px);z-index:50}
html[data-theme=light] .bottom-nav{background:rgba(255,255,255,.94)}
@media(min-width:900px){.bottom-nav{display:none}body{padding-bottom:0}}
.bottom-nav a{flex:1;text-align:center;font-size:.68rem;color:var(--muted);display:flex;flex-direction:column;gap:2px;padding:6px 2px;border-radius:10px;text-decoration:none;transition:color .2s,background .2s}
.bottom-nav a.active{color:var(--gold);background:rgba(201,162,39,.12)}
.bn-ic{font-size:1.15rem;line-height:1}
.footer{text-align:center;padding:24px 16px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border);margin-top:24px}
.footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.footer-links a{color:var(--muted)}

/* ——— أنيميشن عام (مع احترام تقليل الحركة) ——— */
@keyframes arabiFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes arabiShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.reveal{opacity:0;animation:arabiFadeUp .62s cubic-bezier(.22,1,.36,1) forwards}
.reveal-d1{animation-delay:.06s}
.reveal-d2{animation-delay:.12s}
.reveal-d3{animation-delay:.18s}
.reveal-d4{animation-delay:.24s}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-d1,.reveal-d2,.reveal-d3,.reveal-d4{opacity:1;animation:none!important;transform:none!important}}
.topbar,.card,.btn,.bottom-nav a,.home-gallery-cell img{transition:transform .22s ease,box-shadow .22s ease,opacity .25s ease,border-color .2s ease}
.card:active{transform:scale(.985)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,39,.45);padding:6px 14px;border-radius:999px;margin:0 0 14px;background:rgba(201,162,39,.08)}
.hero-badge-ic{animation:pulseIc 2.2s ease-in-out infinite}
@keyframes pulseIc{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}
@media(prefers-reduced-motion:reduce){.hero-badge-ic{animation:none}}
.home-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:center}
@media(max-width:520px){.home-icons{grid-template-columns:repeat(2,minmax(0,1fr))}}
.home-icon-item{background:linear-gradient(180deg,rgba(201,162,39,.1),var(--surface));border:1px solid rgba(201,162,39,.18);border-radius:var(--radius);padding:18px 8px;font-size:.8rem;line-height:1.35;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}
.home-featured{margin-top:8px}
.home-gallery-title{margin:0 0 10px}
.home-gallery-sub{margin:0 0 16px;font-size:.82rem}
.home-gallery-sub code{font-size:.75rem;color:var(--gold)}
.home-gallery-carousel{position:relative;margin-top:4px}
.home-gallery-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:8px;
  padding:4px 4px 14px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
}
.home-gallery-track::-webkit-scrollbar{height:6px}
.home-gallery-track::-webkit-scrollbar-thumb{background:rgba(201,162,39,.35);border-radius:999px}
.home-gallery-slide{
  flex:0 0 min(86vw,400px);
  scroll-snap-align:center;
  scroll-snap-stop:always;
}
@media(min-width:720px){
  .home-gallery-track{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    overflow-x:visible;
    scroll-snap-type:none;
    padding-bottom:6px;
  }
  .home-gallery-slide{flex:none;min-width:0;scroll-snap-align:unset}
}
.home-gallery-cell{margin:0;background:linear-gradient(145deg,var(--surface),var(--border));border-radius:16px;overflow:hidden;border:1px solid var(--border)}
.home-gallery-cell img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;vertical-align:middle}
.card.card--wa{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;border:1px solid var(--border)}
.card.card--wa:hover{border-color:rgba(201,162,39,.55);box-shadow:0 8px 32px rgba(201,162,39,.12),0 0 0 1px rgba(201,162,39,.2)}
.card.card--wa:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.card-wa-ic{position:absolute;top:10px;inset-inline-end:10px;font-size:1.1rem;opacity:.85}
.card-wa-hint{display:block;margin-top:auto;padding-top:10px;font-size:.68rem;line-height:1.35;color:var(--gold);opacity:.9}
.card-grid.card-grid--cols-2 a.card h3{font-size:clamp(.88rem,3.8vw,1.05rem);line-height:1.2;margin:.3em 0 .25em;word-wrap:break-word}
.card-grid.card-grid--cols-2 a.card p{font-size:clamp(.72rem,3.2vw,.82rem);line-height:1.4;margin:.4em 0;word-wrap:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card-grid.card-grid--cols-2 a.card{padding:clamp(10px,3vw,14px);min-width:0}
.card-grid.card-grid--cols-2 a.card .price,.card-grid.card-grid--cols-2 a.card .price-muted{font-size:clamp(.78rem,3.2vw,.88rem);display:block;margin-top:.35em}

/* صفحات تفصيلية + صور */
.page-rich-head .lead{color:var(--muted);font-size:1rem;line-height:1.65;margin:.5rem 0 0}
.hygiene-assets-hint{font-size:.82rem;margin:0 0 22px}
.hygiene-assets-hint code{color:var(--gold);font-size:.78rem}
.text-media-block{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;margin-bottom:28px;padding-bottom:26px;border-bottom:1px solid var(--border)}
@media(min-width:720px){.text-media-block{grid-template-columns:1.05fr .95fr;gap:24px}}
.text-media-block--alt .text-media-copy{order:2}
.text-media-block--alt .text-media-fig{order:1}
.text-media-copy h2{margin:0 0 10px;font-size:1.15rem;color:var(--text)}
.text-media-copy p{margin:0;color:var(--muted);line-height:1.65;font-size:.95rem}
.text-media-fig{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}
.text-media-fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hygiene-page .trust-list,.groom-page .groom-list{margin-top:8px}
.groom-page .page-gallery-carousel{margin-bottom:26px}
.groom-page .page-gallery-carousel .home-gallery-track{
  display:flex;
  grid-template-columns:unset;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:14px;
}
.groom-page .page-gallery-carousel .home-gallery-slide{
  flex:0 0 min(88vw,420px);
  scroll-snap-align:center;
  min-width:0;
}
.groom-detail-block{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--border)}
.groom-detail-block h2{margin:0 0 10px;font-size:1.15rem;color:var(--text)}
.groom-detail-block p{margin:0;color:var(--muted);line-height:1.65;font-size:.95rem}
.groom-page .note-gold{margin-top:20px}
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .58s ease,transform .58s cubic-bezier(.22,1,.36,1)}
.reveal-on-scroll--in{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}
.arabi-sprite-defs{position:absolute;width:0;height:0;overflow:hidden}
.hero--split{margin-bottom:8px}
.hero-layout{display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
@media(min-width:880px){.hero-layout{grid-template-columns:1.05fr .78fr;gap:28px}}
.hero-shot{margin:0;border-radius:20px;overflow:hidden;border:1px solid rgba(201,162,39,.28);background:var(--surface);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.hero-shot img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:min(440px,68vw);object-fit:cover;object-position:center}
.home-icon-wrap{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(201,162,39,.16),rgba(20,20,20,.45));border:1px solid rgba(201,162,39,.32);margin:0 auto 8px;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.home-icon-svg{width:26px;height:26px;display:block}
.card-wa-ic{display:flex;align-items:center;justify-content:center}
.card-wa-svg{width:1.2rem;height:1.2rem;display:block;color:var(--gold);opacity:.95;filter:drop-shadow(0 0 10px rgba(201,162,39,.25))}
.avatar--example{object-fit:cover;opacity:.96}
.about-photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px}
@media(min-width:560px){.about-photo-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
.about-photo-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--border)}

/* Image system — unified card & slot styles */
.arabi-img{display:block;max-width:100%;height:auto;vertical-align:middle}
.card-service-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:var(--border)}
.card--with-img .card-service-img{margin:0 0 10px;border-radius:14px 14px 10px 10px;width:calc(100% + 2px);margin-inline:-1px;margin-top:-1px}
.product-card .product-card-img,.product-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin-bottom:12px;background:var(--border)}
.team-card .avatar{width:100%;max-width:140px;height:140px;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto 14px;display:block;border:2px solid var(--gold);background:var(--border)}
