/*
Theme Name: Shoptimizer Child - O'Case Bebe
Theme URI: https://ocasebebe.sn
Description: Theme enfant de Shoptimizer aux couleurs O'Case Bebe. Boutique bebe et maternite a Dakar.
Author: AKTION
Author URI: https://ocasebebe.sn
Template: shoptimizer
Version: 2.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shoptimizer-child
Tags: e-commerce, woocommerce
*/

/* =========================================================
   O'CASE BEBE - PERSONNALISATIONS
   =========================================================
   Ne rien ecrire ici pour l'instant.
   Les couleurs, la typographie et les ajustements
   seront ajoutes en Phase 2.
   ========================================================= */


/* =========================================================
   CSS MIGRÉ DEPUIS LE CUSTOMIZER — 2026-07-25
   ========================================================= */

/* =========================================================
   Ô'CASE BÉBÉ — Shoptimizer
   Palette : corail #F38181 · ardoise #2F4858 · crème #FFF9F7
   ========================================================= */

/* ---------- 1. NAVIGATION ---------- */
@media (min-width: 993px) {
  .main-navigation .menu > li > a,
  .main-navigation ul > li > a {
    font-size: 14px;
    padding-left: 11px;
    padding-right: 11px;
    letter-spacing: 0;
  }
}

/* ---------- 2. PAGES CATÉGORIE ---------- */
header.woocommerce-products-header .term-description {
  background: #fff9f7;
  border-radius: 14px;
  padding: 28px;
}

/* ---------- 3. GRILLE PRODUITS ---------- */
.woocommerce ul.products li.product {
  border-radius: 14px;
  overflow: hidden;
}

.woocommerce ul.products li.product .price,
.single-product .summary .price {
  color: #f38181;
  font-weight: 700;
}

/* ---------- 4. BOUTONS ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
  border-radius: 50px;
}

/* Ajouter au panier : action principale, corail */
.single-product .summary .single_add_to_cart_button:not(.wa-order-button) {
  background: #f38181;
  color: #fff;
  font-weight: 700;
}

/* ---------- 5. BOUTON WHATSAPP (secondaire) ----------
   Structure OneClick : <a class="wa-order-class">
                          <button class="wa-order-button single_add_to_cart_button">
   La couleur vient du <button> imbriqué, pas du lien.
   ----------------------------------------------------- */
.single-product .summary a.wa-order-class button.wa-order-button {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #1da851 !important;
  border: 2px solid #25d366 !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  width: 100%;
}

.single-product .summary a.wa-order-class button.wa-order-button:hover {
  background: #25d366 !important;
  background-color: #25d366 !important;
  color: #fff !important;
}

/* ---------- 6. BLOC RÉASSURANCE ---------- */
.product-widget {
  background: #fff9f7;
  border: 1px solid #f6e3de;
  border-radius: 14px;
  padding: 18px 20px;
  margin-top: 22px;
  font-size: 14px;
  line-height: 2;
}

.product-widget strong {
  color: #2f4858;
}

.single-product .summary .product-widget a {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important;
  display: inline !important;
  color: #1da851 !important;
  font-weight: 600 !important;
  text-decoration: underline;
}

/* ---------- 7. NETTOYAGE FICHE PRODUIT ---------- */
.product_meta .sku_wrapper {
  display: none;
}
/* ---------- 8. BARRE COPYRIGHT ---------- */
.copyright,
.copyright .widget,
.copyright .textwidget,
.site-info,
.footer-widgets + .copyright {
  text-align: center;
}
/* ---------- 9. AVIS TRUSTINDEX ---------- */
.ti-widget {
  min-height: 320px;
  display: block;
  clear: both;
  overflow: visible;
}

