/* 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:minmax(0,1fr)}}
.pds-col{min-width:0}
.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}

/* ═══ Fenêtre des galeries (anciens popups Elementor Pro) ═══ */
body:not(.pds-elementor) [data-elementor-type="popup"]:not(.elementor-edit-area){display:none!important}
button.btn{cursor:pointer;font:inherit}
.pds-dialog{border:0;border-radius:var(--radius,16px);padding:0;width:min(1040px,94vw);max-height:90vh;overflow:auto;background:var(--blanc,#fff);color:var(--noir,#141110);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.pds-dialog::backdrop{background:rgba(20,17,16,.62);backdrop-filter:blur(2px)}
.pds-dialog-body{padding:clamp(20px,4vw,44px)}
.pds-dialog-body img{width:100%;height:auto;border-radius:calc(var(--radius,16px)*.6)}
.pds-dialog-body .pds-actions{display:none}
.pds-dialog-close{position:sticky;top:10px;float:right;margin:10px 10px 0 0;width:42px;height:42px;border-radius:50%;border:1px solid var(--hairline,rgba(0,0,0,.15));background:var(--blanc,#fff);font-size:26px;line-height:1;cursor:pointer;z-index:2}
.pds-dialog-close:hover{background:var(--noir,#141110);color:var(--blanc,#fff)}
body.pds-dialog-open{overflow:hidden}

/* Petits écrans : aucun texte long (sommaire, boutons) ne doit élargir la page */
.post-aside,.toc,.toc a,.pds-text,.post-body{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.pds-actions .btn{white-space:normal;text-align:center;max-width:100%;line-height:1.25}}
@media (max-width:420px){.tarif .montant{white-space:normal;text-align:right;font-size:1.1rem;max-width:9.5em}}
.mobile-rdv .btn-rdv{min-width:0}
.centre-body,.centre-meta{min-width:0;overflow-wrap:anywhere}
.centre-body{grid-template-columns:minmax(0,1fr)}
@media (max-width:400px){.centre-body .btn{white-space:normal;text-align:center}}
@media (max-width:360px){.mobile-rdv .btn-rdv{padding-inline:1em;font-size:.95rem}}

/* ═══ Blog automatique (liste, filtres, à la une, pages) ═══ */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.blog{padding-block:clamp(36px,5vw,72px)}
.blog-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4em 1.5em;margin-bottom:clamp(18px,2.4vw,28px)}
.blog-count{color:var(--gris);font-size:.95rem;font-variant-numeric:tabular-nums}
.blog-tools{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px);padding-bottom:clamp(20px,2.6vw,28px);border-bottom:1px solid var(--hairline)}
.blog-tools-row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.chip{display:inline-flex;align-items:center;gap:.45em;padding:.5em 1em;border-radius:999px;border:1px solid var(--hairline);font-size:.92rem;line-height:1.1;color:var(--gris);text-decoration:none;white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.chip span{font-size:.8em;opacity:.65;font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--noir);color:var(--noir)}
.chip[aria-current="page"]{background:var(--noir);border-color:var(--noir);color:var(--blanc)}
.chip[aria-current="page"] span{opacity:.75}
.chips-ville .chip[data-ville][aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--blanc)}
.chips-ville .chip[data-ville="paris"][aria-current="page"]{background:var(--paris-tint);border-color:var(--paris-tint);color:var(--noir)}
.blog-search{display:flex;align-items:center;border:1px solid var(--hairline);border-radius:999px;padding:2px 4px 2px 16px;min-width:min(100%,300px);background:var(--blanc);transition:border-color .25s var(--ease)}
.blog-search:focus-within{border-color:var(--noir)}
.blog-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:.95rem;padding:.55em 0;color:var(--noir)}
.blog-search input::-webkit-search-cancel-button{cursor:pointer}
.blog-search button{display:inline-grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;cursor:pointer;color:var(--noir)}
.blog-search button:hover{background:rgba(0,0,0,.06)}
.blog-search svg{width:19px;height:19px}
.blog-featured{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(22px,4vw,64px);align-items:center;margin-bottom:clamp(40px,5vw,72px)}
.blog-featured .cover{display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.blog-featured .cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.blog-featured:hover .cover img{transform:scale(1.03)}
.blog-featured-text{display:grid;gap:1em;align-content:center;min-width:0}
.blog-featured h2{font-size:clamp(1.7rem,2.9vw,2.6rem);line-height:1.08}
.blog-featured h2 a{text-decoration:none}
.blog-featured h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin:0}
.article .excerpt,.blog-featured .excerpt{color:var(--gris);font-size:.95rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-featured .excerpt{font-size:1.05rem;-webkit-line-clamp:4}
.article-meta{display:flex;flex-wrap:wrap;gap:.3em .9em;font-size:.85rem;color:var(--gris);margin:0;font-variant-numeric:tabular-nums}
.article-meta span::before{content:"·";margin-right:.9em}
.article .tags .tag:not([data-ville]):hover{border-color:var(--noir);color:var(--noir)}
.blog-empty{color:var(--gris);padding:2em 0;border-top:1px solid var(--hairline)}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:clamp(36px,5vw,64px);padding-top:clamp(20px,2.6vw,28px);border-top:1px solid var(--hairline)}
.pagination ol{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.pagination li a,.pagination li span{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .5em;border-radius:999px;text-decoration:none;font-variant-numeric:tabular-nums;color:var(--noir)}
.pagination li a:hover{background:rgba(0,0,0,.06)}
.pagination li span[aria-current]{background:var(--noir);color:var(--blanc)}
.pagination .pg-gap{display:inline-grid;place-items:center;min-width:24px;color:var(--gris)}
.pg-prev,.pg-next{display:inline-flex;align-items:center;gap:.5em;text-decoration:none;font-weight:500}
.pg-next{justify-self:end}
.pg-prev svg,.pg-next svg{width:1.1em;height:1.1em}
#conseils .chips{margin-bottom:clamp(20px,3vw,32px)}
@media (max-width:860px){
  .blog-featured{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .blog-tools .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent 100%)}
  .blog-tools .chips::-webkit-scrollbar{display:none}
  .blog-tools-row{display:grid;gap:12px}
  .blog-search{min-width:0;width:100%}
  .pagination{grid-template-columns:auto 1fr auto}
  .pagination ol{justify-content:center}
  .pg-prev span,.pg-next span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
  .pg-prev,.pg-next{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--hairline);border-radius:50%}
  .pg-prev[aria-hidden],.pg-next[aria-hidden]{border:0}
  #conseils .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
}
@media (prefers-reduced-motion:reduce){.blog-featured .cover img,.article a.cover img{transition:none}}
@media (max-width:400px){
  .pagination{gap:8px}
  .pagination ol{gap:2px}
  .pagination li a,.pagination li span{min-width:34px;height:34px;padding:0 .3em}
  .pagination .pg-gap{min-width:16px}
  .pg-prev,.pg-next{width:36px;height:36px}
}
@media (max-width:360px){header .wordmark,.site-header .wordmark{font-size:.95rem;gap:.45em}header .wordmark img,.site-header .wordmark img{height:30px}}
@media (max-width:400px){.pds-landing-header .wrap{gap:12px}.pds-landing-header .wordmark{font-size:.9rem;gap:.4em;min-width:0}.pds-landing-header .wordmark img{height:28px}.pds-landing-tel{font-size:.9rem}}
