/* Entre Soeurs Brand Identity - Complete CSS */

/* CSS Custom Properties */
:root {
    --es-indigo: #30296e;
    --es-plum: #2f0a40;
    --es-gold: #e2b55a;
    --es-brown: #a97e50;
    --es-lavender: #aea7eb;
    --es-periwinkle: #a699db;
    --es-lilac: #cdbde0;
    --es-violet-pale: #e6d8f4;
    --es-sky-blue: #d8e1f4;
    --es-blue-pale: #c3d3f4;
    --es-beige: #e4d0a1;
    --es-cream: #e9e0cf;
    --es-offwhite: #f7f4f0;
    --es-white: #ffffff;
    --es-gold-text: #755826; /* or fonce lisible : >=4.5:1 sur tous les fonds clairs de la charte */
}

/* Palette Color Classes */
.has-es-indigo-color { color: #30296e; }
.has-es-indigo-background-color { background-color: #30296e; }
.has-es-plum-color { color: #2f0a40; }
.has-es-plum-background-color { background-color: #2f0a40; }
.has-es-gold-color { color: #e2b55a; }
.has-es-gold-background-color { background-color: #e2b55a; }
.has-es-lavender-color { color: #aea7eb; }
.has-es-lavender-background-color { background-color: #aea7eb; }
.has-es-periwinkle-color { color: #a699db; }
.has-es-periwinkle-background-color { background-color: #a699db; }
.has-es-lilac-color { color: #cdbde0; }
.has-es-lilac-background-color { background-color: #cdbde0; }
.has-es-violet-pale-color { color: #e6d8f4; }
.has-es-violet-pale-background-color { background-color: #e6d8f4; }
.has-es-cream-color { color: #e9e0cf; }
.has-es-cream-background-color { background-color: #e9e0cf; }
.has-es-beige-color { color: #e4d0a1; }
.has-es-beige-background-color { background-color: #e4d0a1; }
.has-es-offwhite-color { color: #f7f4f0; }
.has-es-offwhite-background-color { background-color: #f7f4f0; }

/* Section Background Classes */
.es-bg-cream { background-color: #e9e0cf; }
.es-bg-violet-pale { background-color: #e6d8f4; }
.es-bg-lavender { background-color: #aea7eb; }
.es-bg-offwhite { background-color: #f7f4f0; }
.es-bg-dark { background-color: #30296e; color: #ffffff; }

/* Header - Site title hidden */
.site-title, .site-description {
    display: none !important;
}

/* Logo smaller */
.custom-logo {
    max-height: 70px !important;
    width: auto;
}

/* Header compact */
.site-header-wrap, .header-main-inner {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Header shadow */
.site-header-wrap {
    box-shadow: 0 2px 10px rgba(48, 41, 110, 0.06);
}

/* Typography */
body { font-family: Lato, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: Playfair Display, serif; }

/* Links */
a:hover, a:focus { color: #e2b55a !important; }
.current-menu-item > a { color: #e2b55a !important; }

/* Buttons */
.button, .wp-block-button__link, input[type=submit] {
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* Footer */
.site-footer-wrap { color: #e9e0cf; }
.site-footer-wrap a { color: #e2b55a; }
.site-footer-wrap a:hover { color: #ffffff; }

/* Hero overlay */
.wp-block-cover__background.has-es-plum-background-color {
    background-color: #2f0a40 !important;
}

/* ========================================
   WooCommerce — Kadence Theme Overrides
   Higher specificity to win over theme CSS
   ======================================== */

/* Force our grid over Kadence grid-cols */
.woocommerce ul.products.content-wrap.product-archive {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 25px !important;
    padding: 0 !important;
    margin: 1.5rem 0 !important;
}
.woocommerce ul.products.content-wrap.product-archive::before {
    display: none !important;
}
.woocommerce ul.products.content-wrap.product-archive.columns-3,
.woocommerce ul.products.content-wrap.product-archive.columns-4 {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
}

/* Product card - Kadence overrides */
.woocommerce ul.products li.product.entry.content-bg.loop-entry {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    background: #faf8f5 !important;
    border: 1px solid rgba(174,167,235,0.2);
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(47,10,64,0.07) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product.entry.content-bg.loop-entry:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 40px rgba(47,10,64,0.14) !important;
    border-color: rgba(226,181,90,0.35) !important;
}

/* Product image */
.woocommerce ul.products li.product a.woocommerce-loop-image-link {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
}
.woocommerce ul.products li.product a.woocommerce-loop-image-link img {
    height: 320px !important;
    width: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: transform 0.6s ease !important;
}
.woocommerce ul.products li.product:hover a.woocommerce-loop-image-link img {
    transform: scale(1.03);
}
/* Hover overlay */
.woocommerce ul.products li.product a.woocommerce-loop-image-link::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(160deg, rgba(226,181,90,0.15) 0%, rgba(47,10,64,0.25) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease !important;
    pointer-events: none !important;
    z-index: 1 !important;
}
.woocommerce ul.products li.product:hover a.woocommerce-loop-image-link::after {
    opacity: 1 !important;
}

/* Kadence entry-content-wrap */
.woocommerce ul.products li.product .entry-content-wrap {
    padding: 0 !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: "Playfair Display", serif !important;
    font-size: 1.05rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0.02em !important;
    color: #30296e !important;
    padding: 14px 16px 4px !important;
    text-align: center !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
    font-family: "Playfair Display", serif !important;
    color: var(--es-gold-text, #755826) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 2px 16px 8px !important;
    display: block !important;
    margin-bottom: 0 !important;
}

/* Button overrides for Kadence */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.woo-archive-btn-text .button {
    display: block !important;
    margin: 4px 16px 16px !important;
    padding: 9px 18px !important;
    background: linear-gradient(135deg, #e2b55a 0%, #c9973e 100%) !important;
    color: #2f0a40 !important;
    border: none !important;
    border-radius: 25px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: auto !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.woo-archive-btn-text .button:hover {
    background: #2f0a40 !important;
    color: #e2b55a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(47,10,64,0.3) !important;
}

/* Hide extras */
.woocommerce .star-rating,
.woocommerce .woocommerce-product-rating,
.woocommerce ul.products li.product .onsale,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    display: none !important;
}

/* Kadence action-on-hover - hide action text when not hovered */
.woocommerce ul.products li.product .product-action-wrap {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
    text-align: center !important;
    margin: 2.5rem 0 !important;
}
.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
    margin: 0 3px !important;
    border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: "Playfair Display", serif !important;
    font-size: 0.85rem !important;
    background: #f7f4f0 !important;
    color: #30296e !important;
    border-radius: 50% !important;
    padding: 6px 13px !important;
    border: none !important;
    transition: all 0.3s ease !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #30296e !important;
    color: #e2b55a !important;
}

/* Shop page background */
.woocommerce-page main {
    background: linear-gradient(180deg, #f7f4f0 0%, rgba(230,216,244,0.3) 50%, #f7f4f0 100%) !important;
}

/* Single product page */
.woocommerce div.product .product_title {
    font-family: "Playfair Display", serif !important;
    color: #30296e !important;
    font-size: 1.8rem !important;
    font-weight: 400 !important;
}
.woocommerce div.product .price {
    color: var(--es-gold-text, #755826) !important;
    font-size: 1.4rem !important;
    font-family: "Playfair Display", serif !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
    background: linear-gradient(135deg, #e2b55a 0%, #c9973e 100%) !important;
    color: #2f0a40 !important;
    border-radius: 30px !important;
    padding: 14px 36px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    border: none !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
    background: #2f0a40 !important;
    color: #e2b55a !important;
}/* ========================================
   Entre Soeurs — Global Brand Palette
   Applied site-wide
   ======================================== */

/* Global Typography */
body, p, li {
    font-family: "Lato", sans-serif;
    color: #30296e;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Playfair Display", serif;
    color: #30296e;
    line-height: 1.3;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }

/* Links */
a {
    color: #30296e;
    transition: color 0.3s ease;
}
a:hover {
    color: #e2b55a !important;
}

/* Buttons global */
.button, .wp-block-button__link, input[type="submit"] {
    background-color: #e2b55a !important;
    color: #2f0a40 !important;
    border-radius: 30px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 12px 28px;
    border: none;
    transition: all 0.3s ease;
    font-family: "Lato", sans-serif;
}

.button:hover, .wp-block-button__link:hover, button:hover, input[type="submit"]:hover {
    background-color: #30296e !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Section backgrounds utility */
.es-bg-cream { background-color: #e9e0cf; }
.es-bg-violet { background-color: #e6d8f4; }
.es-bg-offwhite { background-color: #f7f4f0; }
.es-bg-lavender { background-color: #aea7eb; }
.es-bg-white { background-color: #ffffff; }
.es-bg-indigo { background-color: #30296e; color: #ffffff; }
.es-text-gold { color: #e2b55a; }
.es-text-indigo { color: #30296e; }

/* Wave separators global */
.es-wave-separator svg path {
    fill: #e9e0cf;
}

/* Page hero covers */
.es-page-hero h1 {
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(47,10,64,0.3);
}

/* All images in content */
.wp-block-image img, .entry-content img {
    border-radius: 12px;
}

/* Content sections spacing */
.wp-block-group, .wp-block-columns {
    padding: 2rem 0;
}

/* Service cards styling (for pages like Soins, Ateliers) */
.es-service-card {
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(48,41,110,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 2rem;
}
.es-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(48,41,110,0.15);
}

.es-service-card .es-service-title {
    font-family: "Playfair Display", serif;
    color: #30296e;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}

.es-service-card .es-service-price {
    font-family: "Playfair Display", serif;
    color: var(--es-gold-text, #755826);
    font-size: 1.5rem;
    font-weight: 700;
}

/* Pullquotes & blockquotes */
.wp-block-quote {
    border-left: 4px solid #e2b55a;
    padding: 1rem 1.5rem;
    font-family: "Playfair Display", serif;
    font-style: italic;
    color: #30296e;
    background: #f7f4f0;
    border-radius: 0 12px 12px 0;
}

/* Lists styling */
ul, ol {
    padding-left: 1.5rem;
}

/* Divider */
hr.wp-block-separator {
    border-color: #e9e0cf;
    max-width: 100px;
    margin: 2rem auto;
}

/* Footer global */
.site-footer-wrap {
    background-color: #30296e !important;
    color: #e9e0cf;
}
.site-footer-wrap a {
    color: #e2b55a;
}
.site-footer-wrap a:hover {
    color: #ffffff;
}
.site-footer-wrap h1, .site-footer-wrap h2, .site-footer-wrap h3, .site-footer-wrap h4 {
    color: #e2b55a;
}

/* Header global */
.site-header-wrap {
    background-color: #ffffff;
    box-shadow: 0 2px 15px rgba(48,41,110,0.06);
}

/* Navigation active state */
.current-menu-item > a,
.current_page_item > a {
    color: #e2b55a !important;
}

/* Gutenberg Cover block overlay global */
.wp-block-cover .wp-block-cover__background.has-es-indigo-background-color {
    background-color: #30296e !important;
}
.wp-block-cover .wp-block-cover__background.has-es-plum-background-color {
    background-color: #2f0a40 !important;
}

/* Responsive */
@media (max-width: 768px) {
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.4rem; }
    h3 { font-size: 1.2rem; }
}
/* ========================================
   Services Grid & Cards
   ======================================== */

/* Section label */
.es-section-label {
    display: block;
    text-align: center;
    font-family: "Playfair Display", serif;
    font-style: italic;
    font-size: 0.85rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #e2b55a;
    margin-bottom: 0.75rem;
}

/* Intro text */
.es-about-intro {
    font-family: "Playfair Display", serif;
    font-size: 1.15rem;
    line-height: 1.7;
    color: #30296e;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Services grid */
.es-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    padding: 1rem 0;
    max-width: 1200px;
    margin: 0 auto;
}

/* Service card */
a.es-service-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(48, 41, 110, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

a.es-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 35px rgba(48, 41, 110, 0.15);
}

/* Card image */
.es-service-card-img-wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.es-service-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 0;
}

a.es-service-card:hover .es-service-card-img {
    transform: scale(1.05);
}

/* Card body */
.es-service-card-body {
    padding: 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Card icon */
.es-service-card-icon {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 0.5rem;
}

/* Card title */
.es-service-card-title {
    font-family: "Playfair Display", serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: #30296e;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

/* Card description */
.es-service-card-desc {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.6;
    margin: 0 0 1rem;
    flex: 1;
}

/* Card CTA link */
.es-service-card-cta {
    font-size: 0.8rem;
    font-weight: 600;
    color: #e2b55a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: color 0.3s ease;
    margin-top: auto;
}

a.es-service-card:hover .es-service-card-cta {
    color: #30296e;
}

/* Responsive service grid */
@media (min-width: 768px) {
    .es-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .es-services-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .es-services-grid {
        grid-template-columns: 1fr;
    }
}

/* Block quote on services page */
.wp-block-quote {
    border-left: 4px solid #e2b55a;
    padding: 1rem 1.5rem;
    font-family: "Playfair Display", serif;
    font-style: italic;
    color: #30296e;
    background: #f7f4f0;
    border-radius: 0 12px 12px 0;
    max-width: 700px;
    margin: 0 auto;
}

.wp-block-quote cite {
    font-size: 0.85rem;
    color: var(--es-gold-text, #755826);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-style: normal;
}

/* Category Sections on Shop Page */
.es-category-section {
    padding: 2rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
}
.es-category-section:nth-child(odd) {
    background-color: #f7f4f0;
    border-radius: 30px;
}

/* Product grid inside category sections */
.es-category-section .woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

/* Section heading with icon */
.es-category-section h2 {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}

/* Category description */
.es-category-section p {
    color: #30296e;
    opacity: 0.8;
}

/* View all button */
.es-category-section .wp-block-button__link {
    font-size: 0.78rem;
    padding: 10px 24px;
}

/* Category product grid spacing */
.es-category-section .woocommerce {
    margin: 0;
}
.es-category-section .woocommerce ul.products li.product {
    margin-bottom: 0;
}

/* ===== Correctifs UI/UX appliqués le 2026-06-26 ===== */
/* ------------------------------------------------------------
   FIX #2 — Or comme TEXTE sur fond clair = illisible (1.7:1).
   Réserver l'or aux fonds/bordures ; texte d'accent en indigo,
   ou or foncé uniquement en gros/gras.
   ------------------------------------------------------------ */
a:hover, a:focus { color: #2f0a40 !important; }     /* hover lisible au lieu de l'or */
.es-section-label { color: var(--es-gold-text, #755826) !important; }  /* or fonce AA (4.5:1+) sur offwhite ET creme */
.es-service-card-cta { color: #30296e !important; }  /* CTA carte en indigo */

/* ============================================================
   FIX #3 — REDESIGN MENU MOBILE (drawer off-canvas)
   Remplace le fond near-black #090c10 par un dégradé clair féminin.
   NB : le fond + couleur de lien peuvent aussi se régler dans
   Customizer > En-tête > (popup Off-Canvas) > Design.
   Le reste (chevrons, séparateurs, fix pastille) nécessite ce CSS.
   ============================================================ */
#mobile-drawer .drawer-inner{
  background:linear-gradient(165deg,#f7f4f0 0%,#efe7f6 50%,#e6d8f4 100%)!important;
  color:#30296e!important;
  max-width:330px!important;
  box-shadow:-10px 0 50px rgba(47,10,64,0.20)!important;
  padding:0!important;
}
#mobile-drawer .drawer-overlay{background-color:rgba(47,10,64,0.45)!important;}

/* Neutraliser la pastille or sur la croix de fermeture + chevrons */
#mobile-drawer .drawer-toggle,
#mobile-drawer .dropdown-nav-toggle,
#mobile-drawer button{
  background:transparent!important;color:#30296e!important;
  box-shadow:none!important;border:none!important;border-radius:0!important;
  padding:6px!important;width:auto!important;
}
#mobile-drawer .toggle-close-bar{background:#30296e!important;}
#mobile-drawer .dropdown-nav-toggle svg{stroke:#30296e!important;fill:#30296e!important;color:#30296e!important;}

/* Liens de navigation */
#mobile-drawer .mobile-navigation ul{margin:0!important;padding:0 8px!important;}
#mobile-drawer .mobile-navigation li{border:none!important;}
#mobile-drawer .mobile-navigation li a{
  color:#30296e!important;font-family:"Lato",sans-serif!important;
  font-size:1.05rem!important;font-weight:500!important;letter-spacing:.03em!important;
  padding:15px 18px!important;display:block!important;min-height:48px;
  border-bottom:1px solid rgba(48,41,110,0.10)!important;
  transition:color .25s ease,padding-left .25s ease,background .25s ease!important;
}
#mobile-drawer .mobile-navigation li a:hover{
  color:#2f0a40!important;padding-left:24px!important;background:rgba(226,181,90,0.10)!important;
}
/* Actif = indigo gras + barre or (pas seulement la couleur => a11y) */
#mobile-drawer .mobile-navigation li.current-menu-item>a,
#mobile-drawer .mobile-navigation li.current_page_item>a{
  color:#30296e!important;font-weight:700!important;
  border-left:3px solid #e2b55a!important;background:rgba(226,181,90,0.12)!important;
}
#mobile-drawer .mobile-navigation > ul > li:last-child > a{border-bottom:none!important;}

/* Respect du mode mouvement réduit */
@media (prefers-reduced-motion: reduce){
  #mobile-drawer .mobile-navigation li a{transition:none!important;}
}

/* ===== Footer Entre Sœurs (bilingue) ===== */
.site-footer-wrap .footer-html-inner{max-width:1100px;margin:0 auto;width:100%;}
.es-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:1.5rem 0 2rem;text-align:left;}
.es-footer-col h4{font-family:"Playfair Display",serif;color:#e2b55a;font-size:1.05rem;margin:0 0 1rem;}
.es-footer-logo{font-family:"Playfair Display",serif;font-size:1.5rem;color:#ffffff;display:block;margin-bottom:.6rem;}
.es-footer-tagline{color:#e9e0cf;font-size:.9rem;line-height:1.6;max-width:320px;margin:0 0 1rem;}
.es-footer-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem;}
.es-footer-nav a,.es-footer-contact a{color:#e9e0cf;text-decoration:none;}
.es-footer-nav a:hover,.es-footer-contact a:hover{color:#e2b55a !important;}
.es-footer-contact p{color:#e9e0cf;font-size:.9rem;margin:.45rem 0;}
.es-footer-contact i,.es-footer-nav i{color:#e2b55a;margin-right:.5rem;}
.es-footer-social{display:flex;gap:.6rem;margin-top:.4rem;}
.es-footer-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(226,181,90,.5);display:inline-flex;align-items:center;justify-content:center;color:#e2b55a;transition:all .3s ease;text-decoration:none;}
.es-footer-social a:hover{background:#e2b55a;color:#2f0a40 !important;transform:translateY(-2px);}
.es-footer-bottom{border-top:1px solid rgba(233,224,207,.18);padding-top:1.2rem;text-align:center;color:#cdbde0;font-size:.82rem;}
@media(max-width:782px){
  .es-footer-grid{grid-template-columns:1fr;gap:28px;text-align:center;}
  .es-footer-tagline{margin-left:auto;margin-right:auto;}
  .es-footer-social{justify-content:center;}
  .es-footer-nav ul{justify-content:center;max-width:320px;margin:0 auto;}
}

/* ===== Témoignages / Social proof ===== */
.es-testimonials{max-width:1100px;margin:0 auto;padding:1rem;}
.es-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.es-testimonial{background:#ffffff;border:1px solid rgba(174,167,235,.25);border-radius:16px;padding:2rem 1.75rem;box-shadow:0 4px 20px rgba(48,41,110,.07);position:relative;}
.es-testimonial::before{content:"\201C";font-family:"Playfair Display",serif;color:#e2b55a;font-size:3.5rem;line-height:.7;position:absolute;top:.8rem;left:1rem;opacity:.5;}
.es-testimonial-quote{font-family:"Playfair Display",serif;font-style:italic;color:#30296e;line-height:1.7;font-size:1.02rem;margin:.6rem 0 1.2rem;position:relative;}
.es-testimonial-name{font-weight:700;color:#30296e;font-size:.95rem;}
.es-testimonial-role{color:var(--es-gold-text, #755826);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;}
.es-testimonial-stars{color:#e2b55a;font-size:.95rem;margin-bottom:.4rem;letter-spacing:2px;}

/* ===== Dropdown Services : item courant lisible (fix violet sur violet) ===== */
.header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a,
.header-navigation .header-menu-container ul ul li.menu-item.current_page_item > a{
  color:#ffffff !important;   /* blanc sur fond plum highlight */
}
.header-navigation .header-menu-container ul ul li.menu-item > a:hover{
  color:#2f0a40 !important;
}

/* ===== Panier en-tête (ajout 2026-07-02) ===== */
.header-cart-wrap .header-cart-button,
.header-mobile-cart-wrap .header-cart-button{
  color:#30296e;background:transparent;transition:color .25s ease;
}
.header-cart-wrap .header-cart-button:hover,
.header-mobile-cart-wrap .header-cart-button:hover{color:#2f0a40;background:transparent;}
.header-cart-wrap .header-cart-total,
.header-mobile-cart-wrap .header-cart-total{
  background:#e2b55a !important;color:#2f0a40 !important;
  font-weight:700;font-size:.72rem;
}

/* ===== Bandeau réassurance boutique ===== */
.es-trust-strip{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:1rem 2.75rem;max-width:1000px;margin:1.25rem auto 0;padding:.5rem 1rem;
}
.es-trust-item{display:flex;align-items:center;gap:.7rem;}
.es-trust-item svg{width:36px;height:36px;flex:none;}
.es-trust-item strong{
  display:block;font-size:.92rem;font-weight:700;color:#30296e;line-height:1.3;
}
.es-trust-item small{
  display:block;font-size:.78rem;color:#30296e;opacity:.78;line-height:1.35;
}
@media(max-width:600px){
  .es-trust-strip{flex-direction:column;gap:.9rem;align-items:flex-start;width:fit-content;}
}

/* ===== Titres de section or : version lisible grands textes (>=3:1) ===== */
.entry-content h2.has-es-gold-color,
.entry-content h3.has-es-gold-color{color:#9a7228 !important;}

/* ===== Page À propos — refonte punch (2026-07-02) ===== */
.es-about-hero h1{font-size:clamp(2.4rem,5vw,3.6rem) !important;letter-spacing:.01em;}
.es-hero-label{
  font-family:"Playfair Display",serif;font-style:italic;font-size:.85rem;
  letter-spacing:.18em;text-transform:uppercase;color:#e2b55a !important;margin-bottom:.75rem;
}
.es-cover-quote{
  font-family:"Playfair Display",Georgia,serif;font-style:italic;color:#ffffff !important;
  font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.6;max-width:720px;margin:0 auto;
}

/* Lien « Lire mon histoire » + pastille « à venir » sur les cartes fondatrices */
.es-founder-story-link{
  display:inline-block;margin:.3rem 0 .9rem;font-size:.8rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:#30296e !important;
  border-bottom:2px solid #e2b55a;padding-bottom:2px;text-decoration:none;
  transition:color .25s ease,border-color .25s ease;
}
.es-founder-story-link:hover{color:#2f0a40 !important;border-color:#2f0a40;}
.es-coming-chip{
  display:inline-block;margin:.3rem 0 .9rem;font-size:.78rem;letter-spacing:.05em;
  color:#755826;background:rgba(226,181,90,.14);
  border:1px dashed rgba(226,181,90,.55);border-radius:20px;padding:4px 12px;
}

/* Section « L'histoire de Victoria » */
.es-story{
  max-width:860px;margin:0 auto;background:#ffffff;
  border:1px solid rgba(174,167,235,.3);border-radius:28px;
  padding:2.5rem 2rem 2rem;box-shadow:0 10px 40px rgba(48,41,110,.08);text-align:center;
}
.es-story-title{margin-top:0;}
.es-story-lead{
  font-family:"Playfair Display",serif;font-size:1.12rem;line-height:1.75;
  color:#30296e;max-width:640px;margin:0 auto 1.4rem;
}
.es-story-quote{
  font-family:"Playfair Display",serif;font-style:italic;
  font-size:clamp(1.25rem,2.6vw,1.6rem);color:#30296e;
  border:none;background:none;margin:1.6rem auto;padding:0 1rem;max-width:600px;
}
.es-story-quote::before{
  content:"\201C";display:block;font-size:3rem;line-height:.6;color:#e2b55a;margin-bottom:.5rem;
}
.es-story-chapters{text-align:left;max-width:680px;margin:0 auto;}
.es-story-chapters details{border-bottom:1px solid rgba(48,41,110,.12);}
.es-story-chapters details:first-child{border-top:1px solid rgba(48,41,110,.12);}
.es-story-chapters summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:1rem;padding:1.05rem .35rem;
  font-family:"Playfair Display",serif;font-size:1.08rem;font-weight:600;
  color:#30296e;transition:color .25s ease;
}
.es-story-chapters summary::-webkit-details-marker{display:none;}
.es-story-chapters summary::after{
  content:"+";font-family:"Lato",sans-serif;font-size:1.4rem;font-weight:400;
  color:#755826;flex:none;transition:transform .25s ease;
}
.es-story-chapters details[open] summary::after{transform:rotate(45deg);}
.es-story-chapters details[open] summary,
.es-story-chapters summary:hover{color:#2f0a40;}
.es-story-chapters summary:focus-visible{outline:2px solid #e2b55a;outline-offset:3px;border-radius:6px;}
.es-story-chapters details p{font-size:.95rem;line-height:1.75;color:#30296e;margin:0 .35rem 1.1rem;}
.es-story-certs{font-size:.88rem !important;opacity:.85;}
.es-coming-note{
  margin:1.6rem auto 0;font-family:"Playfair Display",serif;font-style:italic;
  font-size:.95rem;color:#755826;
}
html{scroll-behavior:smooth;}
@media(max-width:600px){.es-story{padding:1.8rem 1.15rem 1.5rem;border-radius:20px;}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .es-story-chapters summary::after{transition:none;}
}

/* ===== À propos — alignement des blocs (2026-07-02) =====
   Système 2 largeurs : 1080px (blocs visuels) / 860px (blocs contenu).
   Préfixe `body` = specificité supérieure aux règles !important de palette.php. */
body .es-about-hero,
body .es-immersive-cover,
body .es-retraites-section.wp-block-columns,
body .entry-content .es-gallery {
  width: 100% !important;
  max-width: min(1080px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Niveau contenu : tout à 860px (la grille mission était à 800px) */
body .es-values-grid {
  max-width: 860px !important;
  gap: 2rem !important;
}

/* Rayons harmonisés : 24px cartes, 28px grands conteneurs/médias */
body .es-value-card,
body .es-founder-single { border-radius: 24px !important; }
body .es-about-hero,
body .es-immersive-cover { border-radius: 28px !important; overflow: hidden !important; }

/* ===== Page Contact — refonte v2 (2026-07-02) ===== */
/* Alignement : héro et sections sur l'axe 1080px (centrage renforcé) */
body .entry-content .es-immersive-cover.es-immersive-cover,
body .entry-content .es-about-hero.es-about-hero{
  margin-left:auto !important;margin-right:auto !important;float:none !important;
}
body .es-zodiac-section{max-width:1080px;margin-left:auto;margin-right:auto;}

/* Bandeau infos — indigo, écho de la roue céleste */
.es-contact-band{
  max-width:1080px;margin:0 auto;
  background:linear-gradient(135deg,#30296e 0%,#2f0a40 100%);
  border:1px solid rgba(226,181,90,.35);border-radius:28px;
  padding:2.25rem 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;
  box-shadow:0 16px 50px rgba(47,10,64,.28);
}
.es-cb-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;}
.es-cb-item > svg{width:42px;height:42px;}
.es-cb-title{font-family:"Playfair Display",serif;color:#e2b55a;font-size:1.02rem;font-weight:600;letter-spacing:.04em;}
.es-cb-text{color:#f7f4f0;font-size:.92rem;line-height:1.55;}
.es-cb-text a{color:#e2b55a !important;text-decoration:none;border-bottom:1px solid rgba(226,181,90,.5);}
.es-cb-text a:hover{color:#ffffff !important;border-color:#ffffff;}
.es-cb-social{display:flex;gap:.6rem;justify-content:center;}
.es-cb-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(226,181,90,.55);
  display:inline-flex;align-items:center;justify-content:center;color:#e2b55a !important;
  transition:all .3s ease;text-decoration:none;
}
.es-cb-social a:hover{background:#e2b55a;color:#2f0a40 !important;transform:translateY(-2px);}
@media(max-width:900px){.es-contact-band{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.es-contact-band{grid-template-columns:1fr;gap:1.75rem;}}

/* Formulaire centré — carte blanche, liseré or */
body .es-form-section{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;}
.es-form-note{text-align:center;color:#30296e;opacity:.85;max-width:560px;margin:0 auto 1.5rem;}
.es-form-section .wpforms-container{
  background:#ffffff;border:1px solid rgba(174,167,235,.35);border-top:4px solid #e2b55a;
  border-radius:24px;padding:2rem 1.75rem 1.5rem;box-shadow:0 12px 40px rgba(48,41,110,.10);
}
.es-form-section .wpforms-field input[type=text],
.es-form-section .wpforms-field input[type=email],
.es-form-section .wpforms-field input[type=tel],
.es-form-section .wpforms-field select,
.es-form-section .wpforms-field textarea{
  border:1px solid #cdbde0 !important;border-radius:12px !important;
  background:#f7f4f0 !important;color:#30296e !important;
  padding:12px 14px !important;transition:border-color .25s ease,box-shadow .25s ease !important;
}
.es-form-section .wpforms-field input:focus,
.es-form-section .wpforms-field select:focus,
.es-form-section .wpforms-field textarea:focus{
  border-color:#e2b55a !important;box-shadow:0 0 0 3px rgba(226,181,90,.2) !important;outline:none !important;
}
.es-form-section .wpforms-field-label{color:#30296e !important;font-weight:700 !important;font-size:.9rem !important;}

/* Contact v2 — finitions */
.es-cb-title-follow{margin-top:calc(42px + .45rem);} /* aligne "Suis-nous" avec les titres voisins (hauteur icône) */
.es-form-section .wpforms-field input[type=text],
.es-form-section .wpforms-field input[type=email],
.es-form-section .wpforms-field input[type=tel],
.es-form-section .wpforms-field select,
.es-form-section .wpforms-field textarea{
  width:100% !important;max-width:100% !important;box-sizing:border-box !important;
}

/* ===== Widget de réservation SSA — carte harmonisée (2026-07-02) ===== */
.ssa_booking_iframe{
  display:block;
  max-width:1080px !important;
  margin:0 auto !important;
  min-height:640px;
  background:#FAF6F0;
  border:1px solid rgba(174,167,235,.35);
  border-radius:24px;
  box-shadow:0 12px 40px rgba(48,41,110,.10);
  overflow:hidden;
}
@media(max-width:600px){
  .ssa_booking_iframe{border-radius:16px;min-height:560px;}
}

/* ===== Blocs WooCommerce (panier/commande) — lignes d'articles (2026-07-02) =====
   Le nom de produit est un <h3> : il héritait du style Playfair 1.5rem des titres.
   On le ramène à une ligne d'article compacte en Lato. */
h3.wc-block-components-product-name,
.wc-block-components-product-name{
  font-family:"Lato",sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
  color:#30296e !important;
  margin:0 0 .2rem !important;
}
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description p{
  font-size:.8rem !important;
  line-height:1.45 !important;
  color:#30296e !important;
  opacity:.72;
  margin:0 !important;
}
.wc-block-components-order-summary-item__individual-price,
.wc-block-cart-item__prices .wc-block-components-product-price{
  font-size:.85rem !important;
  color:#755826 !important;
  font-weight:600 !important;
}

/* ── Hero "À propos" : voile indigo translucide pour laisser voir la photo
     (suggestion formulaire #2, 2026-07-09). Spécificité (0,4,0) + !important
     pour gagner sur l'overlay global opaque ci-dessus et sur
     entresoeurs-palette.php (opacity: 1 !important). ── */
.wp-block-cover.es-about-hero .wp-block-cover__background.has-es-indigo-background-color {
    background-color: rgba(48, 41, 110, 0.5) !important;
    opacity: 1 !important;
}