@media (max-width: 768px) {
  .ti-widget { min-height: 420px; }
}
/* ---------- 10. FOOTER MOBILE ---------- */
@media (max-width: 768px) {
  .copyright { padding-bottom: 80px; }
}
/* ---------- 11. CARTES BOUTIQUES ---------- */
.wp-block-column p br {
  display: block;
  content: "";
  margin-top: 4px;
}
/* =========================================================
   RAFFINEMENT VISUEL — menu, grilles, espacements
   ========================================================= */

/* ---------- 12. MENU : séparation et survol ---------- */
@media (min-width: 993px) {
  .main-navigation ul.menu > li.menu-item {
    position: relative;
  }
  /* fin séparateur discret entre entrées */
  .main-navigation ul.menu > li.menu-item + li.menu-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 16px;
    width: 1px;
    background: #eee;
  }
  /* soulignement animé au survol */
  .main-navigation ul.menu > li.menu-item > a {
    position: relative;
    transition: color .2s ease;
  }
  .main-navigation ul.menu > li.menu-item > a::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 6px;
    height: 2px;
    background: #f38181;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
  }
  .main-navigation ul.menu > li.menu-item:hover > a::after {
    transform: scaleX(1);
  }
}

/* sous-menus déroulants : ombre douce et arrondi */
.main-navigation ul.menu ul.sub-menu {
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(47, 72, 88, .12);
  border: none;
  overflow: hidden;
  padding: 6px 0;
}

/* ---------- 13. GRILLES PRODUITS : cartes plus nettes ---------- */
.woocommerce ul.products li.product {
  border: 1px solid #f2eae7;
  border-radius: 14px;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
  background: #fff;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(47, 72, 88, .10);
}
/* image cadrée uniformément */
.woocommerce ul.products li.product img {
  border-radius: 12px 12px 0 0;
}
/* respiration interne du texte */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  padding-left: 12px;
  padding-right: 12px;
}

/* ---------- 14. ESPACEMENTS ENTRE SECTIONS ---------- */
.home .wp-block-group {
  scroll-margin-top: 90px;
}
/* titres de section : plus d'air au-dessus */
.home .wp-block-heading.has-text-align-center {
  margin-bottom: 8px;
}

/* ---------- 15. CARTES BOUTIQUES : lignes séparées ---------- */
.home .wp-block-column p br {
  display: block;
  content: "";
  margin-bottom: 3px;
}
/* ---------- 16. MENU MOBILE : aérer les entrées ---------- */
@media (max-width: 992px) {
  #site-navigation .menu > li,
  .main-navigation .menu > li,
  .site-header nav ul.menu > li {
    border-bottom: 1px solid #efe8e5 !important;
  }
  #site-navigation .menu > li > a,
  .main-navigation .menu > li > a,
  .site-header nav ul.menu > li > a {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }
  /* sous-entrées : fond crème, décalées */
  #site-navigation .sub-menu li a,
  .main-navigation .sub-menu li a {
    padding-left: 24px !important;
    background: #fff9f7 !important;
    font-weight: 400 !important;
    font-size: 15px !important;
  }
}
/* ---------- 17. SOUS-MENUS MOBILE : finition ---------- */
@media (max-width: 992px) {
  /* la boîte des sous-menus : pleine largeur, fond crème */
  #site-navigation .sub-menu,
  .main-navigation .sub-menu {
    background: #fff9f7 !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 4px 0 !important;
    margin: 0 !important;
  }

  /* chaque sous-entrée : ligne propre, point corail */
  #site-navigation .sub-menu li a,
  .main-navigation .sub-menu li a {
    padding: 12px 20px 12px 24px !important;
    border-bottom: 1px solid #f6ede9 !important;
    display: flex !important;
    align-items: center !important;
  }
  #site-navigation .sub-menu li a::before,
  .main-navigation .sub-menu li a::before {
    content: "" !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #f38181 !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
  }

  /* dernière sous-entrée : pas de trait */
  #site-navigation .sub-menu li:last-child a,
  .main-navigation .sub-menu li:last-child a {
    border-bottom: none !important;
  }
}
/* Page Boutique bébé Dakar */
.ocase-popular-categories {
    margin: 40px 0;
}

