/* ===== Ouardi theme layer (on top of Dusk base) ===== */
body { font-family: 'Readex Pro', sans-serif; color: var(--ou-ink); background: var(--ou-blush); letter-spacing: 0; }
h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5 { font-family: 'Readex Pro', sans-serif; letter-spacing: 0; }

/* ---- Global Dusk components ---- */
.button, .shopify-payment-button__button, button.button, a.button {
  border-radius: 999px !important; font-weight: 600; min-height: 4.8rem;
}
.button:after, .button:before { border-radius: 999px !important; box-shadow: none !important; }
.field__input, .select__select, .customer .field input, .quantity { border-radius: 14px !important; }
.field:after, .select:after, .quantity:after, .field:before, .select:before, .quantity:before { border-radius: 14px !important; }

/* Announcement + header: colours are written by the sections from their own settings */
.utility-bar { background: var(--ou-plum); color: #fff; }
.header-wrapper { background: var(--ou-surface); border-bottom: 1px solid var(--ou-line); }
.header__heading-link .h2, .header__heading-link { font-family: 'Playfair Display', serif; letter-spacing: 2px; }
.header__menu-item { font-weight: 500; }

/* Product cards (featured collection, search, related) */
.card-wrapper .card { border-radius: var(--ou-radius); overflow: hidden; background: var(--ou-surface); border: 1px solid var(--ou-line); transition: transform .2s ease, box-shadow .2s ease; }
.card-wrapper:hover .card { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(42, 11, 34, .08); }
.card-wrapper .card__inner, .card-wrapper .card__media, .card-wrapper .media { border-radius: 0 !important; }
.card-wrapper .card__media { background: var(--ou-pink); }
.card__content { padding: 1.4rem 1.6rem 1.8rem !important; }
.card__heading { font-size: 1.5rem; font-weight: 600; line-height: 1.5; }
.card__heading a { color: var(--ou-ink); text-decoration: none; }
.card .price { font-weight: 700; color: var(--ou-ink); font-size: 1.7rem; }
.card .price-item--sale { color: var(--ou-primary); }
.card__badge .badge { border-radius: 999px; background: var(--ou-plum); color: #fff; border: 0; padding: .5rem 1.2rem; font-weight: 600; }
.collection__title .title, .title-wrapper .title { font-weight: 700; }

/* ---- Ouardi building blocks ---- */
.ou-section { padding: 6.4rem 0; }
.ou-section--tight { padding: 3.2rem 0 0; }
.ou-section--white { background: var(--ou-surface); border-block: 1px solid var(--ou-line); }
.ou-head { margin-bottom: 2.8rem; }
.ou-head--center { text-align: center; }
.ou-head__title { margin: 0; font-size: clamp(2.4rem, 3vw, 3.4rem); font-weight: 700; color: var(--ou-ink); }
.ou-head__sub { margin: .8rem 0 0; color: var(--ou-muted); font-size: 1.6rem; }
.ou-eyebrow { color: var(--ou-primary); font-weight: 600; font-size: 1.4rem; }
.ou-pill { display: inline-block; border-radius: 999px; padding: .7rem 1.6rem; font-size: 1.3rem; font-weight: 600; }
.ou-pill--ghost { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.85); }
.ou-pill--light { background: var(--ou-surface); color: var(--ou-primary); }
.ou-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 4.8rem; padding: 0 3rem; border-radius: 999px; background: var(--ou-primary); color: var(--ou-on-primary); font-weight: 600; font-size: 1.6rem; text-decoration: none; transition: background .2s; }
.ou-btn:hover { background: var(--ou-primary-dark); color: #fff; }
.ou-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.4); }
.ou-btn--ghost:hover { background: rgba(255,255,255,.1); }
.ou-btn--light { background: var(--ou-surface); color: var(--ou-primary); }
.ou-btn--light:hover { background: var(--ou-blush); color: var(--ou-primary-dark); }
.ou-icon { width: 2.4rem; height: 2.4rem; flex-shrink: 0; }
.ou-stars { color: var(--ou-gold); letter-spacing: 3px; font-size: 1.6rem; }
.ou-placeholder { width: 100%; height: 100%; min-height: 24rem; display: flex; align-items: center; justify-content: center; border-radius: var(--ou-radius); background: var(--ou-plum-2); }
.ou-placeholder svg { width: 60%; max-width: 22rem; fill: rgba(255,255,255,.35); }
.ou-placeholder--light { background: rgba(255,255,255,.14); min-height: 16rem; }

