/* Phone booking page: isolated RTL layout, responsive spacing and dark mode. */
.pd-phone { --phone-bg:#f7faf9; --phone-card:#fff; --phone-ink:#203d39; --phone-muted:#637a76; --phone-green:#176d5e; --phone-soft:#eaf4f0; --phone-line:#dce8e3; --phone-gold:#d9b477; color:var(--phone-ink); background:var(--phone-bg); padding:26px 0 82px; line-height:1.9; }
.pd-phone *, .pd-phone *::before, .pd-phone *::after { box-sizing:border-box; }
.pd-phone-shell { width:min(1420px,calc(100% - 64px)); margin-inline:auto; }
.pd-phone a { text-decoration:none; }
.pd-phone-breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:24px; color:var(--phone-muted); font-size:.87rem; }
.pd-phone-breadcrumb a { color:inherit; }
.pd-phone-breadcrumb a:hover { color:var(--phone-green); }
.pd-phone-hero { position:relative; display:grid; grid-template-columns:1.13fr .87fr; align-items:center; gap:30px; min-height:520px; padding:clamp(30px,5vw,70px); border:1px solid var(--phone-line); border-radius:32px; overflow:hidden; background:radial-gradient(ellipse at 12% 85%,var(--phone-soft),transparent 62%),var(--phone-card); }
.pd-phone-hero-copy { position:relative; z-index:2; min-width:0; }
.pd-phone-eyebrow,.pd-phone-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--phone-green); font-size:.86rem; font-weight:750; }
.pd-phone-hero h1 { margin:23px 0 16px; font-size:clamp(2.4rem,4.2vw,4.7rem); font-weight:850; line-height:1.55; letter-spacing:-.04em; }
.pd-phone-hero h1 em { color:var(--phone-green); font-style:normal; }
.pd-phone-hero-copy > p { max-width:620px; margin:0; color:var(--phone-muted); font-size:1.02rem; line-height:2.2; }
.pd-phone-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin:33px 0 18px; }
.pd-phone-primary,.pd-phone-secondary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:11px 20px; border-radius:12px; font-weight:750; }
.pd-phone a.pd-phone-primary { color:#fff; background:#176d5e; box-shadow:0 12px 28px rgba(23,109,94,.15); }
.pd-phone a.pd-phone-secondary { color:var(--phone-green); border:1px solid var(--phone-line); }
.pd-phone-hero-footnote { display:block; color:var(--phone-muted); font-size:.85rem; }
.pd-phone-hero-footnote a { color:var(--phone-green); font-weight:700; }
.pd-phone-art { position:relative; display:grid; place-items:center; min-height:395px; }
.pd-phone-orbit { position:absolute; width:min(86%,400px); aspect-ratio:1; border:1px solid var(--phone-line); border-radius:50%; }
.pd-phone-orbit-two { width:min(112%,490px); opacity:.65; }
.pd-phone-art-card { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(100%,324px); min-height:335px; padding:30px; border:1px solid var(--phone-line); border-radius:25px; background:var(--phone-card); box-shadow:0 25px 75px rgba(24,72,66,.1); text-align:center; transform:rotate(-4deg); }
.pd-phone-art-brand { align-self:start; color:var(--phone-green); font:bold 30px Georgia,serif; }
.pd-phone-art-brand small { font:9px sans-serif; letter-spacing:2px; }
.pd-phone-art-icon { display:grid; place-items:center; width:92px; height:92px; margin:7px 0 19px; border-radius:28px; color:var(--phone-green); background:var(--phone-soft); font-size:2.6rem; }
.pd-phone-art-card strong { font-size:1.08rem; }
.pd-phone-art-card > small { color:var(--phone-muted); }
.pd-phone-art-dots { display:flex; gap:6px; margin-top:16px; }
.pd-phone-art-dots i { width:6px; height:6px; border-radius:50%; background:var(--phone-gold); }
.pd-phone-float { position:absolute; bottom:13px; right:1%; z-index:2; padding:12px 18px; border:1px solid var(--phone-line); border-radius:13px; background:#f9eedb; color:#77582c; font-size:.83rem; font-weight:700; }
.pd-phone-guide,.pd-phone-information,.pd-phone-details,.pd-phone-final-cta { margin-top:58px; scroll-margin-top:110px; }
.pd-phone h2,.pd-phone h3,.pd-phone p { overflow-wrap:anywhere; }
.pd-phone h2 { margin:9px 0 12px; font-size:clamp(1.55rem,2.5vw,2.4rem); line-height:1.6; }
.pd-phone-section-heading { margin-bottom:24px; }
.pd-phone-section-heading p,.pd-phone-info-heading p { margin:0; color:var(--phone-muted); }
.pd-phone-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.pd-phone-steps article { position:relative; min-width:0; padding:30px; border:1px solid var(--phone-line); border-radius:23px; background:var(--phone-card); }
.pd-phone-step-num { position:absolute; top:22px; left:24px; color:var(--phone-gold); font-size:1.18rem; font-weight:800; }
.pd-phone-step-icon,.pd-phone-detail-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; color:var(--phone-green); background:var(--phone-soft); font-size:1.3rem; }
.pd-phone-steps h3 { margin:22px 0 8px; font-size:1.1rem; }
.pd-phone-steps p { margin:0; color:var(--phone-muted); font-size:.92rem; line-height:2; }
.pd-phone-information { display:grid; grid-template-columns:minmax(220px,.39fr) minmax(0,.61fr); gap:clamp(24px,4vw,65px); padding:clamp(26px,4vw,56px); border:1px solid var(--phone-line); border-radius:28px; background:var(--phone-card); }
.pd-phone-info-heading { position:sticky; top:115px; align-self:start; }
.pd-phone-richtext { min-width:0; color:var(--phone-muted); line-height:2.2; overflow-wrap:anywhere; }
.pd-phone-richtext > :first-child { margin-top:0; }
.pd-phone-richtext h2,.pd-phone-richtext h3,.pd-phone-richtext h4 { margin:22px 0 9px; color:var(--phone-ink); line-height:1.65; }
.pd-phone-richtext h2 { font-size:1.37rem; }
.pd-phone-richtext h3 { font-size:1.17rem; }
.pd-phone-richtext p,.pd-phone-richtext li { line-height:2.15; }
.pd-phone-richtext ul,.pd-phone-richtext ol { padding-inline-start:26px; }
.pd-phone-richtext img,.pd-phone-detail-text img { max-width:100%; height:auto; }
.pd-phone-richtext iframe { max-width:100%; }
.pd-phone-richtext a,.pd-phone-detail-text a { color:var(--phone-green); text-decoration:underline; }
.pd-phone-richtext table { display:block; max-width:100%; overflow-x:auto; }
.pd-phone-empty { color:var(--phone-muted); }
.pd-phone-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.pd-phone-detail { min-width:0; padding:26px; border:1px solid var(--phone-line); border-radius:22px; background:var(--phone-card); }
.pd-phone-detail h3 { margin:17px 0 7px; font-size:1.12rem; }
.pd-phone-detail h3 a { color:inherit; text-decoration:none; }
.pd-phone-detail-text { color:var(--phone-muted); line-height:2; overflow-wrap:anywhere; }
.pd-phone-final-cta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:clamp(28px,4vw,50px); border-radius:25px; color:#fff; background:linear-gradient(115deg,#145748,#247d71); }
.pd-phone-final-cta .pd-phone-kicker { color:#d3eadf; }
.pd-phone-final-cta h2 { margin-bottom:3px; }
.pd-phone-final-cta p { margin:0; color:#d8ece5; }
.pd-phone-final-cta a { display:inline-flex; align-items:center; gap:13px; min-height:56px; padding:10px 22px; border-radius:12px; color:#1c5146; background:#fff; font-weight:800; white-space:nowrap; }
@media(max-width:950px) { .pd-phone-hero { grid-template-columns:1fr; } .pd-phone-art { min-height:260px; } .pd-phone-art-card { min-height:270px; } .pd-phone-information { grid-template-columns:1fr; } .pd-phone-info-heading { position:static; } .pd-phone-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .pd-phone-shell { width:calc(100% - 32px); } .pd-phone-hero { padding:27px 22px; border-radius:22px; } .pd-phone-art { display:none; } .pd-phone-steps,.pd-phone-detail-grid { grid-template-columns:1fr; } .pd-phone-final-cta a { white-space:normal; } }
@media(max-width:430px) { .pd-phone-hero-actions > a { width:100%; } }
[data-bs-theme="dark"] .pd-phone,[data-theme="dark"] .pd-phone,.dark-mode .pd-phone { --phone-bg:#112523; --phone-card:#1c322f; --phone-ink:#e9f2ee; --phone-muted:#aac4bb; --phone-green:#91d4b5; --phone-soft:#294139; --phone-line:#36524a; color-scheme:dark; }
[data-bs-theme="dark"] .pd-phone-float,[data-theme="dark"] .pd-phone-float,.dark-mode .pd-phone-float { background:#3b3529; color:#f2d7ab; }
.pd-phone a:focus-visible,.pd-phone button:focus-visible,.pd-phone input:focus-visible { outline:3px solid var(--phone-gold); outline-offset:3px; }

/* The common template styles #main section; restore card inset and page width. */
main#main.pd-phone > .pd-phone-shell {
  width:calc(100% - 48px) !important;
  max-width:1420px !important;
  margin-inline:auto !important;
}
main#main.pd-phone section.pd-phone-hero {
  padding-inline:clamp(30px,5vw,70px) !important;
}
main#main.pd-phone section.pd-phone-information {
  padding-inline:clamp(26px,4vw,56px) !important;
}
main#main.pd-phone section.pd-phone-final-cta {
  padding-inline:clamp(28px,4vw,50px) !important;
}

@media (max-width:680px) {
  main#main.pd-phone > .pd-phone-shell { width:calc(100% - 32px) !important; }
  main#main.pd-phone section.pd-phone-hero,
  main#main.pd-phone section.pd-phone-information,
  main#main.pd-phone section.pd-phone-final-cta { padding-inline:22px !important; }
}
/* Match the shared Persian typeface without changing icon fonts. */
.pedra-public .pd-phone,
.pedra-public .pd-phone :is(h1, h2, h3, h4, h5, h6, p, a, span, small, strong, em, li, dt, dd, th, td, label, button, input) {
  font-family: iranyekan, Tahoma, sans-serif !important;
}
.pedra-public .pd-phone :is(h1, h2, h3) {
  letter-spacing: normal;
}