/*!
Theme Name: CIH Bank – Études Immobilières
Theme URI: https://www.cihbank.ma/
Author: CIH Bank
Author URI: https://www.cihbank.ma/
Developer: Zakaria Mahboub
Developer URI: https://zakariamahboub.ma/
Description: Plateforme officielle de CIH Bank dédiée aux études immobilières.
Version: 1.0.0
Text Domain: cih-bank-etudes-immobilieres
*/

/* =========================================================
   1) Fonts
   ========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap");

/* =========================================================
   2) Tokens
   ========================================================= */
:root{
  --cih-black: #1A171B;
  --cih-slate-700: #334155;
  --cih-blue: #009EE0;
  --cih-orange: #E85412;
  --cih-bg: #F9FAFB;
  --cih-blue-light: #E7F7FF;

  --font-main: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --h1-size: 46px;
  --h2-size: 32px;
  --h3-size: 16px;
  --text-size: 18px;
  --btn-text-size: 14px;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  --radius: 10px;
}

/* =========================================================
   3) Base
   ========================================================= */
*{ box-sizing: border-box; }
html, body{ height: 100%; }

body{
  margin: 0;
  font-family: var(--font-main);
  font-size: var(--text-size);
  font-weight: var(--fw-regular);
  line-height: 1.6;
  color: var(--cih-slate-700);
  background: var(--cih-bg);
}

a{ color: var(--cih-blue); text-decoration: none; }
a:hover{ text-decoration: none; }

p, li{
  font-size: var(--text-size);
  font-weight: var(--fw-regular);
  line-height: normal;
}

/* =========================================================
   4) Typography
   ========================================================= */
h1{
  font-size: var(--h1-size);
  font-weight: var(--fw-bold);
  line-height: 1.1;
  color: var(--cih-black);
  margin: 0 0 14px;
}

h2{
  text-align: center;
  font-size: var(--h2-size);
  font-weight: var(--fw-bold);
  line-height: 1.15;
  color: var(--cih-black);
  margin: 0 0 16px;
}

h3{
  font-size: var(--h3-size);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--cih-black);
  margin: 0 0 10px;
}

.t-blue{ color: var(--cih-blue); }
.t-orange{ color: var(--cih-orange); }

.bg-blue-light{ background: var(--cih-blue-light); }
.bg-soft{ background: var(--cih-bg); }

/* =========================================================
   5) Buttons
   ========================================================= */
.btn,
button,
input[type="submit"],
.wp-block-button__link{
  height: 40px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 0;
  border-radius: var(--radius);
  background: var(--cih-blue);
  color: #fff;

  cursor: pointer;

  text-align: center;
  font-family: var(--font-main);
  font-size: var(--btn-text-size);
  font-weight: var(--fw-medium);
  line-height: normal;

  transition: transform .08s ease, opacity .15s ease, background-color .15s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover{ opacity: .95; }

.btn:active,
button:active,
input[type="submit"]:active,
.wp-block-button__link:active{ transform: translateY(1px); }

.btn--orange{ background: var(--cih-orange); }
.btn--light{ background: var(--cih-blue-light); color: var(--cih-black); }

.entry-content{
  background-color:#fff;
}

/* =========================================================
   6) Layout helpers (grids)
   ========================================================= */
.cih-grid{
  display: grid;
  gap: 22px;
}

.cih-grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cih-grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cih-grid--1{ grid-template-columns: 1fr; }

/* =========================================================
   7) Header
   ========================================================= */
.site-header{
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid #E5E7EB;
}

.header-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
}

.header-brand img{
  max-height: 38px;
  width: auto;
  display: block;
}

/* =========================================================
   8) Navigation
   ========================================================= */
.main-navigation{
  position: relative;
  flex: 1;
  display: flex;
  justify-content: center;
}

.main-navigation ul{ list-style: none; margin: 0; padding: 0; }
.main-navigation li{ position: relative; margin: 0; }

.main-navigation a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  color: var(--cih-black);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.main-navigation a:hover{ color: var(--cih-blue); }

.menu-toggle{
  display: none;
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  font-weight: 600;
  cursor: pointer;
}

.menu-toggle .burger{
  width: 18px;
  height: 14px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}
.menu-toggle .burger span{
  display: block;
  height: 2px;
  background: #1A171B;
  border-radius: 2px;
}

