/* ═══════════════════════════════════════════════════════════════════════
   بوابة الصالون العامة — أصناف pt-*

   صفحة فاتحة واسعة النَّفَس: أبيض وبياض مائل إلى لون الصالون، وعناوين
   بخطّ نسخي عالي التباين، وعبارة تمهيدية بخطّ رقعة. لون الصالون للأفعال
   وحدها — زرّ ملوّن بنصّ أبيض، لا داكن على داكن.

   الترويسة ثلاثة أعمدة: الشعار في الطرف والقائمة في المنتصف والفعل في
   الطرف الآخر، فتقع القائمة في وسط الشاشة فعلًا لا قريبًا منه.

   الحركة تُضاف بـ pt--rv من جافاسكربت ثم تُكشف العناصر بالتمرير: لو لم
   تعمل جافاسكربت لم يُخفَ شيء أصلًا. وكل شيء مقصور على .pt فلا يتسرّب.
   ═══════════════════════════════════════════════════════════════════════ */

/* app.css يفرض overflow-y:auto على html وbody «حمايةً من التجميد»، فتصير
   الوثيقة بطول الشاشة ويبقى الجسم يمرّر وحده: صفحة تسويق تُشارَك وتُلتقط
   يجب أن تطول بطول محتواها. */
html:has(.pt), body:has(.pt) { overflow-y: visible !important; height: auto !important; }

.pt {
    --pt-ink: #15100f;
    --pt-body: #605a58;
    --pt-paper: #ffffff;
    --pt-line: #ece6e3;
    --pt-max: 1280px;

    position: relative;
    background: var(--pt-paper);
    color: var(--pt-body);
    font-family: "Cairo", Tahoma, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.9;
    min-height: 100vh;
    overflow-x: clip;
}

.pt *, .pt *::before, .pt *::after { box-sizing: border-box; }
.pt img { max-width: 100%; display: block; }
.pt a { color: inherit; text-decoration: none; }
.pt h1, .pt h2, .pt h3 { color: var(--pt-ink); font-weight: 400; margin: 0; }

/* الخطوط: نسخي للعناوين، رقعة للعبارة التمهيدية، والمتن بخطّ النظام */
.pt-d { font-family: "Amiri", "Cairo", Georgia, serif; font-weight: 700; }
.pt-script { font-family: "Aref Ruqaa", "Amiri", serif; }
.pt-num { font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; display: inline-block; }
.pt-wrap { position: relative; z-index: 2; max-width: var(--pt-max); margin-inline: auto; padding-inline: 24px; }

