/*
Theme Name: Imany Store
Theme URI: https://imanystore.com
Author: Imany Store
Description: Thème sur mesure d'Imany Store — guides gratuits du Ramadan et boutique (FR / PT).
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: imany
*/

@font-face{font-family:Marcellus;src:url(assets/fonts/marcellus-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/fonts/manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/fonts/manrope-600.woff2) format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/fonts/manrope-700.woff2) format("woff2");font-weight:700 800;font-display:swap}
@font-face{font-family:Amiri;src:url(assets/fonts/amiri-arabic-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF}

:root{--ink:#12352D;--night:#0F2A24;--night2:#14362E;--sand:#F6F1E7;--sand2:#EFE6D2;--line:#E4DAC6;--line2:#C9BCA3;--gold:#B8893B;--gold2:#D9B46A;--bronze:#7A5A1F;--muted:#4A5A55;--muted2:#5B6B66;--cream:#CFC4AC}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}a:hover{color:var(--bronze)}
img{max-width:100%;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.serif{font-family:Marcellus,Georgia,serif;font-weight:400}
.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;background:var(--ink);color:var(--sand)}
.btn:hover{background:var(--night);color:var(--sand)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--sand)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Bandeau + en-tête */
.topbar{background:var(--night);color:var(--sand2);font-size:13px;letter-spacing:.04em;text-align:center;padding:10px 16px}
.site-header{border-bottom:1px solid var(--line);background:var(--sand)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-name{display:flex;flex-direction:column;line-height:1.05}
.brand-name b{font-family:Marcellus,serif;font-weight:400;font-size:25px;letter-spacing:.12em;color:var(--ink)}
.brand-name small{font-size:10px;letter-spacing:.42em;color:var(--bronze);font-weight:600}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px;font-size:15px;font-weight:500}
.nav a{text-decoration:none}
.nav .soon{font-size:12px;color:var(--bronze)}
.nav .account{border:1.5px solid var(--ink);padding:9px 18px;border-radius:999px;font-weight:600}
.lang{display:flex;gap:2px;font-size:13px;font-weight:700}
.lang a,.lang span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:999px;text-decoration:none}
.lang span{background:var(--ink);color:var(--sand)}

/* Hero */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:64px;padding-bottom:72px}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{margin:0;font-family:Marcellus,serif;font-weight:400;font-size:clamp(38px,6vw,58px);line-height:1.06}
.hero p{margin:0;font-size:18px;color:var(--muted);max-width:540px}
.arabic{font-family:Amiri,serif;font-size:30px;color:var(--bronze);align-self:flex-start}
.checks{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:var(--muted)}
.checks span{display:flex;align-items:center;gap:8px}
.card-form{flex:1 1 380px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 20px 50px rgba(15,42,36,.08)}
.card-form h2{margin:0 0 4px;font-family:Marcellus,serif;font-weight:400;font-size:26px}
.card-form .sub{font-size:14px;color:var(--muted);margin:0 0 16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;margin-bottom:14px}
.field input{height:48px;border:1px solid var(--line2);border-radius:10px;padding:0 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink)}
.field input:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--muted);margin:4px 0 18px}
.consent input{width:20px;height:20px;margin-top:2px;flex-shrink:0}
.card-form .btn{width:100%}
.legal-note{font-size:12px;color:var(--muted2);text-align:center;margin:12px 0 0}
.welcome{display:flex;flex-direction:column;gap:14px;align-items:flex-start}