.ocase-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.ocase-category-card {
    padding: 22px;
    border: 1px solid #f3d1d1;
    border-radius: 12px;
    background: #fff9f7;
}

.ocase-category-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
}

.ocase-category-card p {
    margin-bottom: 14px;
}

.ocase-category-link,
.ocase-service-links a {
    color: #d85f68;
    font-weight: 700;
    text-decoration: none;
}

.ocase-service-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

.ocase-service-links a {
    padding: 11px 18px;
    border: 1px solid #f38181;
    border-radius: 30px;
}

@media (max-width: 900px) {
    .ocase-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ocase-category-grid {
        grid-template-columns: 1fr;
    }

    .ocase-service-links {
        flex-direction: column;
    }
}

/* Hero Boutique bébé Dakar */
.ocase-dakar-hero {
    margin: 0 0 24px;
    padding: clamp(30px, 6vw, 68px);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,249,247,.98), rgba(255,229,229,.92));
    border: 1px solid #f3d1d1;
}

.ocase-dakar-hero-content {
    max-width: 850px;
}

.ocase-dakar-eyebrow {
    margin: 0 0 12px;
    color: #d85f68;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
}

.ocase-dakar-hero h2 {
    margin: 0 0 16px;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.12;
}

.ocase-dakar-intro {
    max-width: 750px;
    margin-bottom: 24px;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.65;
}

.ocase-dakar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ocase-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.ocase-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.ocase-btn-primary {
    background: #f38181;
    color: #fff !important;
}

.ocase-btn-whatsapp {
    background: #168c4f;
    color: #fff !important;
}

.ocase-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 38px;
}

.ocase-trust-item {
    padding: 18px;
    border: 1px solid #ececec;
    border-radius: 12px;
    background: #fff;
}

.ocase-trust-item strong,
.ocase-trust-item span {
    display: block;
}

.ocase-trust-item strong {
    margin-bottom: 5px;
    color: #252525;
}

.ocase-trust-item span {
    color: #666;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .ocase-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ocase-dakar-actions {
        flex-direction: column;
    }

    .ocase-btn {
        width: 100%;
    }

    .ocase-trust-strip {
        grid-template-columns: 1fr;
    }
}

/* Hero Boutique bébé Dakar */
.ocase-dakar-hero {
    margin: 0 0 24px;
    padding: clamp(30px, 6vw, 68px);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,249,247,.98), rgba(255,229,229,.92));
    border: 1px solid #f3d1d1;
}

.ocase-dakar-hero-content {
    max-width: 850px;
}

.ocase-dakar-eyebrow {
    margin: 0 0 12px;
    color: #d85f68;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
}

.ocase-dakar-hero h2 {
    margin: 0 0 16px;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.12;
}

.ocase-dakar-intro {
    max-width: 750px;
    margin-bottom: 24px;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.65;
}

.ocase-dakar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ocase-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.ocase-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.ocase-btn-primary {
    background: #f38181;
    color: #fff !important;
}

.ocase-btn-whatsapp {
    background: #168c4f;
    color: #fff !important;
}

.ocase-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 38px;
}

.ocase-trust-item {
    padding: 18px;
    border: 1px solid #ececec;
    border-radius: 12px;
    background: #fff;
}

.ocase-trust-item strong,
.ocase-trust-item span {
    display: block;
}

.ocase-trust-item strong {
    margin-bottom: 5px;
    color: #252525;
}

.ocase-trust-item span {
    color: #666;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .ocase-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ocase-dakar-actions {
        flex-direction: column;
    }

    .ocase-btn {
        width: 100%;
    }

    .ocase-trust-strip {
        grid-template-columns: 1fr;
    }
}

