/*
Theme Name: Téesse — Version 2
Theme URI: https://teesse.fr
Author: Téesse
Description: Thème WordPress sur mesure pour Téesse - fondants parfumés inspirés des régions de France.
Version: 2.0.0
Text Domain: teesse
*/

:root{
  --ink:#050912;
  --ink2:#09182e;
  --navy:#0b2342;
  --gold:#cfa25c;
  --gold2:#efd39b;
  --cream:#f5efe4;
  --muted:#b9bbc2;
  --line:rgba(207,162,92,.42);
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 65% 15%,#10294b 0,#07101e 35%,#03070d 78%);color:var(--cream);font-family:var(--sans);line-height:1.7;font-weight:300}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.shell{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(3,7,13,.89);backdrop-filter:blur(14px);border-bottom:1px solid rgba(207,162,92,.22)}
.header-inner{height:84px;display:flex;align-items:center;gap:28px}
.brand-mini{display:flex;align-items:center;gap:14px}
.brand-mark{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-family:var(--serif);font-size:30px;letter-spacing:-.08em}
.brand-copy strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;color:#fff;line-height:1}
.brand-copy span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center}
.primary-nav a{font-size:13px;color:#e8e2d9}
.primary-nav a:hover{color:var(--gold2)}
.menu-toggle{display:none;background:none;color:var(--cream);border:1px solid var(--line);padding:8px 12px}
.hero-teesse{min-height:calc(100vh - 84px);display:flex;flex-direction:column;justify-content:center;padding:72px 0 42px;position:relative;overflow:hidden}
.hero-teesse:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,7,13,.97) 0,rgba(5,13,26,.78) 52%,rgba(16,41,75,.25) 100%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--gold);font-size:12px;font-weight:500;margin:0 0 15px}
.hero-copy h1,.section-heading h2,.two-col h2,.page-heading h1,.region-card h3,.guide-card h3{font-family:var(--serif);font-weight:500;line-height:.98;margin:0;color:#fff}
.hero-copy h1{font-size:clamp(56px,7vw,94px);max-width:820px}
.hero-lead{font-size:18px;color:#d1d3d8;max-width:700px;margin:30px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn-gold,.btn-ghost{display:inline-block;padding:13px 20px;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:500}
.btn-gold{background:linear-gradient(135deg,#b7833d,#e0bd7d);color:#07101e}
.btn-ghost{color:var(--gold2)}
.hero-mark{text-align:center}
.hero-seal{width:min(360px,80vw);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin-inline:auto;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.hero-seal-inner{text-align:center}
.hero-seal .ts{font-family:var(--serif);font-size:96px;line-height:.8;color:var(--gold2);letter-spacing:-.12em}
.hero-seal .name{font-family:var(--serif);font-size:46px;color:#fff;margin-top:14px}
.hero-seal .sub{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero-signature{display:flex;justify-content:center;gap:70px;margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:var(--gold2);font-family:var(--serif);font-size:26px}
.section-teesse{padding:100px 0;border-bottom:1px solid rgba(207,162,92,.16)}
.section-heading{max-width:760px;margin-bottom:48px}
.section-heading h2,.two-col h2{font-size:clamp(43px,5vw,66px)}
.section-heading p:not(.eyebrow),.two-col p,.page-content p{color:#c7c9ce}
.steps-grid,.materials-grid,.region-grid,.guide-grid{display:grid;gap:18px}
.steps-grid{grid-template-columns:repeat(3,1fr)}
.step-card,.material-card,.region-card,.guide-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(11,35,66,.72),rgba(3,8,16,.9));padding:34px}
.step-card span{font-family:var(--serif);font-size:34px;color:var(--gold)}
.step-card h3,.material-card h3{font-family:var(--serif);font-size:34px;margin:8px 0;color:var(--gold2);font-weight:500}
.step-card p,.material-card p,.region-card p,.guide-card p{color:#c3c5ca;margin-bottom:0}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.materials-grid{grid-template-columns:repeat(3,1fr)}
.material-icon{font-family:var(--serif);font-size:32px;color:var(--gold)}
.region-grid{grid-template-columns:repeat(5,1fr)}
.region-card{min-height:220px;transition:.25s}
.region-card:hover{transform:translateY(-3px);border-color:var(--gold)}
.region-card h3{font-size:32px;color:var(--gold2);margin-bottom:16px}
.region-tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px}
.france-map{position:relative;max-width:760px;margin:40px auto 0;aspect-ratio:1.15;border:1px solid var(--line);background:radial-gradient(circle at 55% 38%,rgba(22,61,105,.75),rgba(4,10,18,.94));overflow:hidden}
.france-svg{position:absolute;inset:7% 13% 7% 13%;width:74%;height:86%;overflow:visible;filter:drop-shadow(0 22px 42px rgba(0,0,0,.26))}
.france-main{fill:url(#franceGold);stroke:rgba(239,211,155,.72);stroke-width:1.8;vector-effect:non-scaling-stroke}
.france-inner-line{fill:none;stroke:rgba(239,211,155,.16);stroke-width:1;vector-effect:non-scaling-stroke}
.france-corsica{fill:rgba(207,162,92,.17);stroke:rgba(239,211,155,.58);stroke-width:1.5;vector-effect:non-scaling-stroke}
.map-pin{position:absolute;z-index:3;transform:translate(-50%,-50%);background:rgba(7,16,30,.96);border:1px solid var(--gold);color:var(--gold2);padding:7px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:.2s}
.map-pin:hover{background:#0b1f39;border-color:var(--gold2);transform:translate(-50%,-52%)}
.pin-nord{left:52%;top:21%}.pin-est{left:71%;top:42%}.pin-ouest{left:29%;top:48%}.pin-centre{left:52%;top:52%}.pin-sud{left:53%;top:76%}
.guide-grid{grid-template-columns:repeat(2,1fr)}
.guide-card h3{font-size:34px;color:var(--gold2);margin-bottom:16px}
.prelaunch{background:linear-gradient(135deg,rgba(183,131,61,.18),rgba(7,16,30,.8));text-align:center}
.prelaunch h2{font-family:var(--serif);font-size:clamp(44px,6vw,72px);font-weight:500;margin:0 0 18px}
.prelaunch p{color:#c7c9ce;max-width:720px;margin:0 auto 28px}
.page-shell{padding:90px 0 120px;min-height:65vh}
.page-heading{max-width:900px;border-bottom:1px solid var(--line);padding-bottom:34px;margin-bottom:46px}
.page-heading h1{font-size:clamp(50px,6vw,82px)}
.page-content{max-width:900px}
.page-content h2,.page-content h3{font-family:var(--serif);color:var(--gold2);font-weight:500}
.page-content h2{font-size:44px}.page-content h3{font-size:30px}
.simple-list{padding-left:20px;color:#c7c9ce}
.shop-coming{padding:90px 0 120px;text-align:center}
.shop-coming h1{font-family:var(--serif);font-size:clamp(52px,7vw,90px);font-weight:500;margin:0 0 20px}
.shop-coming .date{display:inline-block;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 24px;color:var(--gold2);font-family:var(--serif);font-size:28px}
.site-footer{background:#02050a;border-top:1px solid var(--line);padding:70px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}
.site-footer h3{font-family:var(--serif);font-size:26px;color:var(--gold2);margin-top:0;font-weight:500}
.site-footer p,.site-footer a{color:#aaaeb8}
.footer-bottom{border-top:1px solid rgba(207,162,92,.18);margin-top:50px;padding-top:20px;font-size:12px;color:#7d838e}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:rgba(8,21,39,.75);border:1px solid var(--line);padding:16px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:26px;color:var(--cream)}
.woocommerce ul.products li.product .price{color:var(--gold2)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:linear-gradient(135deg,#b7833d,#e0bd7d)!important;color:#07101e!important;border-radius:0!important}
@media(max-width:1050px){.region-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.hero-grid,.two-col{grid-template-columns:1fr}.hero-mark{order:-1}.hero-copy{text-align:center}.hero-lead{margin-inline:auto}.hero-actions{justify-content:center}.hero-signature{gap:25px;flex-wrap:wrap}.steps-grid{grid-template-columns:1fr}.materials-grid{grid-template-columns:1fr 1fr}.guide-grid{grid-template-columns:1fr}.primary-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#03070d;padding:22px}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start}.menu-toggle{display:block;margin-left:auto}.footer-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shell{width:min(100% - 28px,1180px)}.hero-copy h1{font-size:50px}.hero-signature{font-size:21px}.materials-grid,.region-grid{grid-template-columns:1fr}.section-teesse{padding:72px 0}.header-inner{height:72px}.brand-mark{width:48px;height:48px;font-size:25px}.brand-copy strong{font-size:24px}.primary-nav{top:72px}.map-pin{font-size:9px;padding:5px 7px}.hero-seal .ts{font-size:74px}.hero-seal .name{font-size:38px}}