/* ═══ الشريط العلوي ═══ */
.pt-top {
    background: var(--pt-brand); color: #fff; font-size: .88rem;
    padding: .55rem 0;
}
.pt-top__in { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; justify-content: center; }
.pt-top a { display: inline-flex; align-items: center; gap: .45rem; opacity: .95; transition: opacity .2s ease; }
.pt-top a:hover { opacity: 1; }
.pt-top__mid { margin-inline: auto; font-family: "Amiri", serif; font-size: 1rem; }
.pt-top__soc { display: flex; align-items: center; gap: .45rem; }
.pt-top__soc a {
    width: 32px; height: 32px; border-radius: 50%; justify-content: center;
    border: 1px solid rgba(255, 255, 255, .4); transition: background .2s ease, border-color .2s ease;
}
.pt-top__soc a:hover { background: #fff; color: var(--pt-brand); border-color: #fff; }
@media (max-width: 860px) { .pt-top__hide { display: none; } .pt-top__mid { margin-inline: 0; } }

/* ═══ الترويسة ═══ */
.pt-hd {
    position: sticky; top: 0; z-index: 60; background: #fff;
    border-bottom: 1px solid var(--pt-line);
    transition: box-shadow .3s ease, padding .3s ease;
}
.pt-hd.is-stuck { box-shadow: 0 10px 34px rgba(21, 16, 15, .09); }
.pt-hd__in {
    /* طرفان بعرض واحد: مع auto 1fr auto يقع الوسط في وسط ما تبقّى لا في
       وسط الشاشة، فتبدو القائمة مزاحة */
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem;
    max-width: var(--pt-max); margin-inline: auto; padding: .9rem 24px;
}
.pt-hd__logo { display: flex; align-items: center; gap: .7rem; justify-self: start; min-width: 0; }
.pt-hd__logo img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.pt-hd__mark {
    width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: var(--pt-brand-s); color: var(--pt-brand); font-size: 1.2rem;
}
.pt-hd__name { font-family: "Amiri", serif; font-size: 1.3rem; font-weight: 700; color: var(--pt-ink); line-height: 1.2; }

.pt-hd__nav { display: flex; justify-content: center; gap: 2.1rem; }
.pt-hd__nav a {
    position: relative; font-size: 1.02rem; color: var(--pt-ink); padding: .3rem 0;
    transition: color .2s ease;
}
.pt-hd__nav a::after {
    content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 2px; background: var(--pt-brand);
    transform: scaleX(0); transform-origin: right; transition: transform .3s cubic-bezier(.2, .7, .3, 1);
}
.pt-hd__nav a:hover { color: var(--pt-brand); }
.pt-hd__nav a:hover::after { transform: scaleX(1); }

.pt-hd__act { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; justify-self: end; }
.pt-call { display: none; align-items: center; gap: .65rem; }
.pt-call__ic {
    width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
    background: var(--pt-brand); color: #fff; font-size: 1.05rem;
}
.pt-call small { display: block; font-size: .76rem; line-height: 1.3; color: var(--pt-body); }
.pt-call b { font-size: 1.02rem; color: var(--pt-ink); font-weight: 600; }

.pt-burger {
    width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
    display: grid; place-items: center; background: var(--pt-brand); color: #fff; font-size: 1.2rem;
}
@media (min-width: 1080px) {
    .pt-burger { display: none; }
    .pt-call { display: flex; }
}
@media (max-width: 1079px) {
    .pt-hd__in { grid-template-columns: 1fr auto; }
    .pt-hd__nav {
        grid-column: 1 / -1; display: none; flex-direction: column; align-items: stretch; gap: 0;
        border-top: 1px solid var(--pt-line); margin-top: .8rem; padding-top: .4rem;
    }
    .pt-hd__nav.is-open { display: flex; }
    .pt-hd__nav a { padding: .7rem .2rem; border-bottom: 1px solid var(--pt-line); }
    .pt-hd__nav a::after { display: none; }
}

/* ═══ الأزرار ═══ */
.pt .pt-btn {
    position: relative; overflow: hidden;
    display: inline-flex; align-items: center; gap: .9rem;
    height: 58px; padding: 0 .5rem 0 1.7rem; border: 0; border-radius: 999px;
    background: var(--pt-brand); color: #fff;
    font-family: inherit; font-size: 1.02rem; font-weight: 700; cursor: pointer;
    box-shadow: 0 12px 30px var(--pt-brand-s);
    transition: transform .25s cubic-bezier(.2, .7, .3, 1), box-shadow .25s ease, background .25s ease;
}
.pt-btn > span { position: relative; z-index: 1; }
.pt-btn__ic {
    position: relative; z-index: 1; flex: none;
    width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
    background: var(--pt-ink); color: #fff; font-size: .95rem;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1);
}
.pt-btn:hover { transform: translateY(-3px); box-shadow: 0 18px 40px var(--pt-brand-s); }
.pt-btn:hover .pt-btn__ic { transform: rotate(-45deg); }
.pt-btn--sm { height: 46px; padding: 0 .4rem 0 1.2rem; font-size: .94rem; gap: .6rem; }
.pt-btn--sm .pt-btn__ic { width: 34px; height: 34px; font-size: .8rem; }
.pt .pt-btn--ghost {
    background: #fff; color: var(--pt-ink); box-shadow: 0 8px 24px rgba(21, 16, 15, .07);
    border: 1px solid var(--pt-line);
}
.pt-btn--ghost .pt-btn__ic { background: var(--pt-brand); }
.pt-btn--ghost:hover { box-shadow: 0 16px 34px rgba(21, 16, 15, .12); }

/* الفعل الثانوي: دائرة ونصّ، على نسق «شاهدي الفيديو» */
.pt .pt-play { display: inline-flex; align-items: center; gap: .85rem; font-weight: 700; color: var(--pt-ink); }
.pt-play__c {
    width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
    background: var(--pt-brand); color: #fff; font-size: 1.15rem; flex: none;
    box-shadow: 0 0 0 0 var(--pt-brand-s); animation: pt-pulse 2.6s ease-out infinite;
}
.pt-play:hover .pt-play__c { animation: none; transform: scale(1.06); transition: transform .25s ease; }

/* ═══ الواجهة ═══ */
.pt-hero { position: relative; background: var(--pt-tint); overflow: hidden; }
.pt-hero__in {
    position: relative; z-index: 2;
    display: grid; gap: 2.5rem; align-items: center;
    max-width: var(--pt-max); margin-inline: auto; padding: 68px 24px 76px;
}
@media (min-width: 980px) { .pt-hero__in { grid-template-columns: 1.05fr .95fr; padding: 84px 24px 90px; } }

.pt-script { font-size: clamp(1.25rem, 3vw, 1.75rem); color: var(--pt-accent); line-height: 1.8; }
.pt-h1 {
    font-family: "Amiri", "Cairo", Georgia, serif; font-weight: 700;
    font-size: clamp(2.5rem, 6.4vw, 4.5rem); line-height: 1.18; color: var(--pt-ink);
    margin: .4rem 0 0; text-wrap: balance;
}
.pt-lead { margin: 1.4rem 0 0; max-width: 54ch; font-size: 1.05rem; }
.pt-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; margin-top: 2.3rem; }