/* Contenu SEO inférieur des catégories WooCommerce */
.ocase-category-seo-wrapper {
    clear: both;
    width: 100%;
    max-width: 1180px;
    margin: 48px auto 20px;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid #f1dada;
    border-radius: 16px;
    background: #fffaf9;
}

.ocase-category-guide {
    max-width: 900px;
    margin: 0 auto;
}

.ocase-category-guide h2 {
    margin-top: 38px;
    margin-bottom: 16px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.25;
}

.ocase-category-guide h2:first-child {
    margin-top: 0;
}

.ocase-category-guide h3 {
    margin-top: 28px;
    margin-bottom: 10px;
    font-size: clamp(19px, 2vw, 24px);
}

.ocase-category-guide p,
.ocase-category-guide li {
    font-size: 17px;
    line-height: 1.75;
}

.ocase-category-guide ul {
    margin: 18px 0 28px 22px;
}

.ocase-category-guide a:not(.ocase-btn) {
    color: #c9515c;
    font-weight: 700;
    text-decoration: underline;
}

.ocase-category-cta {
    margin: 38px 0;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 14px;
    background: #ffecec;
    text-align: center;
}

.ocase-category-cta h2 {
    margin-top: 0;
}

@media (max-width: 600px) {
    .ocase-category-seo-wrapper {
        margin-top: 30px;
        padding: 22px 18px;
        border-radius: 10px;
    }

    .ocase-category-guide p,
    .ocase-category-guide li {
        font-size: 16px;
    }
}

/* ==========================================================
   Accueil Ô'Case Bébé V2
   ========================================================== */

.ocase-home-v2 {
    --ocase-pink: #f38181;
    --ocase-pink-dark: #d95f68;
    --ocase-soft: #fff8f6;
    --ocase-text: #292929;
    --ocase-muted: #666;
}

.ocase-home-container {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
}

.ocase-home-section {
    padding: clamp(52px, 7vw, 88px) 0;
}

.ocase-home-section-soft {
    background: var(--ocase-soft);
}