.main-navigation .menu-item-has-children > a::after{
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background: url("/wp-content/uploads/2025/12/sub-menu.svg") center/contain no-repeat;
  opacity: .8;
  transform: translateY(1px);
}

/* Submenu (base) */
.main-navigation .sub-menu{
  display: none;
  list-style: none;
  margin: 0;
  padding: 8px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
}
.main-navigation .sub-menu a{
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  display: block;
  color: var(--cih-black);
}
.main-navigation .sub-menu a:hover{
  background: var(--cih-blue-light);
  color: var(--cih-blue);
}

/* =========================================================
   9) Header Actions (Cart/Profile)
   ========================================================= */
.header-actions{
  display: flex;
  align-items: center;
  gap: 0;
}

.header-cart{ position: relative; }
.header-cart::after{
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 24px;
  background: #E5E7EB;
}

.header-profile{ padding-left: 12px; position: relative; }

.header-icon{
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--cih-black);
  text-decoration: none;
  cursor: pointer;
}

#img-profile{ width:20px !important; height:20px !important; }

.cart-count{
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  color: var(--cih-black);
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.profile-dropdown{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 180px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  padding: 8px;
  display: none;
  z-index: 9999;
}
.profile-dropdown a{
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--cih-black);
  font-size: 14px;
  font-weight: 500;
}
.profile-dropdown a:hover{
  background: var(--cih-blue-light);
  color: var(--cih-blue);
}
.header-profile.is-open .profile-dropdown{ display: block; }

/* =========================================================
   10) Hero
   ========================================================= */
.cih-hero{
  background: var(--cih-bg);
  padding-top: 60px;
  border-bottom: 1px solid #E5E7EB;
}

.cih-hero__title{
  font-size: 46px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--cih-black);
  margin: 0 0 20px;
}

