/* Nacrina — Mon compte : connexion / inscription, espace client (menu, tableau de bord, formulaires). */

.ns-account-page .wp-block-post-content > .woocommerce,
.ns-account-page .wp-block-post-content > *{margin-block-start:0}
.ns-account-page .wp-block-post-content > .woocommerce{max-width:none!important;margin:0!important;padding:0!important}

/* =========================================================================
 * Connexion / inscription
 * ====================================================================== */
.ns-acc{display:grid;grid-template-columns:52.5% minmax(0,1fr);align-items:center;padding-top:26px}
.ns-acc__visual{align-self:stretch;display:flex}
.ns-acc__visual > *{flex:1;margin:0}
.ns-acc-intro{min-height:640px!important;height:100%;padding:84px 40px 40px 80px!important;align-items:flex-start!important}
.ns-acc-intro .wp-block-cover__background{background:linear-gradient(90deg,rgba(250,244,238,.82) 0%,rgba(250,244,238,.55) 38%,rgba(250,244,238,0) 68%)!important;opacity:1!important}
.ns-acc-intro .wp-block-cover__inner-container{max-width:440px;margin:0!important}
.ns-acc-intro h1{line-height:1.05;margin:0 0 22px}
.ns-acc-intro__lead{line-height:1.55;margin:0}
.ns-acc-intro__list{margin-top:40px!important}
.ns-acc-intro__list p{margin:0;font-size:16.5px}
.ns-acc-intro__list .ns-icon-block{color:var(--ns-accent-dark)}