.ocase-home-hero {
    padding: clamp(50px, 8vw, 100px) 0;
    background: linear-gradient(135deg, #fff9f7, #ffe5e3);
}

.ocase-home-hero-grid,
.ocase-home-split {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: clamp(32px, 6vw, 75px);
}

.ocase-home-eyebrow,
.ocase-home-section-heading > span,
.ocase-home-final-cta > div > span {
    display: block;
    margin-bottom: 10px;
    color: var(--ocase-pink-dark);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ocase-home-hero h1 {
    max-width: 760px;
    margin: 0 0 20px;
    color: var(--ocase-text);
    font-size: clamp(39px, 5.5vw, 68px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.ocase-home-hero h1 span {
    color: var(--ocase-pink-dark);
}

.ocase-home-lead {
    max-width: 700px;
    color: #555;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.65;
}

.ocase-home-hero-media img {
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(66, 35, 35, .13);
}

.ocase-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.ocase-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 13px 21px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none !important;
}

.ocase-home-btn-primary {
    background: var(--ocase-pink);
    color: #fff !important;
}

.ocase-home-btn-secondary {
    border-color: var(--ocase-pink);
    background: #fff;
    color: var(--ocase-pink-dark) !important;
}

.ocase-home-btn-whatsapp {
    background: #25d366;
    color: #fff !important;
}

.ocase-home-trust {
    padding: 28px 0;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.ocase-home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.ocase-home-trust article {
    padding: 16px;
    text-align: center;
}

.ocase-home-trust article > span {
    display: block;
    margin-bottom: 8px;
    font-size: 26px;
}

.ocase-home-trust strong {
    display: block;
    margin-bottom: 4px;
    font-size: 17px;
}

.ocase-home-trust p {
    margin: 0;
    color: var(--ocase-muted);
    font-size: 14px;
}

.ocase-home-section-heading {
    max-width: 780px;
    margin: 0 auto 36px;
    text-align: center;
}

.ocase-home-section-heading h2,
.ocase-home-pour-toi h2,
.ocase-home-final-cta h2 {
    margin: 0 0 13px;
    color: var(--ocase-text);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.15;
}

.ocase-home-section-heading p {
    margin: 0 auto;
    color: var(--ocase-muted);
    font-size: 17px;
    line-height: 1.65;
}

.ocase-home-feature-card,
.ocase-home-store-grid article,
.ocase-home-highlight-card {
    padding: 25px;
    border: 1px solid #eee;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .045);
}

.ocase-home-feature-card > span,
.ocase-home-highlight-card > span {
    display: block;
    margin-bottom: 14px;
    font-size: 32px;
}

.ocase-home-feature-card h3,
.ocase-home-store-grid h3,
.ocase-home-highlight-card h3 {
    margin: 0 0 9px;
    font-size: 21px;
}

.ocase-home-feature-card p,
.ocase-home-store-grid p,
.ocase-home-highlight-card p {
    margin: 0;
    color: var(--ocase-muted);
    line-height: 1.6;
}

.ocase-home-feature-grid,
.ocase-home-store-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ocase-home-feature-card {
    display: flex;
    flex-direction: column;
}

.ocase-home-feature-card p {
    flex-grow: 1;
    margin-bottom: 18px;
}

.ocase-home-feature-card a,
.ocase-home-store-grid a,
.ocase-home-highlight-card a {
    color: var(--ocase-pink-dark);
    font-weight: 800;
    text-decoration: none;
}

.ocase-home-pour-toi {
    background: linear-gradient(135deg, #fff6f4, #ffe2df);
}

.ocase-home-pour-toi p,
.ocase-home-pour-toi li {
    color: #575757;
    font-size: 17px;
    line-height: 1.65;
}

.ocase-home-pour-toi ul {
    margin: 23px 0;
}

.ocase-home-highlight-card {
    padding: clamp(30px, 5vw, 52px);
    border-color: #f2c8c5;
}

.ocase-home-store-grid article > span {
    display: block;
    margin-bottom: 8px;
    color: var(--ocase-pink-dark);
    font-weight: 800;
}

.ocase-home-faq {
    max-width: 900px;
}

.ocase-home-faq details {
    margin-bottom: 12px;
    padding: 0 22px;
    border: 1px solid #eaeaea;
    border-radius: 13px;
    background: #fff;
}

.ocase-home-faq summary {
    padding: 19px 0;
    font-size: 17px;
    font-weight: 800;
    cursor: pointer;
}

.ocase-home-faq details p {
    padding-bottom: 20px;
    color: var(--ocase-muted);
    line-height: 1.65;
}

.ocase-home-final-cta {
    padding: clamp(55px, 8vw, 95px) 0;
    background: #2f4858;
    text-align: center;
}

.ocase-home-final-cta h2,
.ocase-home-final-cta p {
    color: #fff;
}

.ocase-home-final-cta p {
    max-width: 690px;
    margin: 0 auto 26px;
    font-size: 17px;
    line-height: 1.65;
}

.ocase-home-final-cta .ocase-home-btn {
    margin-inline: auto;
}

@media (max-width: 960px) {
    .ocase-home-hero-grid,
    .ocase-home-split {
        grid-template-columns: 1fr;
    }

    .ocase-home-trust-grid,
    .ocase-home-feature-grid,
    .ocase-home-store-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .ocase-home-container {
        width: min(100% - 24px, 1180px);
    }

    .ocase-home-hero {
        padding-top: 38px;
    }

    .ocase-home-actions {
        flex-direction: column;
    }

    .ocase-home-btn {
        width: 100%;
    }

    .ocase-home-trust-grid,
    .ocase-home-feature-grid,
    .ocase-home-store-grid {
        grid-template-columns: 1fr;
    }

    .ocase-home-trust article {
        border-bottom: 1px solid #eee;
    }
}