.cih-hero__search{
  position: relative;
  max-width: 680px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  height: 56px;
  display: flex;
  align-items: center;
  padding: 0 44px;
  box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.cih-hero__search input{
  width: 100%;
  height: 100%;
  border: 0;
  outline: none;
  font-size: 18px;
  color: var(--cih-black);
  font-family: var(--font-main);
}
.cih-hero__search input::placeholder{ color: #64748B; }

.cih-hero__search-icon{
  position: absolute;
  left: 16px;
  opacity: .75;
}

.cih-hero__clear{
  position: absolute;
  right: 12px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: var(--cih-bg);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  color: #64748B;
}
.cih-hero__clear:hover{
  background: var(--cih-blue-light);
  color: var(--cih-blue);
}

.cih-hero__media{
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.cih-hero__media img{
  width: min(650px, 100%);
  height: auto;
  display: block;
}

/* =========================================================
   11) Cards (UNIFIÉES)
   ========================================================= */
.cih-card{
  display:block;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius: 18px;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cih-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}

.cih-card__media{
  background: var(--cih-blue-light);
  display:flex;
  align-items:center;
  justify-content:center;
  height: 175px; /* default */
}

.cih-card__img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.cih-card__placeholder{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(0,0,0,.06);
}

.cih-card__body{ padding: 14px 14px 18px; }

.cih-card__meta{
  display:flex;
  align-items:center;
  gap: 10px;
  color:#64748B;
  font-size: 12px;
  margin-bottom: 10px;
}
.cih-meta{ display:inline-flex; align-items:center; gap:6px; }

.cih-card__title{
  margin:0;
  font-size: 18px;
  font-weight: 800;
  color: var(--cih-black);
  line-height: 1.25;
  min-height:120px;
}
.cih-card--side .cih-card__title{
  min-height:60px;
}

/* Variants */
.cih-card--compact .cih-card__media{ height: 180px; }
.cih-card--compact .cih-card__title{ font-size: 14px; }
.cih-card--compact .cih-card__meta{ font-size: 12px; margin-bottom: 8px; }

.cih-card--side .cih-card__title{ font-size: 13px; }

/* =========================================================
   12) Dernières analyses (section)
   ========================================================= */
.cih-analyses{
  padding: 100px 0;
  background: #fff;
}

.cih-analyses__title{
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: var(--cih-black);
  margin: 0 0 50px;
}

.cih-analyses__cta{
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.cih-btn{
  height: 40px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--cih-orange);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--cih-orange);
}
.cih-btn:hover{ filter: brightness(.95); }

/* =========================================================
   13) Newsletter
   ========================================================= */
.cih-newsletter{ background: #fff; }

.cih-newsletter__box{
  background: var(--cih-bg);
  border: 1px solid #E5E7EB;
  border-radius: 22px;
  padding: 25px 70px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.cih-newsletter__media{
  flex: 0 0 40%;
  align-items: center;
}

.cih-newsletter__media_title{
  text-align:left;
}
.cih-newsletter__media_texte{
  color: #475569;
    font-size: 15px;
    line-height: 1.6;
}

.cih-newsletter__content{ flex: 1; min-width: 0; }


/* CF7 */
.cih-newsletter__form .wpcf7 form{ margin: 0; }

.cih-nl-row{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.cih-newsletter__form .cih-nl-field{
  position: relative;
  flex: 1;
  max-width: 500px;
}

.cih-newsletter__form input[type="email"]{
  width: 100%;
  height: 48px;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 0 44px 0 16px;
  font-size: 16px;
  outline: none;
  background: #fff;
  font-family: var(--font-main);
}
.cih-newsletter__form input[type="email"]::placeholder{ color: #94A3B8; }

.wpcf7-not-valid-tip{
  font-size: 12px;
  position: absolute;
}

.cih-newsletter__form input[type="submit"]{
  height: 48px;
  padding: 0 22px;
  border-radius: 12px;
  border: 1px solid var(--cih-blue);
  background: var(--cih-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.cih-newsletter__form input[type="submit"]:hover{ filter: brightness(.95); }

.cih-nl-submit p,
.cih-nl-field p{ margin-top:0; margin-bottom:0; }

div.cih-nl-submit > p{ height:50px; }

.cih-newsletter__form .wpcf7-response-output{
  margin: 12px 0 0;
  border-radius: 12px;
}

/* =========================================================
   14) Contact
   ========================================================= */
.cih-contact{
  padding: 80px 0;
  background: #fff;
}

.cih-contact__box{
  background: var(--cih-bg);
  border: 1px solid #E5E7EB;
  border-radius: 28px;
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
}

.cih-contact__media{
  background: #E8EAEE;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cih-contact__media img{
  max-width: 100%;
  height: auto;
  display: block;
  border-radius:20px;
	width:100%;
}

.cih-contact__title{
  margin: 0 0 14px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--cih-black);
  text-align: left;
}
.cih-contact__title span{ color: #E2652A; }

.cih-contact__text{
  margin: 0 0 28px;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
  max-width: 520px;
}

.cih-form-grid p{ margin: 0; }

.cih-contact__form .cih-form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}

.cih-contact__form .cih-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cih-contact__form .full,
.cih-contact__form .cih-field.full{ grid-column: 1 / -1; }



.cih-contact__form input,
.cih-contact__form textarea{
  width: 100%;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 14px;
  font-family: var(--font-main);
  background: #fff;
}

.cih-contact__form textarea{ min-height: 140px; }
.cih-contact__form input::placeholder,
.cih-contact__form textarea::placeholder{ color: #CBD5E1; }

.cih-contact__form input[type="submit"]{
  width: 100%;
  height: 48px;
  border-radius: 14px;
  border: none;
  background: #E2652A;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.cih-contact__form input[type="submit"]:hover{ filter: brightness(.95); }

/* =========================================================
   15) Footer
   ========================================================= */
.site-footer{
  background: #fff;
  border-top: 1px solid #EEF2F6;
  margin-top: 0;
}

.footer-top{ padding: 40px 0; }

.footer-grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 30px;
}

.footer-col h4{
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--cih-black);
}

.footer-col ul{ list-style: none; margin: 0; padding: 0; }
.footer-col li{ margin-bottom: 8px; }

.footer-col a{
  font-size: 14px;
  color: #64748B;
  text-decoration: none;
}
.footer-col a:hover{ color: var(--cih-blue); }

.footer-actions{
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.footer-link{
  font-size: 14px;
  font-weight: 600;
  color: var(--cih-black);
  text-decoration: none;
}
.footer-link:hover{ color: var(--cih-blue); }

.footer-bottom{
  border-top: 1px solid #EEF2F6;
  padding: 20px 0;
}

.footer-bottom-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.footer-logo img{ height: 28px; }

.footer-copy{ font-size: 13px; color: #64748B; }

.footer-social{
  display: flex;
  gap: 14px;
}

.footer-social a{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: var(--cih-black);
  text-decoration: none;
}
.footer-social a:hover{
  border-color: var(--cih-blue);
  color: var(--cih-blue);
}

/* =========================================================
   16) WooCommerce - Single Product
   ========================================================= */
.cih-product{ padding: 30px 0 0; background:#fff; }
.woocommerce img, .woocommerce-page img {
    max-width: none !important;
}
.cih-product-layout{
  display: flex;
    justify-content: center;
    align-items: center;
    gap: 0px;
}

.cih-product__hero img{
  width: 100%;
  height: auto;
  display:block;
  border-radius: 18px;
}

.cih-product__content{ padding-top: 18px; }

.cih-product__title{
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 10px;
  color:#1A171B;
}

.cih-product__excerpt{
  color:#475569;
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 16px;
}

/* Lock block */
.cih-lock{
  margin: 18px 0 0;
  background:#F9FAFB;
  border:1px solid #E5E7EB;
  border-radius: 18px;
  padding: 40px;
  display:flex;
  flex-direction: column;
  gap: 14px;
  align-items:center;
  justify-content:center;
  background-image: url('/wp-content/uploads/2025/12/cih-lock.svg');
  background-repeat: no-repeat;
  background-position: bottom left;
}

.cih-lock__txt{ text-align:center; }
.cih-lock__txt h3{
  margin:0 0 6px;
  font-size: 16px;
  font-weight: 800;
}
.cih-lock__txt p{
  margin: 20px 0 30px;
  font-size: 13px;
  color: #000E14;
}

.cih-lock__actions{
  display:flex;
  gap: 10px;
  justify-content:center;
  flex-wrap: wrap;
}

/* Sidebar */
.cih-sidebox{ padding: 20px; }

.cih-sidebox__head{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 20px;
}

.cih-sidebox__icon{
  width: 25px; height: 25px;
  border-radius: 999px;
  background:#E7F7FF;
  display:flex; align-items:center; justify-content:center;
}

.cih-sidebox__title{
  margin:0;
  font-size: 18px;
  font-weight: 800;
}

.cih-sidebox__list{
  display:flex;
  flex-direction: column;
  gap: 14px;
}

.cih-sidebox__more{
  display:block;
  margin-top: 14px;
  text-align:center;
  padding: 10px 12px;
  border-radius: 12px;
  background:#E7F7FF;
  color:#009EE0;
  font-weight: 600;
  text-decoration:none;
}

/* Related products */
.cih-related-products{ padding: 60px 0; }

.cih-related-title{
  text-align:center;
  font-size: 22px;
  font-weight: 900;
  margin: 0 0 22px;
}

.cih-related-products .cih-product__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.cih-related-cta{
  margin-top: 20px;
  display:flex;
  justify-content:center;
}

/* Hide quantity everywhere */
.quantity{ display: none !important; }

.cih-lock__actions{
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
  margin-top:20px;
}

.cih-version-cta{
  text-align:center;
  max-width:300px;
}

.cih-version-micro{
  margin-top:10px;
  font-size:10px;
  color:#4a5568;
  line-height:1;
}

/* =========================================================
   18) Search grid
   ========================================================= */
.cih-product__grid--search{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

/* =========================================================
   19) NAV MOBILE FULLSCREEN (Fix)
   ========================================================= */
.menu-close{ display:none; }
.nav-overlay{ display:none; }

/* Lock scroll when menu open */
html.nav-open, body.nav-open{ overflow: hidden; }


/* =========================
   CIH CART (Custom design)
   ========================= */
.cih-cart{ background:#fff; padding:60px 0; }
.cih-cart__layout{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:40px;
  align-items:start;
}

.cih-cart__title{
  font-size:28px;
  font-weight:900;
  margin:0 0 20px;
  color:#1A171B;
}

.cih-cart__summary-title{
  font-size:28px;
  font-weight:900;
  margin:0 0 18px;
  color:#1A171B;
  text-align:left;
}

.cih-cart__items{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.cih-cart-item{
  display:grid;
  grid-template-columns: 74px 1fr 110px 70px;
  gap:18px;
  align-items:center;
  padding:14px 12px;
  border-radius:14px;
  border:1px solid #E5E7EB;
  background:#fff;
}

.cih-cart-item__thumb img{
  width:74px;
  height:74px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}

.cih-cart-item__name{
  display:inline-block;
  font-weight:800;
  color:#009EE0;
  font-size:16px;
  margin-bottom:6px;
}
.cih-cart-item__name:hover{ text-decoration: underline; }

.cih-cart-item__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:13px;
  color:#475569;
}
.cih-cart-item__meta b{ color:#1A171B; font-weight:800; }

.cih-cart-item__price{
  text-align:right;
  font-weight:900;
  color:#1A171B;
  white-space:nowrap;
  font-size:15px;
}

.cih-cart-item__remove{
  text-align:right;
}
.cih-cart-item__remove-link{
  font-weight:700;
  color:#1A171B;
  text-decoration:underline;
}
.cih-cart-item__remove-link:hover{ color:#E85412; }

.cih-cart__actions{
  margin-top:22px;
  display:flex;
  gap:14px;
}
.cih-cart__actions a {
  width:50%;
}
.cih-cart__actions a.btn-back{
  background-color: #E8EAEE !important;
  color:#6B7B8F !important;
}
table > tbody > tr.tax-rate.tax-rate-ma-tva-1 > th > small{
  display:none;
}
.cih-cart__empty{
  background:#FDECEC;
  color:#D92D20;
}
.cih-cart__empty:hover{ opacity:.92; }
.cih-cart__totals>.cart_totals>h2{
  display:none;
}

.cih-cart-coupon{
  border-top:1px solid #E5E7EB;
  padding-top:14px;
  margin-bottom:16px;
}
.cih-cart-coupon__summary{
  cursor:pointer;
  font-weight:700;
  color:#334155;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cih-cart-coupon__form{
  display:flex;
  gap:12px;
  margin-top:12px;
}
.cih-cart-coupon__form input{
  flex:1;
  height:46px;
  border-radius:12px;
  border:1px solid #E5E7EB;
  padding:0 14px;
  outline:none;
}

.cih-cart__totals .cart_totals{
  float:none !important;
  width:100% !important;
  border-top:1px solid #E5E7EB;
  padding-top:18px;
}
.cih-cart__totals table{
  width:100%;
  border-collapse:collapse;
}
.cih-cart__totals th,
.cih-cart__totals td{
  padding:12px 0;
  border:0 !important;
}
.cih-cart__totals th{
  text-align:left;
  color:#1A171B;
  font-weight:800;
}
.cih-cart__totals td{
  text-align:right;
  font-weight:900;
  color:#1A171B;
}
.cih-cart__totals .order-total th{
  padding-top:18px;
}
.cih-cart__totals .order-total td{
  padding-top:18px;
}

.cih-cart__checkout{
  margin-top:18px;
  width:100%;
  height:56px;
  border-radius:12px;
  font-weight:900;
}

/* Hide default Woo buttons in totals (we use our CTA) */
.cih-cart__totals .wc-proceed-to-checkout{ display:none !important; }

/* =========================
   PANIER VIDE – CIH DESIGN
   ========================= */

.cih-empty-cart{
  padding: 100px 20px;
  background: #fff;
}

.cih-empty-cart__inner{
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}

.cih-empty-cart__icon{
  margin-bottom: 26px;
}

.cih-empty-cart__icon img{
  width: 160px;
  height: auto;
}

.cih-empty-cart__title{
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 10px;
  color: #1A171B;
}

.cih-empty-cart__text{
  font-size: 15px;
  color: #475569;
  margin-bottom: 26px;
}

.cih-empty-cart__btn{
  height: 44px;
  padding: 0 28px;
  border-radius: 12px;
  font-weight: 700;
}
.return-to-shop{
  display:none;
}


/* =========================
   CHECKOUT – CIH DESIGN
   ========================= */
.cih-checkout{ padding: 28px 0 70px; background:#fff; }
.cih-checkout__layout{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap: 34px;
  align-items:start;
}
.cih-checkout__title{
  margin:0 0 18px;
  font-size: 34px;
  font-weight: 900;
  color:#1A171B;
}

/* Card (right) */
.cih-checkout__card{
  background:#fff;
  border:1px solid #EEF2F6;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
}
.cih-checkout__summary-title{
  text-align:left;
  margin:0 0 12px;
  font-size: 20px;
  font-weight: 900;
  color:#1A171B;
}

/* Review table cleanup */
.cih-checkout__review table{ width:100%; border-collapse: collapse; }
.cih-checkout__review .shop_table{ border:0 !important; margin:0 !important; }
.cih-checkout__review .shop_table th,
.cih-checkout__review .shop_table td{
  border:0 !important;
  padding: 10px 0 !important;
  vertical-align: top;
}
.cih-checkout__review thead{ display:none; }

/* Produit rows */
.cih-checkout__review .cart_item td.product-name{
  width:100%;
}
.cih-checkout__review .product-name{
  font-weight: 700;
  color:#0F172A;
}
.cih-checkout__review .product-total{
  text-align:right;
  font-weight: 800;
  color:#0F172A;
  white-space: nowrap;
}
.cih-checkout__review .product-quantity{ display:none !important; }

/* Totaux (Sous-total / TVA / Total) */
.cih-checkout__review tfoot th{
  font-weight: 700;
  color:#334155;
}
.cih-checkout__review tfoot td{
  text-align:right;
  font-weight: 800;
  color:#0F172A;
}
.cih-checkout__review tfoot tr.order-total th{
  font-weight: 900;
  color:#0F172A;
}
.cih-checkout__review tfoot tr.order-total td{
  font-weight: 900;
  font-size: 18px;
}

/* Coupon block */
.cih-checkout__coupon{
  margin: 12px 0 14px;
  border-top:1px solid #EEF2F6;
  padding-top: 12px;
}
.cih-checkout__coupon-summary{
  cursor:pointer;
  font-weight: 700;
  color:#0F172A;
  list-style:none;
}
.cih-checkout__coupon-summary::-webkit-details-marker{ display:none; }
.cih-checkout__coupon-body{ padding-top: 10px; }
.cih-checkout__coupon-row{
  display:flex;
  gap: 10px;
  margin:0;
}
.cih-checkout__coupon-input{
  flex:1;
  height: 44px;
  border:1px solid #E5E7EB;
  border-radius: 10px;
  padding: 0 12px;
}
.cih-checkout__coupon-btn{
  height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  background:#E85412;
  color:#fff;
  border:0;
  font-weight: 800;
}

/* Payment */
.cih-checkout__payment{
  border-top:1px solid #EEF2F6;
  padding-top: 12px;
}

/* Woo payment box */
.cih-checkout__payment #payment{
  background: transparent !important;
  border: 0 !important;
}
.cih-checkout__payment #place_order{
  width: 100% !important;
  height: 46px;
  border-radius: 10px;
  background:#E85412 !important;
  font-weight: 900;
}

/* Left inputs nicer */
.cih-checkout__left .form-row input.input-text,
.cih-checkout__left .form-row select,
.cih-checkout__left .form-row textarea{
  border-radius: 10px;
  border:1px solid #E5E7EB;
  padding: 12px 12px;
}
.cih-checkout__left .form-row label{
  font-weight: 700;
  color:#0F172A;
}

/* Force l'affichage des totaux checkout */
.woocommerce-checkout-review-order-table tfoot{
  display: table-footer-group !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.woocommerce-checkout-review-order-table tfoot tr{ display: table-row !important; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td{ display: table-cell !important; }

/* Totaux checkout (design) */
.cih-order-totals{
  margin-top: 14px;
  border-top: 1px solid #EEF2F6;
  padding-top: 12px;
}
.cih-total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 8px 0;
  font-size: 14px;
  color:#0F172A;
}
.cih-total-label{ font-weight: 600; color:#334155; }
.cih-total-value{ font-weight: 800; color:#0F172A; }

.cih-total-sep{
  margin: 10px 0 12px;
  height: 1px;
  background:#EEF2F6;
}

.cih-total-row--grand .cih-total-label{
  font-weight: 900;
  color:#0F172A;
  text-transform: uppercase;
}
.cih-total-row--grand .cih-total-value{
  font-weight: 900;
  font-size: 18px;
}
.payment_method_cmi img{
  width:170px;
}

.cih-order__row{
  display:flex;
  gap: 10px;
}
.cih-order__media{
  width:50%;
}
.cih-order__media img{
  width:100%;
  border-radius: 10px;
}
.cih-order__name{
  font-size: 15px;
  font-weight: 900;
}
.cih-order__meta{
  font-size: 13px;
}
.cih-order__right,.cih-order__right .woocommerce-Price-currencySymbol{
  font-size: 15px;
}
.cih-order__price{
   font-weight: 900;
   margin-bottom:42px;
}
.cih-total-value .woocommerce-Price-currencySymbol{
  font-size:18px !important;
}
div.cih-order-totals > div:nth-child(1) > span.cih-total-value > span > bdi > span,div.cih-order-totals > div:nth-child(2) > span.cih-total-value > span > span{
  font-size:14px !important;
}



nav > ul > li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--members-area{
  display: none !important;
}

.cih-product__main .cih-product__full h2{
  text-align:left;
}

.nos-pack-list{
  display:flex;
  justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top:50px;
}

.nos-pack-list .cih-sub-card {
      margin: 0 20px;
      width: 350px;
}

.nos-pack-list .cih-sub-card__price {
    font-size: 20px;
}

.cih-analyses__grid_archive{
  margin-top: 90px !important;
  margin-bottom: 70px !important;
}

.cih-analyses__result{
  margin-top: 70px !important;
  margin-bottom: 70px !important;
}

.woocommerce .woocommerce-ordering select {
    width: 100%;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 14px;
    font-family: var(--font-main);
    background: #fff;
}

.cih-blog__content{
  margin-top:40px;
  margin-bottom:80px;
}
.single-article-cih{
	align-items: flex-start !important;
}

.text-apropos{
    color: #475569;
    font-size: 15px;
    line-height: 1.6;
}
.qui-sommes-nous{
  padding-top:60px;
  padding-bottom: 30px;
}
.img-qui-somme-nous img{
  border-radius:20px !important;
}
.methodologie-1 .wp-block-column,.methodologie-2 .wp-block-column{
  background-color: #F6FCFF;
  border-radius: 20px;
  padding: 20px;
}
.equipe{
  padding-top:60px;
}
.category-tendances-marche .cih-card__title {
    min-height: 50px;
}
.cih-product__hero {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.cih-card__media {
  position: relative;
  overflow: hidden;
}

.cih-badge--free {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 5;

  background: var(--cih-orange);
  color: #fff;

  font-size: 13px;
  font-weight: 600;

  padding: 6px 12px;
  border-radius: 999px;

  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}
.woocommerce-message{
  display:none;
}
.woocommerce .woocommerce-customer-details, .woocommerce .woocommerce-order-details, .woocommerce .woocommerce-order-downloads {
    padding: 40px;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}
.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received{
  text-align: center;
    padding-top: 25px;
    padding-bottom: 25px;
}
.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details{
  display: flex;
    justify-content: center;
    gap: 30px;
    padding: 0;
    margin: 0 auto;
    width: fit-content;
}
.cgu h2{
  text-align:left;
}
/* =========================================================
   20) MEDIA QUERIES (ALL AT BOTTOM)
   ========================================================= */

/* Desktop dropdown */
@media (min-width: 993px){
  .main-navigation .menu-item-has-children{ position: relative; }

  .main-navigation .sub-menu{
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 8px;
    min-width: 220px;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    padding: 8px;
    display: none;
    z-index: 9999;
  }

  .main-navigation li:hover > .sub-menu{ display: block; }

  .main-navigation .menu-item-has-children::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 12px;
  }

  .main-navigation > ul{
    display: flex;
    align-items: center;
    gap: 22px;
  }

}


/* Tablet & down */
@media (max-width: 992px){
  /* Nav base */
  .main-navigation{ justify-content: flex-end; }
  .menu-toggle{ display: inline-flex; }

  .main-navigation > ul{
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    z-index: 9999;
    flex-direction: column;
    gap: 8px;
  }

  #site-navigation.toggled > ul{ display: flex; }

  .main-navigation .sub-menu{
    position: static;
    min-width: 100%;
    border-radius: 12px;
    box-shadow: none;
    margin-top: 6px;
  }
  .main-navigation .menu-item-has-children.focus > .sub-menu{ display: block; }

  /* Fullscreen nav */
  #site-navigation.toggled{
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px;
    display: flex;
    flex-direction: column-reverse;
  }

  #site-navigation.toggled .menu-toggle{ display: none !important; }

  #site-navigation.toggled .menu-close{
    display: inline-flex;
    align-self: flex-end;
    color: #E85412;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid #E5E7EB;
    background: #F9FAFB;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    align-items: center;
    justify-content: center;
    z-index: 10003;
    position: absolute;
    top: 15px;
  }

  #site-navigation.toggled .nav-overlay{
    display: block;
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 10001;
  }

  #site-navigation.toggled #primary-menu,
  #site-navigation.toggled > ul{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: relative !important;
    z-index: 10002 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    top: 0;
  }

  #site-navigation.toggled > ul > li{ width: 100%; margin: 0 !important; }

  #site-navigation.toggled a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 6px;
    font-size: 18px;
    font-weight: 600;
    color: #1A171B !important;
    text-decoration: none !important;
  }

  #site-navigation.toggled .sub-menu{
    display: none;
    padding: 8px 0 0 14px;
    margin: 0;
    list-style: none;
    border: 0;
    background: transparent;
  }
  #site-navigation.toggled .menu-item-has-children.focus > .sub-menu{ display: block; }

  #site-navigation.toggled .sub-menu a{
    font-size: 16px;
    font-weight: 500;
    padding: 10px 6px;
    color: #334155 !important;
  }

  /* Hero */
  .cih-hero{ padding: 32px 0; }
  .cih-hero__title{ font-size: 34px; }
  .cih-hero__media{ justify-content: center; }

  /* Analyses */
  .cih-analyses{ padding: 50px 0; }

  /* Newsletter */
  .cih-newsletter__box{
    padding: 26px 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  /* Contact */
  .cih-contact__box{
    grid-template-columns: 1fr;
    padding: 28px 20px;
  }
  .cih-contact__title{ font-size: 26px; }
  .cih-contact__form .cih-form-grid{ grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid{ grid-template-columns: repeat(2, 1fr); }
  .footer-actions{ align-items: flex-start; }
  .footer-bottom-inner{
    flex-direction: column;
    text-align: center;
  }

  /* Single product */
  .cih-related-products .cih-product__grid{ grid-template-columns: repeat(2, 1fr); }

  /* Subscription */
  .cih-sub-hero__inner{ flex-direction:column; }
  .cih-sub-hero__title{ font-size: 34px; text-align:center; }
  .cih-sub-hero__right{ justify-content:center; }

  /* Search */
  .cih-product__grid--search{ grid-template-columns: repeat(2, 1fr); }

  /* Cards compact on small */
  .cih-card__media{ height: 190px; }

    .cih-cart__layout{ grid-template-columns: 1fr; }
  .cih-cart__right{ padding-top:0; }
  .cih-cart-item{
    grid-template-columns: 74px 1fr;
    grid-template-areas:
      "thumb info"
      "price remove";
  }
  .cih-cart-item__thumb{ grid-area:thumb; }
  .cih-cart-item__info{ grid-area:info; }
  .cih-cart-item__price{ grid-area:price; text-align:left; }
  .cih-cart-item__remove{ grid-area:remove; text-align:right; }
  .cih-checkout__layout{ grid-template-columns: 1fr; }
  .cih-card--side .cih-card__title,.cih-card__title{
    font-size:20px;
  }
  .cih-analyses__grid_archive{
  margin-top: 130px !important;

}
.woocommerce .woocommerce-ordering {
    width:100%;
}
.cih-contact__media img {
    width: 100%;
}
}

/* Mobile */
@media (max-width: 576px){
  .cih-hero__title{ font-size: 28px; }

  .cih-hero__search{
    height: 52px;
    padding-left: 42px;
    padding-right: 42px;
  }
  .cih-hero__search input{ font-size: 16px; }

  .cih-analyses__title{ font-size: 26px; }

  .footer-grid{ grid-template-columns: 1fr; }

  .cih-nl-row{ flex-flow: column; }

  .cih-related-products .cih-product__grid{ grid-template-columns: 1fr; }

  .cih-product__grid--search{ grid-template-columns: 1fr; }

  .cih-card__media{ height: 210px; }
  .nos-pack-list{display:block}
  .nos-pack-list .cih-sub-card {
      width: 100%;}
}