.pt-facts {
    display: flex; flex-wrap: wrap; gap: .5rem 2.2rem; margin-top: 2.6rem; padding-top: 1.6rem;
    border-top: 1px solid rgba(21, 16, 15, .12); font-size: .95rem;
}
.pt-facts span { display: inline-flex; align-items: center; gap: .5rem; }
.pt-facts i { color: var(--pt-brand); }

/* صورة الواجهة والشارة الدوّارة حولها */
.pt-shot { position: relative; }
.pt-shot__img {
    border-radius: 280px 280px 24px 24px; overflow: hidden; aspect-ratio: 4 / 5;
    background: linear-gradient(170deg, var(--pt-brand-s), #fff);
    display: grid; place-items: center;
    box-shadow: 0 30px 70px rgba(21, 16, 15, .14);
}
.pt-shot__img img { width: 100%; height: 100%; object-fit: cover; }
.pt-shot__ph { font-size: 5rem; color: var(--pt-brand); opacity: .35; }

.pt-badge {
    position: absolute; inset-inline-start: -14px; top: 46%; width: 148px; height: 148px; z-index: 3;
}
.pt-badge__ring { width: 100%; height: 100%; color: var(--pt-accent); animation: pt-spin 24s linear infinite; }
.pt .pt-badge__c {
    position: absolute; inset: 30px; border-radius: 50%; display: grid; place-items: center;
    background: #fff; color: var(--pt-brand); font-size: 1.5rem;
    box-shadow: 0 10px 28px rgba(21, 16, 15, .14);
    transition: transform .25s ease, background .25s ease, color .25s ease;
}
.pt-badge__c:hover { transform: scale(1.07); background: var(--pt-brand); color: #fff; }
@media (max-width: 560px) { .pt-badge { width: 112px; height: 112px; inset-inline-start: -6px; } .pt-badge__c { inset: 22px; font-size: 1.15rem; } }

/* أوراق تطفو: زينة المكان لا صورة إضافية */
.pt-leaf { position: absolute; z-index: 1; pointer-events: none; opacity: .5; color: var(--pt-brand); }
.pt-leaf--1 { top: 9%; inset-inline-start: 7%; width: 64px; animation: pt-sway 9s ease-in-out infinite; }
.pt-leaf--2 { bottom: 11%; inset-inline-end: 5%; width: 92px; animation: pt-sway 13s ease-in-out infinite reverse; }
.pt-leaf--3 { top: 56%; inset-inline-start: 42%; width: 44px; opacity: .3; animation: pt-sway 11s ease-in-out infinite; }
@media (max-width: 760px) { .pt-leaf { display: none; } }

/* ═══ الأقسام ═══ */
.pt-sec { position: relative; padding: 96px 0; }
.pt-sec--tint { background: var(--pt-tint); }
.pt-sec__h { text-align: center; max-width: 60ch; margin: 0 auto 3.4rem; }
.pt-sec__k { font-family: "Aref Ruqaa", serif; font-size: 1.25rem; color: var(--pt-accent); }
.pt-sec__h h2 { font-family: "Amiri", serif; font-weight: 700; font-size: clamp(2rem, 4.6vw, 3rem); line-height: 1.26; margin-top: .3rem; }
.pt-sec__h p { margin: 1rem auto 0; }

/* ═══ نبذة ═══ */
.pt-about { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 900px) { .pt-about { grid-template-columns: .9fr 1.1fr; } }
.pt-about__t { white-space: pre-line; font-size: 1.05rem; }
.pt-about h2 { font-family: "Amiri", serif; font-weight: 700; font-size: clamp(1.9rem, 4.2vw, 2.7rem); line-height: 1.28; margin: .3rem 0 1.2rem; }
.pt-lozenges { display: grid; gap: 1rem; }
.pt .pt-loz {
    display: flex; align-items: center; gap: 1.1rem; color: var(--pt-body); padding: 1.2rem 1.3rem;
    background: #fff; border: 1px solid var(--pt-line); border-radius: 18px;
    box-shadow: 0 10px 28px rgba(21, 16, 15, .05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pt-loz:hover { transform: translateY(-4px); border-color: var(--pt-brand); box-shadow: 0 18px 38px rgba(21, 16, 15, .1); }
.pt-loz i {
    flex: none; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center;
    font-size: 1.25rem; color: #fff; background: var(--pt-brand);
}
.pt-loz b { display: block; font-size: 1.04rem; color: var(--pt-ink); }
.pt-loz span { font-size: .9rem; }

/* ═══ قائمة الخدمات: بطاقة لكل قسم ═══ */
.pt-menu { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); }
.pt-grp {
    background: #fff; border: 1px solid var(--pt-line); border-radius: 22px; padding: 1.9rem 1.7rem;
    box-shadow: 0 10px 30px rgba(21, 16, 15, .05);
    transition: transform .28s cubic-bezier(.2, .7, .3, 1), box-shadow .28s ease;
}
.pt-grp:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(21, 16, 15, .1); }
.pt-grp__h {
    display: flex; align-items: center; gap: .9rem; margin-bottom: .6rem;
    font-family: "Amiri", serif; font-weight: 700; font-size: 1.45rem; color: var(--pt-ink);
}
.pt-grp__h::before {
    content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%;
    background: var(--pt-brand); box-shadow: 0 0 0 4px var(--pt-brand-s);
}

.pt-row {
    display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: .6rem;
    padding: .85rem .2rem; border-radius: 10px; transition: background .2s ease;
}
.pt-row + .pt-row { border-top: 1px solid var(--pt-line); }
.pt-row:hover { background: var(--pt-tint); }
.pt-row__n { font-weight: 600; color: var(--pt-ink); transition: color .2s ease; }
.pt-row:hover .pt-row__n { color: var(--pt-brand); }
.pt-row__d { display: block; font-size: .84rem; color: var(--pt-body); font-weight: 400; }
.pt-row__led { border-bottom: 1px dotted #cfc6c2; transform: translateY(-.35rem); }
.pt-row__p { font-weight: 800; white-space: nowrap; color: var(--pt-brand); font-size: 1.1rem; }
.pt-row__p small { font-size: .7rem; font-weight: 600; opacity: .75; margin-inline-start: .2rem; }

/* ═══ الباقات ═══ */
.pt-packs { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.pt-pack {
    position: relative; display: flex; flex-direction: column; gap: .9rem; overflow: hidden;
    padding: 2.4rem 1.8rem; background: #fff; border: 1px solid var(--pt-line); border-radius: 24px;
    box-shadow: 0 10px 30px rgba(21, 16, 15, .05);
    transition: transform .28s cubic-bezier(.2, .7, .3, 1), box-shadow .28s ease, border-color .28s ease;
}
.pt-pack::after {
    content: ""; position: absolute; inset-inline-end: -80px; top: -80px; width: 190px; height: 190px;
    border-radius: 50%; background: var(--pt-brand-s); transition: transform .35s ease;
}
.pt-pack:hover { transform: translateY(-7px); border-color: var(--pt-brand); box-shadow: 0 26px 54px rgba(21, 16, 15, .12); }
.pt-pack:hover::after { transform: scale(1.35); }
.pt-pack > * { position: relative; z-index: 1; }
.pt-pack__k {
    align-self: flex-start; padding: .2rem .85rem; border-radius: 999px; font-size: .78rem; font-weight: 700;
    background: var(--pt-brand); color: #fff;
}
.pt-pack__n { font-family: "Amiri", serif; font-weight: 700; font-size: 1.5rem; color: var(--pt-ink); }
.pt-pack__p { font-size: 2.5rem; font-weight: 800; line-height: 1.1; color: var(--pt-ink); }
.pt-pack__p small { font-size: .9rem; font-weight: 600; color: var(--pt-body); }
.pt-pack__save {
    align-self: flex-start; padding: .2rem .8rem; border-radius: 999px; font-size: .82rem; font-weight: 700;
    background: var(--pt-accent-s); color: #6b4a06; border: 1px solid var(--pt-accent);
}
.pt-pack ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; font-size: .96rem; }
.pt-pack li { display: flex; gap: .6rem; align-items: flex-start; }
.pt-pack li i { color: var(--pt-brand); font-size: .9rem; margin-top: .55rem; }
.pt-pack__v { font-size: .88rem; margin-top: auto; padding-top: .5rem; }

/* ═══ المعرض ═══
   شبكة منتظمة لا أعمدة متدفّقة: الأعمدة المتدفّقة تُوازن بأطوال مختلفة
   فتخرج البلاطات متفاوتة والصفّ الأخير ناقصًا، والنتيجة تبدو غير منسّقة.
   بلاطات متساوية بنسبة واحدة والصورة تُقصّ لتملأها. */
.pt-gal { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 760px) { .pt-gal { grid-template-columns: repeat(3, 1fr); } }
.pt-gal figure {
    margin: 0; border-radius: 20px; overflow: hidden; position: relative; aspect-ratio: 4 / 5;
    background: var(--pt-tint); box-shadow: 0 10px 28px rgba(21, 16, 15, .08);
}
.pt-gal img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .3, 1); }
.pt-gal figure:hover img { transform: scale(1.07); }
.pt-gal figcaption {
    position: absolute; inset-inline: 0; bottom: 0; z-index: 2; padding: 1.7rem 1rem .8rem;
    font-size: .88rem; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .68));
}