/* Étapes */
.band{background:var(--sand2)}
.steps{padding-top:56px;padding-bottom:56px}
.steps h2{text-align:center;margin:0 0 32px;font-size:34px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.step .num{width:48px;height:48px;border-radius:24px;background:var(--ink);color:var(--sand);display:flex;align-items:center;justify-content:center;font-family:Marcellus,serif;font-size:22px}
.step strong{font-size:17px}
.step span{font-size:14px;color:var(--muted)}

/* Guides */
.guides{padding-top:80px;padding-bottom:80px}
.guides h2{margin:6px 0 8px;font-size:40px}
.guides .lead{margin:0 0 32px;color:var(--muted)}
.guide{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.guide-cover{height:190px;background:var(--night);position:relative;display:flex;align-items:flex-end;padding:20px;overflow:hidden}
.guide-cover svg{position:absolute;right:-30px;top:-30px;width:200px;height:200px;opacity:.22}
.guide-cover b{position:relative;font-family:Marcellus,serif;font-weight:400;font-size:21px;line-height:1.2;color:var(--sand)}
.guide-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;flex-grow:1}
.guide-body p{margin:0;font-size:14px;color:var(--muted);flex-grow:1}
.guide-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.guide-foot small{font-size:12px;color:var(--muted2)}
.badge{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.badge.on{background:var(--ink);color:var(--sand)}
.badge.soon{background:var(--sand2);color:var(--bronze)}
a.badge{text-decoration:none}

/* Sources */
.dark{background:var(--night);color:var(--sand2)}
.sources{max-width:880px;margin:0 auto;padding:72px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.sources h2{margin:0;font-size:34px;color:var(--sand)}
.sources p{margin:0;font-size:17px;color:var(--cream)}

/* Boutique */
.shop-home{padding-top:80px;padding-bottom:80px}
.shop-home h1,.shop-home h2{margin:6px 0 8px;font-size:40px}
.shop-home .lead{margin:0 0 32px;color:var(--muted);max-width:720px}
.shop-page{padding-top:56px}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.product{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.product-visual{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--night)}
.product-visual svg{width:42%;height:auto;margin-top:22px}
.product-visual .badge{position:absolute;left:14px;top:14px}
.product-visual{overflow:hidden}
.product-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badge.oos{background:var(--sand);color:var(--bronze);border:1px solid var(--gold2)}
.product-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex-grow:1}
.product-body h3{margin:0;font-family:Marcellus,serif;font-weight:400;font-size:20px;line-height:1.25}
.product-body h3 a{text-decoration:none}
.product-body p{margin:0;font-size:14px;color:var(--muted);flex-grow:1}
.product-link{font-size:14px;font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.price{font-family:Marcellus,serif;font-size:22px;color:var(--ink)}
.price.big{margin:0;font-size:32px}
.price small{font-family:Manrope,sans-serif;font-size:13px;color:var(--muted2)}
.shop-more{margin:32px 0 0;text-align:center}
.product-page{padding-top:32px;padding-bottom:80px}
.back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:none}
.product-detail{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;margin-top:12px}
.product-visual.big{flex:1 1 380px;min-width:0;aspect-ratio:1/1;border-radius:20px}
.product-visual.big svg{width:50%;margin-top:0}
.product-info{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.product-info h1{margin:0;font-size:clamp(32px,5vw,44px);line-height:1.1}
.product-info h2{margin:8px 0 0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);font-weight:700}
.product-desc{margin:0;font-size:17px;color:var(--muted)}
.product-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.product-points li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.product-points svg{flex-shrink:0;margin-top:3px}
.product-ship{display:flex;flex-direction:column;gap:4px;background:var(--sand2);border-radius:14px;padding:16px 18px;font-size:14px;align-self:stretch}
.oos-note{margin:0;font-size:14px;color:var(--muted)}

/* FAQ */
.faq{max-width:820px;margin:0 auto;padding:72px 24px}
.faq h2{text-align:center;margin:0 0 16px;font-size:34px}
.faq details{border-bottom:1px solid var(--line2);padding:18px 0}
.faq summary{font-weight:600;font-size:16px;cursor:pointer}
.faq details p{margin:12px 0 0;color:var(--muted)}

/* Pages internes */
.page-wrap{max-width:860px;margin:0 auto;padding:56px 24px 80px}
.page-wrap h1{font-family:Marcellus,serif;font-weight:400;font-size:42px;margin:0 0 24px}
.page-wrap .entry{font-size:16px}
.guides-page .grid3{margin-top:24px}

/* Pied de page */
.site-footer{background:var(--night);color:var(--cream);font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;padding-top:48px;padding-bottom:28px}
.site-footer a{color:var(--sand2);text-decoration:none}
.site-footer nav{display:flex;flex-wrap:wrap;gap:24px}
.site-footer .legal{border-top:1px solid #2B4A42;padding:18px 24px 28px;max-width:1200px;margin:0 auto;font-size:12px;color:#B9AE96}
.footer-brand b{font-family:Marcellus,serif;font-weight:400;font-size:22px;letter-spacing:.12em;color:var(--sand)}
.footer-brand small{display:block;font-size:10px;letter-spacing:.42em;color:var(--gold2);font-weight:600}

/* WooCommerce (compte) */
.woocommerce form .form-row input.input-text{height:48px;border:1px solid var(--line2);border-radius:10px;padding:0 14px}
.woocommerce button.button,.woocommerce a.button{background:var(--ink)!important;color:var(--sand)!important;border-radius:999px!important;padding:14px 26px!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--gold)!important;background:#fff!important}

@media (max-width:820px){
  .grid3{grid-template-columns:1fr}
  .nav{gap:14px;font-size:14px}
  .hero{padding-top:40px;gap:36px}
  .guides h2,.shop-home h1,.shop-home h2{font-size:32px}
}
