/*
Theme Name: ODA Daily Inspired
Theme URI: https://odacare.fr/
Author: ODA Care
Description: Thème WordPress/WooCommerce ODA Care, inspiré du rythme éditorial et des interactions modernes de Daily Harvest, avec une implémentation originale.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: oda-daily-inspired
*/

:root{
  --oda-black:#050505;
  --oda-ink:#161616;
  --oda-grey:#6d7377;
  --oda-line:#e8e8e8;
  --oda-blue:#B1D4E0;
  --oda-blue-soft:#edf4f6;
  --oda-warm:#F5F3EF;
  --oda-white:#fff;
  --oda-radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--oda-black);
  background:#fff;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.admin-bar .oda-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.oda-shell{overflow:hidden}
.oda-container{width:min(1440px,calc(100% - 32px));margin:0 auto}

.oda-announcement{height:32px;overflow:hidden;background:#050505;color:#fff;display:flex;align-items:center}
.oda-announcement__track{width:max-content;display:flex;align-items:center;animation:odaMarquee 28s linear infinite}
.oda-announcement__track span{white-space:nowrap;padding:0 32px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
@keyframes odaMarquee{to{transform:translateX(-50%)}}

.oda-header{
  position:sticky;top:0;z-index:100;
  height:70px;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(5,5,5,.08);
}
.oda-header__inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.oda-brand{text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-.065em}
.oda-brand small{font-size:9px;letter-spacing:.18em;margin-left:4px;font-weight:500}
.oda-nav{display:flex;gap:26px;align-items:center;justify-content:center}
.oda-nav a{text-decoration:none;font-size:12px;font-weight:500;opacity:.74}
.oda-nav a:hover{opacity:1}
.oda-header__actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}
.oda-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;background:#111;color:#fff;font-size:12px;font-weight:600}
.oda-menu-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:10px}
.oda-menu-toggle span{display:block;height:1px;background:#111;margin:6px 0}
.oda-mobile-menu{display:none;position:fixed;z-index:99;left:0;right:0;top:102px;background:#fff;padding:24px;border-bottom:1px solid var(--oda-line)}
.oda-mobile-menu.is-open{display:flex;flex-direction:column;gap:18px}
.oda-mobile-menu a{text-decoration:none;font-size:20px;letter-spacing:-.04em}

.oda-hero{position:relative;min-height:calc(100vh - 118px);margin:16px;overflow:hidden;border-radius:var(--oda-radius);background:#dce5e8}
.oda-hero__media{position:absolute;inset:-4%;will-change:transform}
.oda-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.oda-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.57),rgba(5,5,5,.16) 55%,rgba(5,5,5,.04))}
.oda-hero__content{position:relative;z-index:2;color:#fff;max-width:740px;padding:clamp(96px,11vw,165px) 6vw 70px}
.oda-eyebrow{margin:0 0 16px;color:#5f737f;font-size:11px;line-height:1;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.oda-eyebrow--light{color:rgba(255,255,255,.78)}
.oda-hero h1,.oda-section-title,.oda-split h2,.oda-expert h2,.oda-final h2{
  margin:0;font-weight:400;letter-spacing:-.06em;line-height:.97
}
.oda-hero h1{font-size:clamp(56px,7vw,104px);line-height:.91;letter-spacing:-.075em}
.oda-hero h1 strong,.oda-section-title strong,.oda-split h2 strong,.oda-expert h2 strong,.oda-final h2 strong{font-weight:650}
.oda-hero__copy{max-width:560px;margin:26px 0 0;color:rgba(255,255,255,.88);font-size:15px;line-height:1.58}
.oda-actions{display:flex;align-items:center;gap:18px;margin-top:28px}
.oda-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:650;transition:.25s ease}
.oda-button:hover{transform:translateY(-2px)}
.oda-button--light{background:#fff;color:#111}
.oda-button--dark{background:#111;color:#fff}
.oda-text-link{font-size:12px;text-underline-offset:4px}
.oda-hero__proof{margin-top:22px;font-size:11px;color:rgba(255,255,255,.78)}

.oda-section{padding:110px max(28px,4vw)}
.oda-intro{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.oda-section-head{max-width:900px}
.oda-section-title,.oda-split h2,.oda-expert h2{font-size:clamp(42px,5vw,72px)}
.oda-section-head>p:last-child,.oda-split__copy>p:not(.oda-eyebrow){max-width:680px;margin:23px 0 0;color:var(--oda-grey);font-size:15px;line-height:1.65}

.oda-cards{padding:0 max(16px,2vw) 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.oda-card{border-radius:var(--oda-radius);overflow:hidden;background:#f7f7f5}
.oda-card__media{aspect-ratio:4/4.3;overflow:hidden;background:#e9eef0}
.oda-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.oda-card:hover .oda-card__media img{transform:scale(1.035)}
.oda-card__copy{padding:22px 22px 25px}
.oda-card__copy span{font-size:10px;color:#7a8388;letter-spacing:.12em;font-weight:650}
.oda-card__copy h3{margin:11px 0 7px;font-size:22px;line-height:1.1;letter-spacing:-.04em;font-weight:600}
.oda-card__copy p{margin:0;color:var(--oda-grey);font-size:13px;line-height:1.55}

.oda-ticker{overflow:hidden;border-top:1px solid var(--oda-line);border-bottom:1px solid var(--oda-line);padding:18px 0}
.oda-ticker__track{width:max-content;display:flex;align-items:center;gap:26px;animation:odaMarquee 24s linear infinite}
.oda-ticker__track span{font-size:13px;font-weight:500;white-space:nowrap}
.oda-ticker__track i{display:block;width:5px;height:5px;border-radius:50%;background:var(--oda-blue)}

.oda-split{margin:16px;display:grid;grid-template-columns:1fr 1fr;min-height:760px;border-radius:var(--oda-radius);overflow:hidden;background:var(--oda-warm)}
.oda-split__media{min-height:760px;overflow:hidden;background:#edf1f2}
.oda-split__media img{width:100%;height:100%;object-fit:cover}
.oda-split__copy{padding:70px clamp(34px,6vw,86px);display:flex;flex-direction:column;justify-content:center}
.oda-facts{margin-top:38px;padding-top:24px;border-top:1px solid rgba(5,5,5,.15);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.oda-facts div{display:flex;flex-direction:column;gap:4px}.oda-facts strong{font-size:24px;letter-spacing:-.04em}.oda-facts span{font-size:11px;color:#717679}

.oda-expert{padding:120px max(28px,4vw)}.oda-expert__top{max-width:900px;margin-bottom:55px}
.oda-expert__grid{display:grid;grid-template-columns:minmax(320px,.75fr) 1.25fr;gap:14px}
.oda-expert__image,.oda-expert__quote{border-radius:var(--oda-radius);overflow:hidden;min-height:540px}
.oda-expert__image{background:var(--oda-blue-soft)}.oda-expert__image img{width:100%;height:100%;object-fit:cover}
.oda-expert__quote{padding:clamp(36px,5vw,72px);background:#101415;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.oda-expert__quote blockquote{margin:0;max-width:780px;font-size:clamp(28px,3.2vw,48px);line-height:1.08;letter-spacing:-.055em}
.oda-expert__quote p{font-size:12px;line-height:1.55;color:#fff}.oda-expert__quote span{opacity:.58}

.oda-chooser{padding:110px max(28px,4vw)}
.oda-chooser__row{margin-top:45px;display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;cursor:grab}
.oda-chooser__row::-webkit-scrollbar{display:none}.oda-chooser__row.is-dragging{cursor:grabbing}
.oda-choice{flex:0 0 min(360px,82vw);min-height:260px;padding:25px;border:1px solid var(--oda-line);border-radius:var(--oda-radius);text-decoration:none;display:flex;flex-direction:column;transition:.25s ease}
.oda-choice:hover{background:var(--oda-blue-soft);border-color:var(--oda-blue);transform:translateY(-3px)}
.oda-choice span{font-size:10px;color:#778085;letter-spacing:.12em}.oda-choice strong{margin:auto 0 18px;max-width:260px;font-size:25px;line-height:1.05;letter-spacing:-.045em}.oda-choice small{font-size:11px;color:#6d7377}

.oda-final{margin:16px;min-height:620px;border-radius:var(--oda-radius);padding:80px max(28px,6vw);background:#303940;color:#fff;display:flex;align-items:flex-end}
.oda-final__copy{max-width:980px}.oda-final h2{font-size:clamp(48px,6.5vw,88px)}.oda-final .oda-button{margin-top:28px}

.oda-journal{padding:110px max(28px,4vw)}
.oda-journal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}
.oda-journal__card{min-height:310px;padding:26px;border-radius:var(--oda-radius);background:#f7f7f5;text-decoration:none;display:flex;flex-direction:column}
.oda-journal__card:nth-child(2){background:var(--oda-blue-soft)}.oda-journal__card:nth-child(3){background:var(--oda-warm)}
.oda-journal__card span{font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:#68747a}
.oda-journal__card h3{margin:auto 0 25px;max-width:340px;font-size:25px;line-height:1.08;letter-spacing:-.045em}.oda-journal__card small{font-size:11px}

.oda-footer{margin-top:30px;padding:60px max(28px,4vw) 70px;background:#050505;color:#fff;display:grid;grid-template-columns:1.3fr .7fr .7fr 1.3fr;gap:50px}
.oda-footer__brand{text-decoration:none;font-size:24px;font-weight:650;letter-spacing:-.06em}.oda-footer p{color:rgba(255,255,255,.52);font-size:12px}
.oda-footer>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.oda-footer>div>span{margin-bottom:8px;font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.oda-footer a:not(.oda-footer__brand){text-decoration:none;color:#fff;font-size:12px;opacity:.8}
.oda-newsletter form{display:flex;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:8px}.oda-newsletter input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-family:inherit;font-size:12px}.oda-newsletter button{border:0;background:transparent;color:#fff;font-size:20px}

.oda-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.65,.25,1),transform .8s cubic-bezier(.2,.65,.25,1)}.oda-reveal.is-visible{opacity:1;transform:none}

/* WooCommerce PDP */
.woocommerce div.product{width:min(1440px,calc(100% - 32px));margin:32px auto 90px}
.woocommerce div.product .woocommerce-product-gallery{width:58%;position:sticky;top:88px}
.woocommerce div.product div.summary{width:38%;padding:18px 0 0}
.woocommerce div.product .product_title{font-size:clamp(42px,4vw,64px);line-height:.98;letter-spacing:-.06em;font-weight:500;margin:0 0 14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:20px;color:#111;font-weight:650}
.woocommerce div.product .woocommerce-product-details__short-description{color:#6d7377;font-size:14px;line-height:1.6}
.woocommerce div.product form.cart{margin-top:28px}
.woocommerce div.product form.cart .button{min-height:52px;border-radius:10px;background:#111!important;color:#fff!important;font-family:inherit;font-size:13px;font-weight:650;padding:0 22px}
.woocommerce div.product .quantity .qty{min-height:52px;border:1px solid #ddd;border-radius:10px}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:60px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid #e9e9e9}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0 20px 0 0;padding:0 0 12px}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs .panel{font-size:14px;line-height:1.65;color:#555}

/* Pages/posts */
.oda-content{width:min(980px,calc(100% - 40px));margin:80px auto}.oda-content h1{font-size:clamp(42px,6vw,72px);letter-spacing:-.06em;line-height:1}.oda-content p{line-height:1.7;color:#555}

@media(max-width:900px){
  body.admin-bar .oda-header{top:46px}
  .oda-container{width:min(100% - 24px,1440px)}
  .oda-header{height:62px}.oda-header__inner{grid-template-columns:1fr auto}.oda-nav,.oda-header__actions .oda-pill{display:none}.oda-menu-toggle{display:block}
  .oda-mobile-menu{top:94px}
  .oda-hero{min-height:720px;margin:10px}.oda-hero__media{inset:0}.oda-hero__shade{background:linear-gradient(0deg,rgba(5,5,5,.66),rgba(5,5,5,.08) 68%)}.oda-hero__content{position:absolute;left:0;right:0;bottom:0;padding:42px 22px 34px}.oda-hero h1{font-size:clamp(48px,14vw,68px)}
  .oda-section,.oda-chooser,.oda-journal,.oda-expert{padding:72px 18px}.oda-intro{grid-template-columns:1fr;align-items:start}.oda-section-title,.oda-split h2,.oda-expert h2{font-size:clamp(38px,11vw,52px)}
  .oda-cards{padding:0 10px 72px;grid-template-columns:1fr;gap:10px}.oda-card__media{aspect-ratio:1.15/1}
  .oda-split{margin:10px;grid-template-columns:1fr;min-height:0}.oda-split__media{min-height:0;aspect-ratio:1/1}.oda-split__copy{padding:50px 22px}
  .oda-expert__grid{grid-template-columns:1fr}.oda-expert__image{min-height:0;aspect-ratio:1/1}.oda-expert__quote{min-height:470px}
  .oda-final{margin:10px;min-height:540px;padding:48px 22px}.oda-journal__grid{grid-template-columns:1fr}.oda-journal__card{min-height:240px}.oda-footer{grid-template-columns:1fr 1fr;gap:40px 24px;padding:50px 20px}.oda-newsletter{grid-column:1/-1}
  .woocommerce div.product{width:min(100% - 20px,1440px);margin-top:10px}.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product div.summary{width:100%;float:none}.woocommerce div.product .woocommerce-product-gallery{position:relative;top:auto}.woocommerce div.product div.summary{padding:30px 10px}
}
@media(max-width:520px){.oda-actions{align-items:flex-start;flex-direction:column;gap:14px}.oda-facts{gap:6px}.oda-footer{grid-template-columns:1fr}.oda-newsletter{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.oda-reveal{opacity:1!important;transform:none!important}}
