/* Paris Dental Studios — compléments au style de la maquette :
   pages existantes reprises, landings, pied de page, avant/après, barre d'administration. */

.pds-skip{position:absolute;left:-9999px;top:0}
.pds-skip:focus{left:12px;top:12px;z-index:100;background:var(--blanc);color:var(--noir);padding:.6em 1em;border-radius:8px}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* ─── En-tête des landings Google Ads ─── */
.pds-landing-header .wrap{justify-content:space-between}
.pds-landing-tel{margin-left:auto;font-weight:500;white-space:nowrap;color:inherit;text-decoration:none}
@media (max-width:640px){.pds-landing-header .header-cta{display:none}}

/* ─── Pages existantes reprises ─── */
.pds-legacy{padding-block:clamp(28px,4vw,56px)}
.pds-legacy-body{max-width:1040px;margin-inline:auto}
.pds-legacy-body>*+*{margin-top:1.1em}
.pds-legacy-body h2{font-size:clamp(1.45rem,2.1vw,1.9rem);margin:1.6em 0 .5em;scroll-margin-top:110px}
.pds-legacy-body h3{font-size:1.2rem;margin:1.3em 0 .4em}
.pds-legacy-body h4,.pds-legacy-body h5,.pds-legacy-body h6{font-size:1.05rem;margin:1.1em 0 .3em}
.pds-legacy-body>h2:first-child,.pds-legacy-body>.pds-row:first-child{margin-top:0}
.pds-text p{margin:0 0 .9em}
.pds-text p:last-child{margin-bottom:0}
.pds-text ul,.pds-text ol{padding-left:1.25em;margin:.4em 0 1em}
.pds-text li+li{margin-top:.3em}
.pds-text a,.pds-list a{color:inherit;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--accent)}
.pds-row{display:grid;gap:clamp(20px,3vw,44px);align-items:start;margin-block:clamp(22px,3vw,40px)}
.pds-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pds-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pds-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pds-col>*+*{margin-top:1em}
.pds-col>h2:first-child,.pds-col>h3:first-child{margin-top:0}
@media (max-width:860px){.pds-cols-3,.pds-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pds-row{grid-template-columns:1fr}}
.pds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-block:1.4em}
.pds-card{border:1px solid var(--hairline);border-radius:16px;padding:clamp(18px,2vw,24px);background:var(--blanc)}
.pds-card h3{font-size:1.1rem;margin:0 0 .45em}
.pds-card h3 a{color:inherit;text-decoration:none}
.pds-card h3 a:hover{text-decoration:underline}
.pds-card-media{margin:calc(-1 * clamp(18px,2vw,24px)) calc(-1 * clamp(18px,2vw,24px)) 16px}
.pds-card-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px 16px 0 0}
.pds-fact .montant,.pds-price .montant{font-family:var(--font-serif);font-size:clamp(1.6rem,2.4vw,2.2rem);margin:.1em 0 .3em;color:var(--accent)}
.pds-figure{margin:1.4em 0}
.pds-figure img{display:block;width:100%;height:auto;border-radius:16px}
.pds-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-block:1.4em}
.pds-gallery img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.pds-list{list-style:none;padding:0;margin:.6em 0 1em;display:grid;gap:.5em}
.pds-list li{padding-left:1.4em;position:relative}
.pds-list li::before{content:"";position:absolute;left:0;top:.62em;width:.6em;height:1px;background:currentColor}
.pds-faq{margin-block:1.4em}
.pds-faq details>div,.pds-faq details>p{padding-bottom:1em}
.pds-avis{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-block:1.4em}
.pds-avis .avis-card{border:1px solid var(--hairline);border-radius:16px;padding:22px;background:var(--blanc)}
.pds-avis .etoiles{color:var(--accent);letter-spacing:.12em;margin:0 0 .6em}
.pds-avis blockquote{margin:0}
.pds-table{width:100%;border-collapse:collapse;margin-block:1em}
.pds-table td{padding:.75em 0;border-bottom:1px solid var(--hairline);vertical-align:top}
.pds-table td:last-child{text-align:right;white-space:nowrap;padding-left:1em}
.pds-video,.pds-map{aspect-ratio:16/9;margin-block:1.4em}
.pds-video iframe,.pds-map iframe{width:100%;height:100%;border:0;border-radius:16px}
.pds-embed{margin-block:1.4em}
.pds-embed iframe{max-width:100%}
.pds-embed input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),.pds-embed select,.pds-embed textarea{width:100%;padding:.8em 1em;border:1px solid var(--hairline);border-radius:10px;font:inherit;background:var(--blanc);color:var(--noir)}
.pds-embed button[type=submit],.pds-embed input[type=submit]{background:var(--noir);color:var(--blanc);border:0;border-radius:999px;padding:.95em 1.7em;font:inherit;font-weight:500;cursor:pointer}
.pds-actions{margin:1.2em 0}

/* ─── Avant / après ─── */
.pds-ba{--pos:50%;position:relative;overflow:hidden;border-radius:16px;margin:1.4em 0;user-select:none}
.pds-ba>img{display:block;width:100%;height:auto}
.pds-ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.pds-ba-after img{width:100%;height:100%;object-fit:cover}
.pds-ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--blanc);box-shadow:0 0 0 1px rgba(0,0,0,.12);pointer-events:none}
.pds-ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.pds-ba-l,.pds-ba-r{position:absolute;bottom:12px;font-size:.78rem;background:rgba(0,0,0,.55);color:var(--blanc);padding:.25em .7em;border-radius:999px;pointer-events:none}
.pds-ba-l{left:12px}.pds-ba-r{right:12px}

/* ─── Pied de page ─── */
.site-footer .wordmark{display:inline-flex;align-items:center;gap:.6em}
.site-footer .wordmark img{filter:invert(1);width:auto}
.site-footer h4 a{color:inherit}
.site-footer li{color:rgba(255,255,255,.85);font-size:.95rem}
.pds-social{font-size:.95rem}
.pds-more{margin-top:.9em;font-size:.92rem}
.pds-more summary{cursor:pointer;color:rgba(255,255,255,.7)}
.pds-more ul{margin-top:.7em}

/* Fenêtres surgissantes d'Elementor Pro : jamais sur les pages du nouveau site */
body:not(.pds-elementor) .elementor-popup-modal{display:none!important}
body:not(.pds-elementor).dialog-prevent-scroll{overflow:auto!important}
.pds-anchor{display:block;position:relative;top:-110px;visibility:hidden}
/* Pages de rendez-vous affichées par Elementor */
.pds-elementor{min-height:40vh}

/* Bandeau des pages : boutons visibles d’emblée (sans animation d’apparition) */
.landing .hero-actions{opacity:1;animation:none}