.ns-acc__side{padding:20px 70px}
.ns-acc__card{background:#fff;border:1px solid #ece5de;border-radius:10px;padding:36px 44px 40px;max-width:544px;margin-left:auto;box-shadow:0 8px 30px rgba(120,80,70,.04)}

.ns-acc__tabs{display:flex;justify-content:center;gap:70px;border-bottom:1px solid #ddd;margin-bottom:30px}
.ns-acc__tabs [role=tab]{position:relative;padding:4px 0 12px;font:inherit;font-size:16px;color:var(--ns-muted);background:none;border:0;cursor:pointer}
.ns-acc__tabs [role=tab][aria-selected=true]{color:var(--ns-ink);font-weight:500}
.ns-acc__tabs [role=tab][aria-selected=true]::after{content:"";position:absolute;left:-12px;right:-12px;bottom:-1px;height:2px;background:var(--ns-ink)}
.ns-acc__tabs [role=tab]:hover{color:var(--ns-ink)}
.ns-acc__tabs [role=tab]:focus-visible{outline:2px solid var(--ns-accent);outline-offset:4px}
/* Sans JS : les deux formulaires restent visibles l'un sous l'autre. */
.ns-acc__card:not(.has-js) .ns-acc__tabs{display:none}
.ns-acc__card:not(.has-js) .ns-acc__panel + .ns-acc__panel{border-top:1px solid #ece5de;margin-top:30px;padding-top:30px}

.ns-acc__title{font-family:var(--ns-serif);font-weight:400;font-size:clamp(26px,2.4vw,31px)!important;line-height:1.15;margin:0 0 24px}
.ns-acc .woocommerce-form{border:0!important;padding:0!important;margin:0!important;border-radius:0}
.ns-acc .form-row{display:block;padding:0;margin:0 0 18px}
.ns-acc .form-row label:not(.woocommerce-form__label-for-checkbox){display:block;font-size:15px;font-weight:500;color:var(--ns-ink);margin-bottom:7px;line-height:1.4}
.ns-acc .form-row .required{color:var(--ns-accent-dark);text-decoration:none;border:0}
.ns-acc input.input-text{width:100%;height:42px!important;min-height:0;border:1px solid #d6d0ca;border-radius:4px;background:#fff;padding:0 14px;font:inherit;font-size:15.5px;color:var(--ns-ink);outline:none;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.ns-acc input.input-text:focus{border-color:var(--ns-accent);box-shadow:0 0 0 3px rgba(185,130,119,.15)}
.ns-acc .password-input{display:block;position:relative}
.ns-acc .password-input input{padding-right:44px}
.ns-acc .show-password-input{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;background:none;border:0;color:var(--ns-muted);cursor:pointer}
.ns-acc .show-password-input::after{color:inherit}
.ns-acc__2cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ns-acc__row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 26px}
.ns-acc__row label,.ns-acc__check label{display:inline-flex!important;align-items:flex-start;gap:10px;font-size:15px;color:var(--ns-text);line-height:1.45;margin:0;cursor:pointer}
.ns-acc input[type=checkbox]{appearance:none;-webkit-appearance:none;width:17px;height:17px;flex:none;margin:1px 0 0;border:1px solid #c9b7ae;border-radius:3px;background:#fff;display:grid;place-items:center;cursor:pointer}
.ns-acc input[type=checkbox]:checked{background:var(--ns-accent);border-color:var(--ns-accent)}
.ns-acc input[type=checkbox]:checked::after{content:"";width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.ns-acc input[type=checkbox]:focus-visible{outline:2px solid var(--ns-accent);outline-offset:2px}
.ns-acc__link,.ns-acc__switch a{color:var(--ns-ink);font-size:15px;text-decoration:underline;text-underline-offset:3px}
.ns-acc__link:hover,.ns-acc__switch a:hover{color:var(--ns-accent-dark)}
.ns-acc__hint{font-size:15px;color:var(--ns-muted);margin:-6px 0 16px}
.ns-acc .woocommerce-privacy-policy-text{font-size:14px;color:var(--ns-muted);line-height:1.5;margin-bottom:16px}
.ns-acc .woocommerce-privacy-policy-text a{color:inherit;text-decoration:underline}

.ns-acc .ns-acc__submit{display:block;width:100%;height:46px;margin:10px 0 0;background:#171717;color:#fff;border:0;border-radius:3px;font:inherit;font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--ns-ease)}
.ns-acc .ns-acc__submit:hover{background:#3a3330;color:#fff}

.ns-acc__or{display:flex;align-items:center;gap:14px;margin:26px 0 22px;font-size:16px;color:var(--ns-muted)}
.ns-acc__or::before,.ns-acc__or::after{content:"";flex:1;height:1px;background:#ece5de}
.ns-acc__social{display:flex;flex-direction:column;gap:12px}
.ns-acc__social-btn,.ns-acc__social a,.ns-acc__social button{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #cfc8c2;border-radius:3px;background:#fff;font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ns-ink);text-decoration:none;transition:border-color .2s}
.ns-acc__social-btn:hover,.ns-acc__social a:hover,.ns-acc__social button:hover{border-color:var(--ns-ink)}
.ns-acc__switch{text-align:center;font-size:15.5px;color:var(--ns-ink);margin:24px 0 0}
.ns-acc__switch a{font-size:15.5px}

.ns-acc__benefits{margin:0 0 70px}
.ns-account-page .woocommerce-notices-wrapper:empty{display:none}
.ns-account-page .woocommerce-notices-wrapper,.ns-account-page .woocommerce-error,.ns-account-page .woocommerce-message,.ns-account-page .woocommerce-info{max-width:90rem;margin-inline:auto}

/* Mot de passe oublié / réinitialisation (gabarits WooCommerce standard) */
.ns-account-page .woocommerce-ResetPassword,.ns-account-page .woocommerce-form-login:not(.ns-acc .woocommerce-form-login){max-width:520px;margin:50px auto;background:#fff;border:1px solid #ece5de;border-radius:10px;padding:36px 40px}

/* =========================================================================
 * Espace client
 * ====================================================================== */
.ns-account{max-width:90rem;margin:0 auto;padding:40px var(--wp--style--root--padding-right,24px) 80px}
.ns-account__head{margin-bottom:34px}
.ns-account__kicker{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ns-accent-dark);margin:0 0 6px}
.ns-account__title{font-family:var(--ns-serif);font-weight:400;font-size:clamp(34px,4vw,48px);line-height:1.1;margin:0}
.ns-account__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}

.ns-acc-nav{background:#fff;border:1px solid #ece5de;border-radius:8px;padding:10px;position:sticky;top:110px}
.ns-acc-nav ul{list-style:none;margin:0;padding:0}
.ns-acc-nav li{margin:0}
.ns-acc-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:6px;font-size:15.5px;color:var(--ns-text);text-decoration:none;transition:background var(--ns-ease),color var(--ns-ease)}
.ns-acc-nav a .ns-icon{width:19px;height:19px;color:var(--ns-accent);stroke-width:1.5}
.ns-acc-nav a:hover{background:#faf4f0;color:var(--ns-ink)}
.ns-acc-nav .is-active a{background:#f6ede9;color:var(--ns-ink);font-weight:500}
.ns-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout{border-top:1px solid #ece5de;margin-top:6px;padding-top:6px}
.ns-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--ns-muted)}

.ns-account .woocommerce-MyAccount-content{float:none;width:auto;min-width:0;font-size:16px;color:var(--ns-text)}
.ns-account .woocommerce-MyAccount-content > h2,.ns-account .woocommerce-MyAccount-content h3,.ns-account .woocommerce-column__title{font-family:var(--ns-serif);font-weight:400;color:var(--ns-ink)}
.ns-account .woocommerce-MyAccount-content a:not(.button):not(.ns-dash__tile):not(.ns-dash__btn){color:var(--ns-accent-dark)}

/* Tableau de bord */
.ns-dash__intro{font-size:16px;line-height:1.6;margin:0 0 26px;max-width:640px}
.ns-dash__last{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#f6ede9;border-radius:8px;padding:22px 26px;margin-bottom:26px}
.ns-dash__last p{margin:0}
.ns-dash__label{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ns-accent-dark)}
.ns-dash__order{font-family:var(--ns-serif);font-size:22px;color:var(--ns-ink);margin:4px 0!important}
.ns-dash__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15.5px}
.ns-dash__status{display:inline-block;padding:3px 10px;border-radius:999px;background:#fff;font-size:14px;font-weight:500;color:var(--ns-ink)}
.ns-dash__status.status-processing,.ns-dash__status.status-completed{background:#e6efe6;color:#3f6146}
.ns-dash__status.status-failed,.ns-dash__status.status-cancelled{background:#f7e2de;color:#8e3b30}
.ns-dash__btn{display:inline-flex;align-items:center;height:42px;padding:0 22px;border-radius:999px;background:var(--ns-accent);color:#fff;font-size:15.5px;text-decoration:none;transition:background var(--ns-ease)}
.ns-dash__btn:hover{background:var(--ns-accent-dark);color:#fff}
.ns-dash__tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.ns-dash__tiles li{margin:0}
.ns-dash__tile{display:flex;flex-direction:column;gap:6px;height:100%;background:#fff;border:1px solid #ece5de;border-radius:8px;padding:22px;text-decoration:none;color:var(--ns-text);transition:box-shadow var(--ns-ease),border-color var(--ns-ease)}
.ns-dash__tile:hover{border-color:#e0cfc6;box-shadow:0 10px 30px rgba(120,80,70,.1)}
.ns-dash__icon{width:46px;height:46px;border-radius:50%;background:#f1e3dd;display:grid;place-items:center;margin-bottom:8px}
.ns-dash__icon .ns-icon{width:22px;height:22px;color:var(--ns-accent);stroke-width:1.4}
.ns-dash__tile strong{font-family:var(--ns-serif);font-weight:400;font-size:18px;color:var(--ns-ink)}
.ns-dash__tile span:last-child{font-size:15px;color:var(--ns-muted);line-height:1.45}
.ns-dash__logout{margin-top:26px;font-size:15px;color:var(--ns-muted)}

/* Tableaux, adresses, formulaires du compte */
.ns-account table.shop_table,.ns-account table.woocommerce-orders-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ece5de;border-radius:8px;overflow:hidden;font-size:15.5px}
.ns-account table.shop_table th{background:#faf6f2;font-weight:500;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-muted);text-align:left;padding:12px 16px}
.ns-account table.shop_table td{padding:14px 16px;border-top:1px solid #f0e8e1;vertical-align:middle}
.ns-account .woocommerce-button,.ns-account .button,.ns-account button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border:1px solid var(--ns-accent);border-radius:999px;background:transparent;color:var(--ns-accent-dark);font:inherit;font-size:15px;text-decoration:none;cursor:pointer;transition:background var(--ns-ease),color var(--ns-ease)}
.ns-account .woocommerce-button:hover,.ns-account .button:hover,.ns-account button[type=submit]:hover{background:var(--ns-accent);color:#fff}
.ns-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.ns-account .woocommerce-Addresses::before,.ns-account .woocommerce-Addresses::after{display:none}
.ns-account .woocommerce-Address{float:none;width:auto;background:#fff;border:1px solid #ece5de;border-radius:8px;padding:22px}
.ns-account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ns-account .woocommerce-Address-title h2{font-size:20px;margin:0}
.ns-account .woocommerce-Address address{font-style:normal;line-height:1.6;margin-top:10px}
.ns-account .woocommerce-MyAccount-content form .form-row{margin:0 0 16px;padding:0}
.ns-account .woocommerce-MyAccount-content form label{display:block;font-size:15px;font-weight:500;color:var(--ns-ink);margin-bottom:6px}
.ns-account .woocommerce-MyAccount-content input.input-text,.ns-account .woocommerce-MyAccount-content select,.ns-account .woocommerce-MyAccount-content textarea{width:100%;min-height:42px;border:1px solid #d6d0ca;border-radius:4px;background:#fff;padding:8px 14px;font:inherit;font-size:15.5px;color:var(--ns-ink)}
.ns-account .woocommerce-MyAccount-content input.input-text:focus,.ns-account .woocommerce-MyAccount-content select:focus{border-color:var(--ns-accent);outline:0;box-shadow:0 0 0 3px rgba(185,130,119,.15)}
.ns-account .woocommerce-MyAccount-content fieldset{border:1px solid #ece5de;border-radius:8px;padding:18px 20px;margin:20px 0}
.ns-account mark{background:none;color:var(--ns-ink);font-weight:500}

/* =========================================================================
 * Responsive
 * ====================================================================== */
@media (max-width:1100px){
	.ns-acc__side{padding-inline:32px}
	.ns-acc-intro{padding-left:40px!important}
}
@media (max-width:900px){
	.ns-acc{grid-template-columns:minmax(0,1fr);padding-top:0}
	.ns-acc-intro{min-height:0!important;padding:40px 24px 30px!important}
	.ns-acc-intro__list{margin-top:24px!important}
	.ns-acc__side{padding:24px}
	.ns-acc__card{margin:0 auto}
	.ns-acc__benefits{margin-bottom:40px}
	.ns-account__grid{grid-template-columns:minmax(0,1fr);gap:24px}
	.ns-acc-nav{position:static;padding:6px;overflow-x:auto}
	.ns-acc-nav ul{display:flex;gap:4px}
	.ns-acc-nav a{white-space:nowrap;padding:10px 12px;font-size:15px}
	.ns-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout{border-top:0;margin:0;padding:0}
}
@media (max-width:560px){
	.ns-acc__card{padding:26px 20px 30px}
	.ns-acc__tabs{gap:40px}
	.ns-acc__2cols{grid-template-columns:minmax(0,1fr);gap:0}
	.ns-acc-intro__lead{font-size:16px!important}
	.ns-account{padding-top:24px}
	.ns-dash__last{padding:18px}
	.ns-account table.shop_table_responsive thead{display:none}
	.ns-account table.shop_table_responsive tr{display:block;border-top:1px solid #f0e8e1}
	.ns-account table.shop_table_responsive td{display:flex;justify-content:space-between;gap:12px;border:0;padding:8px 14px}
	.ns-account table.shop_table_responsive td::before{content:attr(data-title);font-weight:500;color:var(--ns-ink)}
}

/* Neutralise les styles « block theme » de WooCommerce sur le menu et les tuiles. */
.ns-account .ns-acc-nav ul li{padding:0!important;margin:0!important;border:0;list-style:none}
.ns-account .ns-acc-nav ul li a{text-decoration:none!important}
.ns-account .ns-dash__tiles{grid-auto-rows:auto;align-items:stretch}
.ns-account .ns-dash__tiles > li{display:block;height:auto;padding:0;margin:0!important;position:static}
.ns-account .ns-dash__tile{height:auto;min-height:100%;box-sizing:border-box}
.ns-account .ns-dash__logout{clear:both;position:static}
