/* Nacrina — base : styles de blocs, bloc Icône, utilitaires.
   Les couleurs/polices viennent de theme.json (variables --wp--preset--*). */

:root{
	--ns-accent: var(--wp--preset--color--accent);
	--ns-accent-dark: var(--wp--preset--color--accent-dark);
	--ns-ink: var(--wp--preset--color--contrast);
	--ns-text: var(--wp--preset--color--body-text);
	--ns-muted: var(--wp--preset--color--muted);
	--ns-line: var(--wp--preset--color--line);
	--ns-white: var(--wp--preset--color--white);
	--ns-blush: var(--wp--preset--color--blush);
	--ns-star: var(--wp--preset--color--star);
	--ns-serif: var(--wp--preset--font-family--serif);
	--ns-sans: var(--wp--preset--font-family--sans);
	--ns-radius: 3px;
	--ns-shadow: var(--wp--preset--shadow--soft);
	--ns-ease: .25s ease;
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:where(.wp-site-blocks) > *{margin-block-start:0}
[hidden]{display:none!important}
.screen-reader-text:not(:focus){clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}

/* ---------- Icône ---------- */
.ns-icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.ns-icon-block{display:inline-flex;align-items:center;justify-content:center;color:var(--ns-accent);line-height:0}
.ns-icon-block .ns-icon{width:var(--ns-icon-size,36px);height:var(--ns-icon-size,36px);stroke-width:var(--ns-icon-stroke,1.3)}
.ns-icon-block.is-circle{width:calc(var(--ns-icon-size,36px) * 1.85);height:calc(var(--ns-icon-size,36px) * 1.85);border-radius:50%;background:var(--ns-blush)}
.ns-icon-block.has-background{border-radius:50%;padding:.6em}
.ns-icon-block.aligncenter{display:flex;margin-inline:auto}
.ns-icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:0 0 16px}
.ns-icon-picker__btn{border:1px solid #ddd;background:#fff;border-radius:4px;aspect-ratio:1;display:grid;place-items:center;cursor:pointer;padding:4px}
.ns-icon-picker__btn .ns-icon{width:20px;height:20px}
.ns-icon-picker__btn.is-active{border-color:var(--ns-accent);background:#fbf2ee}

/* ---------- Boutons ---------- */
.wp-block-button__link,.wp-element-button{transition:background var(--ns-ease),color var(--ns-ease),border-color var(--ns-ease);display:inline-flex;align-items:center;justify-content:center;gap:.6em}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ns-ink);border:1px solid var(--ns-accent)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ns-accent);color:#fff}
.wp-block-button.is-style-dark .wp-block-button__link{background:var(--ns-ink);color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:15px}
.wp-block-button.is-style-dark .wp-block-button__link:hover{background:var(--ns-accent)}
.wp-block-button.is-style-square .wp-block-button__link{border-radius:var(--ns-radius)}
.ns-arrow::after,.wp-block-button.has-arrow .wp-block-button__link::after{content:"";width:1em;height:1em;flex:none;background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Groupes ---------- */
.wp-block-group.is-style-card{background:var(--ns-white);border:1px solid var(--ns-line);transition:box-shadow var(--ns-ease),transform var(--ns-ease)}
a .wp-block-group.is-style-card:hover,.wp-block-group.is-style-card.is-link:hover,.wp-block-group.is-style-card:has(> a:first-child:hover){box-shadow:var(--ns-shadow)}
.wp-block-group.is-style-panel{background:var(--wp--preset--color--base-soft);border-radius:var(--ns-radius)}
.ns-hover-lift{transition:box-shadow var(--ns-ease),transform var(--ns-ease)}
.ns-hover-lift:hover{box-shadow:var(--ns-shadow);transform:translateY(-3px)}

/* ---------- Paragraphes ---------- */
p.is-style-eyebrow{font-size:var(--wp--preset--font-size--x-small);letter-spacing:.14em;text-transform:uppercase;color:var(--ns-ink)}
p.is-style-link-arrow a,p.is-style-link-arrow{display:inline-flex;align-items:center;gap:6px}
p.is-style-link-arrow a{color:var(--ns-accent-dark);border-bottom:1px solid var(--ns-accent);padding-bottom:1px;font-size:var(--wp--preset--font-size--small)}
p.is-style-link-arrow a::after{content:"";width:13px;height:13px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
p.is-style-link-arrow a:hover{color:var(--ns-ink)}

/* ---------- Listes ---------- */
ul.is-style-checks{list-style:none;padding-left:0}
ul.is-style-checks li{position:relative;padding-left:30px;margin-top:8px}
ul.is-style-checks li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:#ecd9d3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a56e63' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") no-repeat center/12px}
ol.is-style-steps{list-style:none;padding-left:0;counter-reset:ns-step}
ol.is-style-steps li{counter-increment:ns-step;display:flex;align-items:center;gap:14px;margin-bottom:9px}
ol.is-style-steps li::before{content:counter(ns-step);width:22px;height:22px;border-radius:50%;background:var(--ns-accent);color:#fff;font-size:14px;display:grid;place-items:center;flex:none}

/* ---------- Images ---------- */
.wp-block-image.is-style-avatar img{border-radius:50%;aspect-ratio:1;object-fit:cover}
.ns-cover-img img,.ns-cover-img{width:100%;height:100%;object-fit:cover}

/* ---------- Colonnes à séparateurs ---------- */
.wp-block-columns.is-style-dividers > .wp-block-column + .wp-block-column{border-left:1px solid var(--ns-line);padding-left:var(--wp--preset--spacing--40)}
@media (max-width:781px){.wp-block-columns.is-style-dividers > .wp-block-column + .wp-block-column{border-left:0;padding-left:0}}

/* ---------- Questions (details) ---------- */
.wp-block-details.is-style-faq{background:var(--ns-white);border:1px solid var(--ns-line);border-radius:var(--ns-radius);padding:0 20px}
.wp-block-details.is-style-faq + .wp-block-details.is-style-faq{margin-top:10px}
.wp-block-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;color:var(--ns-ink);font-weight:500}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";font-size:1.3em;font-weight:300;color:var(--ns-accent);line-height:1}
.wp-block-details[open] summary::after{content:"−"}
.wp-block-details > :not(summary){color:var(--ns-muted);margin:0 0 14px}

/* ---------- Étoiles ---------- */
.ns-stars{--r:100%;display:inline-block;font-size:15px;letter-spacing:2px;line-height:1;background:linear-gradient(90deg,var(--ns-star) var(--r),#e3d8d0 var(--r));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Utilitaires ---------- */
.ns-serif{font-family:var(--ns-serif)}
.ns-muted{color:var(--ns-muted)}
.ns-nowrap{white-space:nowrap}
.ns-full-height{height:100%}
.ns-overflow-hidden{overflow:hidden}
.ns-img-fill{position:relative;overflow:hidden}
.ns-img-fill > img,.ns-img-fill .wp-block-image,.ns-img-fill .wp-block-image img{width:100%;height:100%;object-fit:cover;margin:0}
@media (max-width:781px){.ns-hide-mobile{display:none!important}}
@media (min-width:782px){.ns-hide-desktop{display:none!important}}

/* Fil d’Ariane WooCommerce */
.ns-sep{margin-inline:.45em;color:var(--ns-muted)}

/* Fonds pleine largeur en 100vw (ns-psec--soft…) : pas de défilement horizontal, sur toutes les pages */
.wp-site-blocks{overflow-x:clip}
