/* Webdeev — compléments WordPress au design (main.css).
   Blocs de l'éditeur, formulaires, administration, états. */

/* Barre d'administration */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.custom-logo{width:180px;height:auto}

/* Formulaires : pot de miel, boutons, messages */
.wd-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wd-form>button[type=submit],#project-form>button{margin-top:30px}
.wd-form button[disabled]{opacity:.55;cursor:wait}
.contact-response{display:flex;gap:18px;align-items:flex-start;padding:24px 28px;margin:0 0 35px;background:#f4f3ef;color:#151514;border-left:6px solid var(--red);border-radius:2px;font-size:16px;line-height:1.6;box-shadow:0 20px 40px #0004}
.contact-response:before{content:"✓";flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-size:18px;font-weight:600}
.contact-response.error{border-left-color:#c40000;background:#fff1f1}
.contact-response.error:before{content:"!"}
.contact-response a{color:#151514}
.cream .contact-response{background:#151514;color:#f4f3ef}
.contact-response a{text-decoration:underline}
.wd-form-shortcode .wpcf7-form label,.wd-form-shortcode label{display:block;font-size:13px;color:#d0cfc7;margin-top:18px}
.wd-form-shortcode input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wd-form-shortcode select,.wd-form-shortcode textarea{display:block;width:100%;border:0;border-bottom:1px solid #ffffff55;background:none;color:var(--ink);padding:15px 0;border-radius:0;font-size:17px;min-height:58px}
.wd-form-shortcode input[type=submit],.wd-form-shortcode button[type=submit]{display:inline-flex;align-items:center;min-height:60px;margin-top:30px;padding:9px 23px;background:#f4f3ef;color:#151514;border:1px solid #f4f3ef;border-radius:2px;font-size:14px;cursor:pointer}
.wd-form-shortcode input[type=submit]:hover{background:#deddd5}
.wd-searchform{margin-bottom:60px}
.wd-searchform .button{margin-top:20px}
.wd-search{padding-bottom:20px}

/* Fiche réalisation : capture mobile réelle dans le cadre téléphone */
.phone-inner.wd-phone-shot{padding:0;display:block;overflow:hidden}
.phone-inner.wd-phone-shot img{width:100%;height:100%;object-fit:cover;object-position:top}

/* Contenu de page standard (colonne de lecture) */
.wd-page-content{padding-block:25px 110px;font-size:18px;line-height:1.8}
.wd-page-content h2{font-size:clamp(30px,4vw,48px);margin-top:55px}
.wd-page-content h3{font-size:clamp(22px,2.4vw,30px);margin-top:36px}
.wd-page-content h4{font-size:20px;margin-top:28px}
.wd-page-content p,.wd-page-content li{color:var(--muted);font-size:17px}
.wd-page-content p{margin-block:22px}
.wd-page-content ul,.wd-page-content ol{padding-left:22px;margin:22px 0}
.wd-page-content li{margin:10px 0}
.wd-page-content a:not(.button):not(.text-link){text-decoration:underline;text-underline-offset:4px}
.wd-page-content .button{margin-top:10px}
.wd-page-content .deliverables{padding-left:0}
.wd-page-content .deliverables>li,.article-body .deliverables>li{color:var(--ink)}

/* Blocs Gutenberg dans les articles et pages */
.article-body h4,.article-body h5{margin-top:30px}
.article-body ul,.article-body ol{padding-left:22px}
.article-body blockquote,.wd-page-content blockquote{margin:40px 0;padding-left:26px;border-left:2px solid var(--red)}
.article-body blockquote p{font-family:Instrument,Georgia,serif;font-size:24px;line-height:1.35;color:var(--ink)}
.article-body figure,.wd-page-content figure{margin:40px 0}
.article-body figcaption,.wd-page-content figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.article-body .wp-block-image img,.wd-page-content .wp-block-image img{height:auto}
.article-body table,.wd-page-content table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15px}
.article-body th,.article-body td,.wd-page-content th,.wd-page-content td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left}
.article-body pre,.wd-page-content pre{background:#00000055;padding:20px;overflow:auto;font-size:14px}
.article-body code,.wd-page-content code{font-family:monospace;font-size:.9em}
.article-body hr,.wd-page-content hr{border:0;border-top:1px solid var(--line);margin:50px 0}
.article-body iframe,.wd-page-content iframe{max-width:100%}
.article-body .wp-block-buttons .wp-block-button__link{display:inline-flex;align-items:center;min-height:56px;padding:9px 23px;border:1px solid #ffffff4d;border-radius:2px;background:transparent;color:inherit;font-size:14px;text-decoration:none}
.article-body .wp-block-buttons .wp-block-button__link:hover{background:var(--ink);color:var(--bg)}
.article-body .alignwide{max-width:1712px;margin-inline:auto}
.article-body .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.wp-block-group{box-sizing:border-box}
.cream .wd-page-content p,.cream .article-body p{color:#5b5b56}

/* Anciennes pages Elementor lues sans Elementor : neutralise les conteneurs restants */
.elementor,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap{display:block;width:auto;max-width:100%}

/* Sections libres sur l'accueil et FAQ dans une page */
.wd-free-content>.faq,.wd-free-content>.wrap{margin-block:0}
.faq .faq-answer{max-width:850px;font-size:16px;margin:25px 0 0 55px;line-height:1.8}
.faq .faq-answer p{margin:0 0 14px}

/* Navigation entre articles et pagination */
.post-navigation{display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap;padding-bottom:80px}
.pagination{padding-bottom:80px}
.pagination .nav-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:2px;font-size:14px}
.pagination .page-numbers.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pagination .page-numbers.dots{border:0}
.journal-list>a>img{width:100%;height:auto}
.home-journal{padding-top:60px}

/* Commentaires */
.wd-comments{padding-bottom:100px}
.wd-comments h2{font-size:32px;margin-bottom:30px}
.wd-comments .comment-list{list-style:none;padding:0;margin:0 0 40px}
.wd-comments .comment{padding:22px 0;border-top:1px solid var(--line)}
.wd-comments .comment-author img{border-radius:50%;margin-right:10px;vertical-align:middle}
.wd-comments .comment-metadata{font-size:12px;color:var(--muted);margin:6px 0 12px}
.wd-comments .comment-form label{display:block;font-size:13px;color:#d0cfc7;margin-top:18px}
.wd-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wd-comments .comment-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #ffffff55;background:none;color:var(--ink);padding:15px 0;font-size:17px}
.wd-comments .comment-form .submit{display:inline-flex;align-items:center;min-height:56px;margin-top:24px;padding:9px 23px;background:#f4f3ef;color:#151514;border:1px solid #f4f3ef;border-radius:2px;font-size:14px;cursor:pointer}

/* Menus : lien courant dans le pied de page */
.footer-main>div>a[aria-current]{color:var(--ink)}

@media(max-width:820px){
	.contact-response{margin-bottom:25px}
}

/* ---------------------------------------------------------------------
   Écrans : MacBook + iPhone (.wd-duo) — partout où un projet est montré
   Variantes : .wd-duo-card (grille, projets liés), .wd-duo-world (accueil),
   .wd-duo-stage (bloc « Au bureau. Dans la poche. » de la fiche)
   --------------------------------------------------------------------- */
.wd-duo{position:relative;width:100%}
.wd-mac{position:relative;z-index:1}
.wd-mac-screen{position:relative;background:#0f1214;border:8px solid #1b1f22;border-bottom-width:10px;border-radius:14px 14px 5px 5px;overflow:hidden}
.wd-mac-cam{position:absolute;top:-5px;left:50%;width:4px;height:4px;margin-left:-2px;background:#2b3236;border-radius:50%;box-shadow:0 0 0 2px #0f1214;z-index:2}
.wd-mac-view{aspect-ratio:16/10;overflow:hidden;background:#111}
.wd-mac-view a{display:block;height:100%}
.wd-mac-view img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;box-shadow:none;transform:none!important}
.wd-mac-base{position:relative;height:12px;margin:0 -3.2%;background:linear-gradient(#d9dcdc,#b6babc 55%,#8e9396);border-radius:0 0 12px 12px}
.wd-mac-base:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#a7abae;border-radius:0 0 3px 3px}
.wd-mac-base>span{position:absolute;top:0;left:50%;width:14%;height:4px;margin-left:-7%;background:#7f8487;border-radius:0 0 5px 5px}
.wd-iphone{position:absolute;right:2%;bottom:-2%;width:21%;z-index:2;border:5px solid #1b1f22;border-radius:14% / 6.5%;background:#0f1214;overflow:hidden;box-shadow:0 0 0 1px #3a3f43,0 24px 45px #0006;transform:rotate(4deg);transform-origin:bottom center;transition:transform .8s var(--ease)}
.wd-iphone-island{position:absolute;top:3.5%;left:50%;width:32%;height:2.6%;margin-left:-16%;background:#050708;border-radius:20px;z-index:2}
.wd-iphone-view{aspect-ratio:390/844;overflow:hidden;border-radius:11% / 5%}
.wd-iphone-view img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;box-shadow:none;transform:none!important}
.wd-iphone-fallback .wd-iphone-view img{object-position:50% 0}
.wd-iphone-bar{position:absolute;bottom:2.5%;left:50%;width:36%;height:1.3%;margin-left:-18%;background:#fff;border-radius:6px;opacity:.85;z-index:2}
.project:hover .wd-iphone,.world-link:hover .wd-iphone{transform:rotate(2deg) translateY(-3%)}

/* Cartes du portfolio et projets liés */
.project-visual.wd-framed{padding:8% 9% 9% 7%}
.project-visual.wd-framed>.wd-duo{filter:drop-shadow(0 18px 30px #0004)}
.project-visual.wd-framed .project-open{z-index:3}

/* Accueil : les trois « mondes » — le duo est borné par la hauteur disponible, sans chevaucher les textes */
.world-screen.wd-world-duo{overflow:visible;box-shadow:none;height:100%;width:auto;max-width:78%;aspect-ratio:16/10.6;margin:auto;display:flex;flex-direction:column;justify-content:flex-end}
.world-screen.wd-world-duo>.wd-duo{height:100%;display:flex;flex-direction:column;filter:drop-shadow(0 30px 60px #0006)}
.wd-duo-world .wd-mac{flex:1;min-height:0;display:flex;flex-direction:column}
.wd-duo-world .wd-mac-screen{flex:1;min-height:0;display:flex;flex-direction:column}
.wd-duo-world .wd-mac-view{flex:1;min-height:0;height:auto;aspect-ratio:auto}
.wd-duo-world .wd-mac-base{flex:none}
.wd-duo-world .wd-iphone{width:17%;right:-6%;bottom:0}
.world-screen.wd-world-duo .world-enter{z-index:4;right:auto;left:5%;bottom:14px}
.world-link:hover .world-screen.wd-world-duo>img{transform:none}

/* Fiche réalisation : grande scène */
.wd-devices{padding:60px 0 20px}
.wd-duo-stage{width:88%}
.wd-duo-stage .wd-mac-screen{border-width:10px;border-bottom-width:12px;border-radius:18px 18px 6px 6px}
.wd-duo-stage .wd-mac-base{height:16px}
.wd-duo-stage .wd-iphone{width:24%;right:-11%;bottom:-6%;border-width:7px;box-shadow:0 0 0 2px #3a3f43,0 35px 70px #12302540}
.wd-duo-stage>.wd-mac{filter:drop-shadow(0 40px 60px #0c302c2e)}
.wd-devices-caption{margin-top:22px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#405a50}
.devices-stage .device-note a{margin-left:10px;text-decoration:underline;text-underline-offset:4px}
.devices-stage .device-note{margin-top:35px}
@media(max-width:900px){
	.wd-devices{padding-top:40px}
	.wd-duo-stage{width:100%}
	.wd-duo-stage .wd-iphone{right:-2%;width:26%}
	.wd-duo-stage .wd-mac-base{height:12px}
}
@media(max-width:520px){
	.world-screen.wd-world-duo{max-width:86%}
	.wd-duo-world .wd-iphone{right:-4%}
	.wd-mac-screen{border-width:5px;border-bottom-width:7px;border-radius:10px 10px 4px 4px}
	.wd-mac-base{height:8px}
}
@media(prefers-reduced-motion:reduce){
	.wd-iphone{transition:none}
	.wd-iphone{transform:none}
}
.motion-off .wd-iphone{transition:none}

/* Éviter que le bouton « Entrer dans le projet » et le « ↗ » des cartes ne passent sous l'iPhone */
.project-visual.wd-framed .project-open{top:18px;bottom:auto}

/* ---------------------------------------------------------------------
   Écran d'arrivée : animation pilotée par le défilement directement par le
   navigateur (Chrome, Edge, Safari 26+) — plus fluide, indépendante du JS.
   Les autres navigateurs gardent le calcul JS (main.js).
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {
	html.scroll-timeline .portal-journey{view-timeline:--wd-journey block;view-timeline-inset:0}
	html.scroll-timeline .portal-image,
	html.scroll-timeline .portal-shade,
	html.scroll-timeline .portal-copy,
	html.scroll-timeline .portal-coordinate,
	html.scroll-timeline .portal-bottom,
	html.scroll-timeline .portal-line{animation-timeline:--wd-journey;animation-range:contain 0% contain 100%;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto}
	html.scroll-timeline .portal-image{animation-name:wd-portal-zoom}
	html.scroll-timeline .portal-shade{animation-name:wd-portal-shade}
	html.scroll-timeline .portal-copy{animation-name:wd-portal-copy}
	html.scroll-timeline .portal-coordinate,html.scroll-timeline .portal-bottom{animation-name:wd-portal-fade}
	html.scroll-timeline .portal-line{animation-name:wd-portal-line}
	html.scroll-timeline.motion-off .portal-image,html.scroll-timeline.motion-off .portal-shade,html.scroll-timeline.motion-off .portal-copy,html.scroll-timeline.motion-off .portal-coordinate,html.scroll-timeline.motion-off .portal-bottom,html.scroll-timeline.motion-off .portal-line{animation:none}
	@keyframes wd-portal-zoom{from{transform:translate3d(0,0,0) scale(1.025)}to{transform:translate3d(var(--wd-zoom-pan,-8vw),0,0) scale(var(--wd-zoom-max,1.45))}}
	@keyframes wd-portal-shade{from{opacity:1}to{opacity:.45}}
	@keyframes wd-portal-copy{0%{opacity:1;transform:translate3d(0,0,0)}43.5%{opacity:0;transform:translate3d(0,-43px,0)}100%{opacity:0;transform:translate3d(0,-100px,0)}}
	@keyframes wd-portal-fade{0%{opacity:1}43.5%{opacity:0}100%{opacity:0}}
	@keyframes wd-portal-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
.portal-copy,.portal-shade,.portal-line{will-change:transform,opacity}
.portal-stage{contain:layout paint}
@media(max-width:820px){.portal-image>img{will-change:auto}}

/* Intensité du zoom de l'écran d'arrivée (Réglages du site → Accueil) */
.portal-stage{--wd-zoom-max:1.45;--wd-zoom-pan:-8vw}
.portal-stage.wd-zoom-light{--wd-zoom-max:1.25;--wd-zoom-pan:-4vw}
.portal-stage.wd-zoom-strong{--wd-zoom-max:2.1;--wd-zoom-pan:-19vw}
.portal-stage.wd-zoom-none{--wd-zoom-max:1.025;--wd-zoom-pan:0px}

/* Cahier des charges : choix à cocher, message pré-rempli */
.wdc-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.wdc-choice{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #ffffff55;border-radius:2px;font-size:14px;color:var(--ink);cursor:pointer}
.wdc-choice:has(input:checked){border-color:var(--red);background:#f0000018}
.wdc-choice input{margin:0;accent-color:var(--red)}
.contact-response.wd-prefilled:before{content:"→";background:transparent;color:inherit;font-size:22px}
.contact-note .text-link{margin-top:14px;font-size:13px}

/* iOS : les flèches restent des glyphes texte, jamais des emoji */
body{font-variant-emoji:text}

/* Cahier des charges bien visible : cartes de choix, lien menu, menu mobile, section finale */
.wd-brief-choice{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:70px}
.wd-choice-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:32px 36px 30px;border:1px solid #ffffff33;border-radius:2px;transition:border-color .3s,background .3s}
.wd-choice-card .mono{color:var(--red)}
.wd-choice-card strong{font-size:clamp(22px,2.2vw,30px);font-weight:400;letter-spacing:-.03em;line-height:1.15}
.wd-choice-card>span:not(.mono){color:var(--muted);font-size:15px;line-height:1.6}
.wd-choice-card>em{position:absolute;top:26px;right:28px;font-style:normal;font-size:26px;color:var(--red);transition:transform .3s}
.wd-choice-card:hover{border-color:#ffffff88;background:#ffffff08}
.wd-choice-card:hover>em{transform:translate(3px,-3px)}
.wd-choice-full{background:#f4f3ef;color:#151514;border-color:#f4f3ef}
.wd-choice-full>span:not(.mono){color:#5b5b56}
.wd-choice-full:hover{background:#deddd5;border-color:#deddd5}
.desktop-nav>a.nav-brief{color:var(--red)}
#mobile-menu>a.mobile-brief{display:inline-flex;align-items:center;gap:12px;margin-top:10px;padding:16px 22px;background:var(--red);color:#fff;font-size:15px;border-radius:2px}
.closing-bottom>.text-link+.text-link{margin-left:24px}
@media(max-width:820px){.wd-brief-choice{grid-template-columns:1fr;gap:14px}.wd-choice-card{padding:24px}}