/* ═══ الآراء ═══ */
.pt-revs { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6rem; }
.pt-rev {
    position: relative; flex: 1 1 300px; max-width: 380px;
    padding: 3rem 1.8rem 1.8rem; border-radius: 24px; background: #fff;
    border: 1px solid var(--pt-line); box-shadow: 0 10px 30px rgba(21, 16, 15, .05);
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
.pt-rev:hover { transform: translateY(-6px); border-color: var(--pt-brand); box-shadow: 0 24px 50px rgba(21, 16, 15, .12); }
.pt-rev::before {
    content: "”"; position: absolute; top: .2rem; inset-inline-start: 1.4rem;
    font-family: Georgia, serif; font-size: 5.2rem; line-height: 1; color: var(--pt-brand); opacity: .22;
}
.pt-rev__b { margin: 0; font-size: 1rem; color: #4a4340; }
.pt-rev__a { margin-top: 1.2rem; font-weight: 700; color: var(--pt-ink); }
.pt-stars { color: var(--pt-accent); font-size: .88rem; letter-spacing: .12em; }

/* ═══ زورينا ═══ */
.pt-visit { display: grid; gap: 1.8rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.pt-visit h3 { font-family: "Amiri", serif; font-weight: 700; font-size: 1.3rem; margin-bottom: .4rem; }
.pt-visit p { margin: .3rem 0 0; }
.pt-social { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.pt .pt-soc {
    width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center;
    border: 1px solid var(--pt-line); font-size: 1.2rem; color: var(--pt-brand); background: #fff;
    transition: background .22s ease, color .22s ease, transform .22s ease, border-color .22s ease;
}
.pt-soc:hover { background: var(--pt-brand); color: #fff; transform: translateY(-4px); border-color: var(--pt-brand); }

/* ═══ الدعوة الختامية ═══ */
.pt-cta { position: relative; background: var(--pt-brand); color: #fff; text-align: center; padding: 92px 0; overflow: hidden; }
.pt-cta::after {
    content: ""; position: absolute; inset-inline-start: 50%; top: -40%; width: 620px; height: 620px;
    transform: translateX(-50%); border-radius: 50%; background: rgba(255, 255, 255, .07);
}
.pt-cta h2 { font-family: "Amiri", serif; font-weight: 700; color: #fff; font-size: clamp(2rem, 4.6vw, 3rem); margin-bottom: .7rem; }
.pt-cta p { margin: 0 auto 2.2rem; max-width: 48ch; color: rgba(255, 255, 255, .86); }
.pt .pt-cta .pt-btn { background: #fff; color: var(--pt-ink); box-shadow: 0 14px 34px rgba(0, 0, 0, .22); }
.pt-cta .pt-btn .pt-btn__ic { background: var(--pt-brand); }

/* ═══ التذييل ═══ */
.pt-foot { padding: 2.6rem 0 7rem; text-align: center; font-size: .9rem; border-top: 1px solid var(--pt-line); }
.pt-foot a { color: var(--pt-brand); font-weight: 700; }
@media (min-width: 760px) { .pt-foot { padding-bottom: 2.6rem; } }

/* ═══ شريط الجوال الثابت ═══ */
.pt-dock {
    position: fixed; inset-inline: 0; bottom: 0; z-index: 70; display: flex; gap: .6rem;
    padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px);
    border-top: 1px solid var(--pt-line); box-shadow: 0 -8px 24px rgba(21, 16, 15, .08);
}
.pt-dock .pt-btn { flex: 1; height: 50px; justify-content: center; padding: 0 1rem; gap: .5rem; }
.pt-dock .pt-btn__ic { display: none; }
@media (min-width: 760px) { .pt-dock { display: none; } }

/* ═══ حالات ═══ */
.pt-empty { min-height: 100vh; display: grid; place-content: center; gap: .9rem; text-align: center; padding: 2rem; }
.pt-empty i { font-size: 3.2rem; color: var(--pt-brand); opacity: .6; }

/* ═══ الحركة ═══
   الإخفاء مشروط بـ pt--rv التي تضعها جافاسكربت: لو لم تعمل لم يُخفَ شيء. */
.pt--rv [data-rv] {
    opacity: 0; transform: translateY(28px);
    transition: opacity .9s cubic-bezier(.2, .7, .3, 1), transform .9s cubic-bezier(.2, .7, .3, 1);
    transition-delay: var(--d, 0s);
}
.pt--rv [data-rv="side"] { transform: translateX(36px); }
.pt--rv [data-rv="zoom"] { transform: scale(.93); }
.pt--rv [data-rv].is-in { opacity: 1; transform: none; }

@keyframes pt-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes pt-spin { to { transform: rotate(360deg); } }
@keyframes pt-sway {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    50% { transform: translate3d(10px, -18px, 0) rotate(8deg); }
}
@keyframes pt-pulse {
    0% { box-shadow: 0 0 0 0 var(--pt-brand-s); }
    70% { box-shadow: 0 0 0 18px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

.pt-hero__t > * { animation: pt-up .85s cubic-bezier(.2, .7, .3, 1) backwards; }
.pt-hero__t > *:nth-child(2) { animation-delay: .1s; }
.pt-hero__t > *:nth-child(3) { animation-delay: .2s; }
.pt-hero__t > *:nth-child(4) { animation-delay: .3s; }
.pt-hero__t > *:nth-child(5) { animation-delay: .4s; }
.pt-shot { animation: pt-up 1s cubic-bezier(.2, .7, .3, 1) .15s backwards; }

@media (prefers-reduced-motion: reduce) {
    .pt *, .pt *::before, .pt *::after { animation: none !important; transition-duration: .01ms !important; }
    .pt--rv [data-rv] { opacity: 1 !important; transform: none !important; }
}

/* ═══ الفروع ═══ */
.pt-branches { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.pt-branch {
    display: flex; flex-direction: column; gap: .4rem; padding: 1.8rem 1.5rem;
    background: #fff; border: 1px solid var(--pt-line); border-radius: 22px;
    box-shadow: 0 10px 30px rgba(21, 16, 15, .05);
    transition: transform .26s cubic-bezier(.2, .7, .3, 1), box-shadow .26s ease, border-color .26s ease;
}
.pt-branch:hover { transform: translateY(-6px); border-color: var(--pt-brand); box-shadow: 0 22px 48px rgba(21, 16, 15, .12); }
.pt-branch__ic {
    width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
    background: var(--pt-brand-s); color: var(--pt-brand); font-size: 1.2rem; margin-bottom: .4rem;
}
.pt-branch h3 { font-family: "Amiri", serif; font-weight: 700; font-size: 1.4rem; }
.pt-branch p { margin: 0; display: flex; align-items: center; gap: .5rem; font-size: .95rem; }
.pt-branch p i { color: var(--pt-brand); }
.pt-branch .pt-btn { align-self: flex-start; margin-top: .9rem; }