/* Hero */
.ou-hero { background: var(--ou-plum); color: #fff; overflow: hidden; }
.ou-hero__grid { display: flex; flex-wrap: wrap; align-items: center; gap: 4.8rem; padding-block: 7.2rem; }
.ou-hero__text { flex: 1 1 42rem; display: flex; flex-direction: column; gap: 2.2rem; align-items: flex-start; }
.ou-hero__title { margin: 0; color: #fff; font-size: clamp(3.4rem, 5vw, 6rem); line-height: 1.15; font-weight: 700; }
.ou-hero__title span { display: block; color: var(--ou-accent); }
.ou-hero__sub, .ou-hero__sub p { margin: 0; color: rgba(255,255,255,.8); font-size: 1.8rem; line-height: 1.8; max-width: 52rem; }
.ou-hero__ctas { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.ou-hero__checks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.2rem 2.4rem; color: rgba(255,255,255,.85); font-size: 1.4rem; }
.ou-hero__checks li { display: flex; align-items: center; gap: .8rem; }
.ou-hero__checks .ou-icon { color: var(--ou-accent); width: 1.8rem; height: 1.8rem; }
.ou-hero__media { flex: 1 1 36rem; display: flex; justify-content: center; }
.ou-hero__media img { width: 100%; max-width: 52rem; height: auto; border-radius: var(--ou-radius); }

/* Trust strip */
.ou-trust.ou-section--white { background: var(--ou-surface); border-bottom: 1px solid var(--ou-line); }
.ou-trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 2rem; padding-block: 2.8rem; }
.ou-trust__item { display: flex; align-items: center; gap: 1.4rem; }
.ou-trust__icon { width: 4.8rem; height: 4.8rem; border-radius: 14px; background: var(--ou-pink); color: var(--ou-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ou-trust__title { font-weight: 600; font-size: 1.5rem; color: var(--ou-ink); }
.ou-trust__text { font-size: 1.3rem; color: var(--ou-muted); }
.ou-section--white.ou-trust, .ou-trust.ou-section--white { padding: 0; }
.ou-trust.ou-section--plain { padding: 2.4rem 0; }

/* Categories — Shopify-style cards: title, collage image, count pill */
.ou-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.ou-cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ou-cats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ou-cat { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--ou-radius); background: var(--ou-cat-bg, var(--ou-pink)); color: var(--ou-ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.ou-cat:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(42, 11, 34, .08); }
.ou-cat__media { position: absolute; inset: 0; display: block; overflow: hidden; }
.ou-cat__media img { width: 100%; height: 100%; display: block; transition: transform .4s ease; }
.ou-cat__media--contain img { object-fit: contain; }
.ou-cat__media--cover img { object-fit: cover; }
.ou-cat:hover .ou-cat__media img { transform: scale(1.05); }
.ou-cat__media svg { width: 30%; height: 100%; margin: 0 auto; display: block; fill: rgba(0,0,0,.18); }
.ou-cat__title { position: absolute; z-index: 2; top: 1.2rem; inset-inline-start: 1.2rem; max-width: calc(100% - 2.4rem); background: rgba(255,255,255,.85); border-radius: 999px; padding: .6rem 1.4rem; font-size: 1.6rem; font-weight: 700; line-height: 1.3; }
.ou-cat__pill { position: absolute; z-index: 2; bottom: 1.2rem; inset-inline-end: 1.2rem; background: rgba(255,255,255,.9); color: var(--ou-ink); border-radius: 999px; padding: .8rem 1.8rem; font-size: 1.4rem; font-weight: 600; transition: background .2s, color .2s; }
.ou-cat:hover .ou-cat__pill { background: var(--ou-primary); color: var(--ou-on-primary); }

/* Countdown header */
.ou-countdown { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.6rem; background: var(--ou-surface); border: 1px solid var(--ou-line); border-radius: 24px; padding: 2.4rem 2.8rem; }
.ou-countdown__boxes { display: flex; gap: .8rem; }
.ou-countdown__box { background: var(--ou-plum); color: #fff; border-radius: 12px; padding: 1rem 1.2rem; min-width: 5.6rem; text-align: center; }
.ou-countdown__box b { display: block; font-size: 2.4rem; }
.ou-countdown__box span { font-size: 1.1rem; color: rgba(255,255,255,.8); }
.ou-countdown.is-ended .ou-countdown__boxes { opacity: .4; }

/* Bundle */
.ou-bundle { background: var(--ou-primary); color: #fff; border-radius: 32px; padding: clamp(2.4rem, 5vw, 4.8rem); display: flex; flex-wrap: wrap; align-items: center; gap: 4rem; }
.ou-bundle__text { flex: 1 1 40rem; display: flex; flex-direction: column; gap: 1.8rem; align-items: flex-start; }
.ou-bundle__title { margin: 0; color: #fff; font-size: clamp(2.8rem, 3.5vw, 4rem); line-height: 1.3; }
.ou-bundle__sub, .ou-bundle__sub p { margin: 0; color: rgba(255,255,255,.88); font-size: 1.7rem; line-height: 1.8; }
.ou-bundle__row { display: flex; flex-wrap: wrap; align-items: center; gap: 2rem; }
.ou-bundle__price { font-size: 3.6rem; font-weight: 700; }
.ou-bundle__media { flex: 1 1 32rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
.ou-bundle__media img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; }

/* Reviews */
.ou-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr)); gap: 2.4rem; }
.ou-review { margin: 0; background: var(--ou-blush); border-radius: 24px; padding: 2.8rem; display: flex; flex-direction: column; gap: 1.6rem; }
.ou-review__img { width: 100%; border-radius: 16px; }
.ou-review__text { margin: 0; font-size: 1.8rem; line-height: 1.8; font-weight: 500; border: 0; padding: 0; color: var(--ou-ink); }
.ou-review__by { display: flex; align-items: center; gap: 1.2rem; margin-top: auto; font-size: 1.4rem; }
.ou-review__by b { display: block; }
.ou-review__by small { display: flex; align-items: center; gap: .4rem; color: var(--ou-green); font-size: 1.2rem; }
.ou-review__by small .ou-icon { width: 1.4rem; height: 1.4rem; }
.ou-review__avatar { width: 4rem; height: 4rem; border-radius: 50%; background: var(--ou-pink); color: var(--ou-primary); display: flex; align-items: center; justify-content: center; }
.ou-review__avatar .ou-icon { width: 1.8rem; height: 1.8rem; }

/* FAQ */
.ou-faq { max-width: 88rem; display: flex; flex-direction: column; gap: 1.2rem; }
.ou-faq > .ou-head__title { margin-bottom: 1.6rem; }
.ou-faq__item { background: var(--ou-surface); border: 1px solid var(--ou-line); border-radius: 16px; padding: 2rem 2.4rem; }
.ou-faq__item summary { cursor: pointer; font-weight: 600; font-size: 1.6rem; list-style: none; display: flex; justify-content: space-between; gap: 1.6rem; }
.ou-faq__item summary::-webkit-details-marker { display: none; }
.ou-faq__plus { color: var(--ou-primary); font-size: 2rem; line-height: 1; transition: transform .2s; }
.ou-faq__item[open] .ou-faq__plus { transform: rotate(45deg); }
.ou-faq__answer { margin-top: 1.2rem; color: var(--ou-muted); line-height: 1.8; }

/* WhatsApp floating button */
.ou-wa { position: fixed; bottom: 2.4rem; inset-inline-end: 2.4rem; z-index: 50; width: 6rem; height: 6rem; border-radius: 50%; background: var(--ou-green); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(31,138,76,.35); }
.ou-wa .ou-icon { width: 2.8rem; height: 2.8rem; }
.ou-wa:hover { transform: scale(1.05); }

/* ---- Product page (YouCan COD single product) ---- */
.yc-single-product .product-name { font-size: clamp(2.4rem, 3vw, 3.2rem); font-weight: 700; color: var(--ou-ink); line-height: 1.4; }
.yc-single-product .product-price, .yc-single-product .price { color: var(--ou-primary); font-weight: 700; font-size: 2.6rem; }
.yc-single-product .compare-price { color: var(--ou-muted); }
.yc-single-product .main-image, .yc-single-product .image-container img, .yc-single-product .product-images img { border-radius: var(--ou-radius); }
.yc-single-product .thumbnail-image { border-radius: 12px; }
.yc-single-product .product-options .yc-options-item, .yc-single-product .yc-radio-buttons label { border-radius: 999px; }
.yc-single-product .express-checkout-fields { gap: 1rem; }
.yc-single-product .product-description { line-height: 1.9; color: var(--ou-ink); }
.yc-btn { border-radius: 999px; font-family: inherit; min-height: 4.8rem; }
.yc-single-product .tag { border-radius: 999px; }
.yc-sticky-checkout { box-shadow: 0 -8px 20px rgba(42,11,34,.08); }

/* Footer */
.footer { background: var(--ou-plum) !important; color: rgba(255,255,255,.8); }
.footer a, .footer .footer-block__heading, .footer h2 { color: #fff; }

@media (max-width: 749px) {
  .ou-section { padding: 4.4rem 0; }
  .ou-hero__grid { padding-block: 4rem; gap: 2.8rem; }
  .ou-hero__ctas, .ou-hero__ctas .ou-btn { width: 100%; }
  .ou-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
  .ou-trust__item { flex-direction: column; align-items: flex-start; gap: .8rem; background: var(--ou-blush); border-radius: 16px; padding: 1.4rem; }
  .ou-trust__text { display: none; }
  .ou-cats, .ou-cats--3, .ou-cats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
  .ou-cat__title { font-size: 1.3rem; padding: .5rem 1rem; top: .8rem; inset-inline-start: .8rem; max-width: calc(100% - 1.6rem); }
  .ou-cat__pill { padding: .5rem 1.1rem; font-size: 1.1rem; bottom: .8rem; inset-inline-end: .8rem; }
  .ou-countdown { padding: 1.8rem; }
  .ou-countdown__box { min-width: 4.8rem; padding: .8rem; }
  .ou-countdown__box b { font-size: 2rem; }
  .ou-wa { bottom: 9rem; width: 5.2rem; height: 5.2rem; }
}

/* Slideshow — full image with text overlay */
.ou-slides { padding: 2.4rem 0 0; }
.ou-slides > .page-width { max-width: none; padding-inline: 0; }
.ou-slides__track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-inline: 15%; box-sizing: border-box; }
.ou-slides__track::-webkit-scrollbar { display: none; }
.ou-slide { position: relative; flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 19 / 10; border-radius: calc(var(--ou-radius) + 6px); overflow: hidden; background: var(--ou-slide-bg, var(--ou-pink)); }
.ou-slide__media, .ou-slide__media picture { position: absolute; inset: 0; display: block; }
.ou-slide__media img, .ou-slide__media svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.ou-slide__media svg { object-fit: contain; padding: 18%; fill: rgba(0,0,0,.15); }
.ou-slide__overlay { position: absolute; inset: 0; display: flex; justify-content: var(--ou-h, flex-start); align-items: var(--ou-v, center); padding: clamp(2rem, 5vw, 7rem); }
.ou-slide__text { max-width: min(46%, 52rem); display: flex; flex-direction: column; gap: 1.6rem; align-items: var(--ou-h, flex-start); text-align: var(--ou-al, center); }
.ou-slide__eyebrow { font-size: 1.5rem; font-weight: 500; color: var(--ou-s-text); }
.ou-slide__title { margin: 0; font-size: clamp(2.8rem, 4.4vw, 5.6rem); line-height: 1.2; font-weight: 700; color: var(--ou-s-head); }
.ou-slide__sub { margin: 0; font-size: 1.7rem; line-height: 1.7; color: var(--ou-s-text); }
.ou-slide__btn { display: inline-flex; align-items: center; min-height: 4.8rem; padding: 0 3rem; border-radius: 999px; background: var(--ou-s-btn); color: var(--ou-s-btn-text); font-weight: 600; font-size: 1.6rem; text-decoration: none; }
.ou-slide__btn:hover { opacity: .9; color: var(--ou-s-btn-text); }
.ou-slides__ctrl { display: flex; align-items: center; justify-content: center; gap: 1.6rem; margin-top: 1.6rem; }
.ou-slides__arrow { width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 1px solid var(--ou-line); background: var(--ou-surface); color: var(--ou-ink); font-size: 1.8rem; cursor: pointer; }
.ou-slides__dots { display: flex; gap: .8rem; }
.ou-slides__dot { width: 1rem; height: 1rem; border-radius: 50%; border: 0; padding: 0; background: var(--ou-dot-off, var(--ou-line)); cursor: pointer; transition: width .2s; }
.ou-slides__dot.is-active { background: var(--ou-dot-on, var(--ou-primary)); width: 2.8rem; border-radius: 999px; }

/* Tabs */
.ou-tabs__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin-bottom: 2.8rem; }
.ou-tabs__btn { font-family: inherit; font-size: 1.5rem; font-weight: 600; min-height: 4.4rem; padding: 0 2.4rem; border-radius: 999px; border: 1px solid var(--ou-line); background: var(--ou-surface); color: var(--ou-ink); cursor: pointer; }
.ou-tabs__btn.is-active { background: var(--ou-plum); border-color: var(--ou-plum); color: var(--ou-surface); }
.ou-tabs__panel[hidden] { display: none; }
.ou-tabs__all { text-align: center; margin-top: 3rem; }

@media (max-width: 749px) {
  .ou-slides__track { padding-inline: 8%; gap: 1.2rem; }
  .ou-slide { flex: 0 0 84%; }
  .ou-slide { aspect-ratio: var(--ou-mratio, 4 / 5); }
  .ou-slide__overlay { padding: 2rem; align-items: var(--ou-mv, flex-end); justify-content: center; }
  .ou-slide__text { max-width: 88%; align-items: center; gap: 1.2rem; text-align: var(--ou-mal, center); }
  .ou-slide__title { font-size: 2.6rem; }
  .ou-slide__sub { font-size: 1.5rem; }
  .ou-slide__btn { min-height: 4.4rem; padding: 0 2.4rem; font-size: 1.5rem; }
  .ou-tabs__btn { padding: 0 1.6rem; font-size: 1.4rem; }
}

/* Footer: lisible + 3 colonnes */
.footer, .footer p, .footer li, .footer small { color: rgba(255,255,255,.85) !important; }
.footer a, .footer .link, .footer .list-menu__item, .footer .list-menu__item--link, .footer .copyright__content a { color: rgba(255,255,255,.85) !important; text-decoration: none; }
.footer a:hover { color: var(--ou-accent) !important; }
.footer .footer-block__heading, .footer h2, .footer h2 p { color: #fff !important; font-size: 1.7rem; margin-bottom: 1.2rem; }
.footer .ou-footer-links li { margin-bottom: .8rem; }
.footer__blocks-wrapper.ou-footer-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.footer__blocks-wrapper.ou-footer-3 .footer-block { width: auto; max-width: none; }
@media (max-width: 749px) { .footer__blocks-wrapper.ou-footer-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Mobile + tablette: 2 produits par ligne, même si le swipe est activé */
@media (max-width: 989px) {
  .product-grid.grid--2-col-tablet-down { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.2rem !important; overflow: visible !important; scroll-snap-type: none !important; padding-inline: 0 !important; }
  .product-grid.grid--2-col-tablet-down > .grid__item { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; flex: none !important; }
  .product-grid.grid--2-col-tablet-down::after { display: none !important; }
  slider-component.slider-mobile-gutter { margin: 0 !important; }
  slider-component .slider-buttons { display: none !important; }
}

/* Ordinateur: respecte le nombre de colonnes choisi */
@media (min-width: 990px) {
  .product-grid { display: grid !important; gap: 2rem !important; overflow: visible !important; }
  .product-grid.grid--2-col-desktop { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .product-grid.grid--3-col-desktop { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .product-grid.grid--4-col-desktop { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .product-grid.grid--5-col-desktop { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .product-grid > .grid__item { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
}


/* ===== Express checkout (صفحة المنتج) ===== */
body #express-checkout-form, body #bundle-express-checkout-form, body form[class*="custom-checkout-"] { background: var(--ou-surface) !important; border: 1px solid var(--ou-line) !important; border-radius: 18px !important; box-shadow: none !important; padding: 20px !important; margin-top: 14px; }
body #express-checkout-form .express-checkout-fields, body #bundle-express-checkout-form .express-checkout-fields { background: transparent !important; padding: 0 !important; gap: 12px !important; }
body .express-checkout-title { font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--ou-plum); margin-bottom: 2px; }
body #express-checkout-form input, body #express-checkout-form select, body #express-checkout-form textarea, body #express-checkout-form .phone-fieldset, body #bundle-express-checkout-form input, body #bundle-express-checkout-form select, body #bundle-express-checkout-form textarea, body #bundle-express-checkout-form .phone-fieldset { min-height: 48px; background: var(--ou-surface) !important; color: var(--ou-plum) !important; border: 1px solid var(--ou-line) !important; border-radius: 12px !important; padding: 12px 16px !important; font-size: 15px !important; box-shadow: none !important; }
body #express-checkout-form .phone-fieldset input, body #bundle-express-checkout-form .phone-fieldset input { border: 0 !important; min-height: 0; }
body #express-checkout-form input::placeholder, body #express-checkout-form textarea::placeholder { color: var(--ou-muted) !important; opacity: 1; }
body #express-checkout-form input:focus, body #express-checkout-form select:focus, body #express-checkout-form textarea:focus, body #express-checkout-form .phone-fieldset:focus-within { outline: none; border-color: var(--ou-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ou-primary) 14%, transparent) !important; }
body #express-checkout-form .express-checkout-button, body #bundle-express-checkout-form .express-checkout-button, body form[class*="custom-checkout-"] .express-checkout-button { width: 100%; min-height: 52px; background: var(--ou-primary) !important; border: 0 !important; border-radius: 999px !important; padding: 14px 20px !important; cursor: pointer; transition: background .2s ease, transform .2s ease; }
body #express-checkout-form .express-checkout-button span, body #bundle-express-checkout-form .express-checkout-button span { color: var(--ou-on-primary) !important; font-size: 14px; font-weight: 600 !important; }
body #express-checkout-form .express-checkout-button:hover:not(:disabled) { background: var(--ou-primary-dark) !important; transform: translateY(-1px); }
body #express-checkout-form .express-checkout-button:disabled { background: var(--ou-accent) !important; cursor: not-allowed !important; opacity: .6; }

/* ===== السلة (cart drawer) ===== */
.cart-drawer .drawer__inner { background: var(--ou-blush) !important; }
.cart-drawer .drawer__heading { font-size: 22px; font-weight: 600; color: var(--ou-plum); }
.cart-drawer .drawer__close { color: var(--ou-primary); }
.cart-drawer .cart-item { background: var(--ou-surface); border: 1px solid var(--ou-line); border-radius: 16px; padding: 10px; margin-bottom: 10px; }
.cart-drawer .cart-item__image { border: 1px solid var(--ou-pink); border-radius: 12px; background: var(--ou-surface); }
.cart-drawer .cart-item__name { color: var(--ou-plum); font-weight: 600; }
.cart-drawer .cart-item .price, .cart-drawer .totals__total-value { color: var(--ou-primary); font-weight: 700; }
.cart-drawer .drawer__footer { background: var(--ou-surface); border-top: 1px solid var(--ou-line); }
.cart-drawer .totals__total { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ou-ink); }
.cart-drawer .cart__checkout-button { background: var(--ou-primary) !important; color: var(--ou-on-primary) !important; border-radius: 999px; font-weight: 600; }
.cart-drawer .cart__checkout-button:hover { background: var(--ou-primary-dark) !important; }

/* ===== الصفحات (About, Livraison, CGV, FAQ…) ===== */
.page-width--narrow .main-page-title { color: var(--ou-plum); font-size: clamp(2.6rem, 3vw, 3.2rem); font-weight: 600; line-height: 1.25; margin: 8px 0 18px; }
.page-width--narrow .rte { color: var(--ou-ink); font-size: 15.5px; line-height: 1.8; }
.page-width--narrow .rte h2 { font-size: 20px; font-weight: 600; color: var(--ou-primary); margin: 32px 0 12px; }
.page-width--narrow .rte h3 { font-size: 17px; font-weight: 600; color: var(--ou-plum); margin: 24px 0 10px; }
.page-width--narrow .rte a { color: var(--ou-primary); font-weight: 500; text-underline-offset: 3px; }
.page-width--narrow .rte li::marker { color: var(--ou-primary); font-weight: 600; }
.page-width--narrow .rte blockquote { background: var(--ou-blush); border: 1px solid var(--ou-line); border-inline-start: 4px solid var(--ou-primary); border-radius: 14px; padding: 16px 20px; margin: 28px 0; }
.page-width--narrow .rte table th, .page-width--narrow .rte table td { border: 1px solid var(--ou-line); padding: 10px 14px; text-align: start; }
.page-width--narrow .rte table th { background: var(--ou-blush); color: var(--ou-plum); }

/* ===== Toast (add to cart / erreurs) ===== */
.ou-toast{position:fixed;left:50%;bottom:24px;z-index:10000;max-width:min(92vw,420px);padding:12px 20px;border-radius:999px;background:var(--ou-plum,#2A0B22);color:#fff;font-size:1.4rem;font-weight:600;box-shadow:0 12px 30px -10px rgba(42,11,34,.55);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.ou-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.ou-toast--error{background:#B3261E}
.ou-toast--success{background:var(--ou-primary,#C2185B)}

/* cart page */
.yc-cart .yc-btn-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--ou-line,#eee);background:#fff;color:var(--ou-primary,#a1316b);cursor:pointer;padding:0}
.yc-cart .yc-btn-close:hover{background:var(--ou-primary,#a1316b);color:#fff}
.yc-cart a.yc-btn{display:flex;align-items:center;justify-content:center;background:var(--ou-primary,#a1316b);color:#fff;border-radius:999px;padding:12px 20px;text-decoration:none;position:relative;z-index:2;cursor:pointer}

/* drawer remove + header */
.cart-drawer .drawer__header{padding:1.2rem 0 .4rem}
.cart-drawer .drawer__close{position:static!important;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;margin:0}
.cart-drawer .drawer__close svg{width:18px;height:18px}
.cart-drawer .drawer__heading{margin:0}
.ou-drawer-remove{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;border:1px solid var(--ou-pink,#f3c9dc);border-radius:999px;background:#fff;color:var(--ou-primary,#a1316b);font-size:12px;cursor:pointer}
.ou-drawer-remove:hover{background:var(--ou-primary,#a1316b);color:#fff}
.ou-drawer-remove:disabled{opacity:.5;cursor:wait}
.cart-drawer .cart-item__details .cart-item__name{display:block}
/* cart page design */
.yc-cart .cart-table::after{content:"";display:block;clear:both}
.yc-cart .cart-table .summary-box{float:none!important;width:100%!important;max-width:460px;margin:24px 0 40px auto;background:#fff;border:1px solid var(--ou-line,#f0dce6);border-radius:20px;padding:18px 0 22px;box-shadow:0 6px 24px rgba(120,40,90,.06)}
.yc-cart .cart-table .summary-box #summary{padding:0 18px}
.yc-cart .cart-table .summary-box .price-wrapper{padding:0 0 12px}
.yc-cart .cart-table .summary-box .box{color:var(--ou-ink,#333)}
.yc-cart .table-container{background:#fff;border:1px solid var(--ou-line,#f0dce6);border-radius:20px;overflow:hidden}
.yc-cart .table-container .row.header{background:var(--ou-blush,#fff3f8);font-weight:600;color:var(--ou-plum,#4a1d3a)}
.yc-cart .table-container .row.cart__item{background:#fff;border-top:1px solid var(--ou-line,#f0dce6)}
.yc-cart .cart-table .header-block{margin-bottom:18px;gap:16px;flex-wrap:wrap}
.yc-cart .cart-table .header-block .header-bar h2{color:var(--ou-plum,#4a1d3a);font-size:24px}
.yc-cart .cart-table .header-block .checkout_cta{width:320px}
@media(max-width:768px){.yc-cart .cart-table .summary-box{max-width:100%;margin:20px 0}}
/* drawer item: 2-line name, compact */
.cart-drawer .cart-item__name{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px!important;line-height:1.45!important;font-weight:600;margin:0 0 4px;word-break:normal;overflow-wrap:anywhere}
.cart-drawer .cart-item__details .product-option{font-size:12.5px;line-height:1.3;color:var(--ou-muted,#8a7380);white-space:nowrap}
.cart-drawer .cart-item__totals .price{font-size:15px;white-space:nowrap}
.cart-drawer .cart-item{align-items:center}

.ou-drawer-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.ou-drawer-actions .ou-drawer-remove{margin-top:0}
.ou-drawer-qty{display:inline-flex;align-items:center;border:1px solid var(--ou-pink,#f3c9dc);border-radius:999px;background:#fff;overflow:hidden}
.ou-qty-btn{width:30px;height:30px;border:0;background:transparent;color:var(--ou-primary,#a1316b);font-size:18px;line-height:1;cursor:pointer;padding:0}
.ou-qty-btn:hover{background:var(--ou-blush,#fff3f8)}
.ou-qty-btn:disabled{opacity:.4;cursor:wait}
.ou-qty-val{min-width:24px;text-align:center;font-weight:700;font-size:14px;color:var(--ou-plum,#4a1d3a)}
