:root{--ink:#2d2418;--ink-soft:#5c4f3f;--ink-light:#8a7d6a;--paper:#fefdf9;--cream:#f7f2e8;--sand:#ebe2cf;--seal:#9c3622;--seal-dark:#7a2818;--gold:#a87c3a;--line:#d9cfb8;--shadow:rgba(45,36,24,0.08);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3',sans-serif;font-weight:400;color:var(--ink);background:var(--paper);line-height:1.65;font-size:21px;-webkit-font-smoothing:antialiased;}
a{color:var(--seal);text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 32px;}
.topbar{background:var(--ink);color:var(--cream);padding:8px 0;font-size:17px;}
.topbar-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;}
.topbar a{color:var(--cream);transition:color 0.3s;}
.topbar a:hover{color:var(--gold);}
.topbar-left{display:flex;gap:24px;}
.topbar-left span::before{content:'›';margin-right:6px;color:var(--gold);}
.topbar-right{display:flex;gap:20px;align-items:center;}
.topbar-search{display:flex;align-items:center;gap:8px;margin:0;}
.topbar-search input{box-sizing:border-box;height:34px;margin:0;padding:0 10px;border:1px solid var(--gold);background:transparent;color:#fff;font-size:15px;}
.topbar-search #button2{box-sizing:border-box;height:34px;width:38px;margin:0;padding:0;border:1px solid var(--gold);border-radius:0;background:transparent;box-shadow:none;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;}
.lang-switch{display:flex;gap:8px;}
.lang-switch a{padding:2px 8px;border:1px solid transparent;border-radius:2px;font-size:14px;font-weight:600;letter-spacing:0.05em;}
.lang-switch a.active{border-color:var(--gold);color:var(--gold);}
.cart-link{display:flex;align-items:center;gap:6px;}
header{background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,0.02);}
.header-inner{max-width:1200px;margin:0 auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:48px;transition:padding 0.3s ease;}
.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--ink);}
.brand-seal{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:width 0.3s ease,height 0.3s ease;}
.brand-seal img{width:100%;height:100%;object-fit:contain;}
.brand-text .brand-name{display:block;font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;color:var(--ink);line-height:1.1;letter-spacing:0.01em;margin-bottom:4px;transition:font-size 0.3s ease;}
.brand-text p{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--seal);font-weight:400;letter-spacing:0.04em;max-height:30px;overflow:hidden;transition:font-size 0.3s ease,opacity 0.3s ease,max-height 0.3s ease;}
.header-tagline{flex:1;text-align:right;font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--ink-light);transition:font-size 0.3s ease;}
.header-tagline a{color:var(--ink-light);}
.header-tagline a:hover{color:var(--seal);}
.header-tagline strong{font-style:normal;font-weight:600;}
.header-tagline strong a{color:var(--seal);}
.nav-toggle{display:none;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:8px 10px 12px 10px;}
.nav-toggle span{display:block;width:24px;height:3px;background:#333;border-radius:2px;margin:5px 0;}
.mainnav{background:var(--cream);border-bottom:1px solid var(--line);}
.mainnav-inner{display:none;max-width:1600px;margin:0 auto;padding:0 32px;}
.mainnav-inner.open{display:block;}
.mainnav ul{list-style:none;display:block;padding:6px 0;}
.mainnav>div>ul>li{position:relative;}
.mainnav>div>ul>li>a{display:block;padding:14px 20px;color:var(--ink);font-size:15px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;text-decoration:none;transition:all 0.25s;border-bottom:2px solid transparent;line-height:1.3;}
.mainnav>div>ul>li>a:hover,.mainnav>div>ul>li.active>a{color:var(--seal);border-bottom-color:var(--seal);background:var(--paper);}
.mainnav li.has-sub>a{position:relative;padding-right:28px;}
.mainnav li.has-sub>a::after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-65%) rotate(45deg);transition:transform .2s ease;}
.mainnav li.has-sub.open>a::after{transform:translateY(-35%) rotate(-135deg);}
.mainnav .submenu {display:block!important;text-align:left;}
.mainnav .submenu li {display:block;width:100%;}
.mainnav .submenu li a {text-align:left;}
.mainnav li.has-sub.open>.submenu{display:block;}
.mainnav .submenu {background:#fefdf9;z-index:200;}
.submenu li{display:block;}
.submenu li a{display:block;padding:10px 20px;color:var(--ink);font-size:17px;font-weight:400;letter-spacing:0.02em;text-transform:none;border-bottom:none;transition:all 0.2s;}
.submenu li a:hover{background:var(--cream);color:var(--seal);padding-left:26px;}
.site-header{position:sticky;top:0;z-index:100;}
.site-header.is-shrunk .header-inner{padding:10px 32px;}
.site-header.is-shrunk .brand-seal{width:42px;height:42px;}
.site-header.is-shrunk .brand-text .brand-name{font-size:24px;}
.site-header.is-shrunk .brand-text p{font-size:0;opacity:0;max-height:0;}
.site-header.is-shrunk .header-tagline{font-size:14px;}
.hero{position:relative;background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);padding:64px 32px 48px;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(156,54,34,0.04) 0%,transparent 70%);border-radius:50%;}
.hero-inner{max-width:1200px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:62px;font-weight:500;line-height:1.15;color:var(--ink);margin-bottom:20px;letter-spacing:-0.01em;}
.hero h1 em{font-style:italic;color:var(--seal);font-weight:600;}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:29px;font-style:italic;color:var(--ink-soft);max-width:780px;margin:0 auto 32px;}
.hero-sub strong{color:var(--seal);font-weight:600;font-style:normal;}
.hero-cta{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;font-size:17px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all 0.3s;cursor:pointer;border:1px solid transparent;}
.btn-primary{background:var(--seal);color:var(--paper);border-color:var(--seal);}
.btn-primary:hover{background:var(--seal-dark);border-color:var(--seal-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(156,54,34,0.25);}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-secondary:hover{background:var(--ink);color:var(--paper);}
.page-content{padding:56px 32px;background:var(--paper);}
.page-content-inner{max-width:900px;margin:0 auto;}
.page-content-inner h1{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:500;line-height:1.2;color:var(--ink);margin-bottom:24px;}
.page-content-inner h2{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:500;color:var(--ink);margin:32px 0 16px;}
.page-content-inner h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--ink);margin:24px 0 12px;}
.page-content-inner p{font-size:18px;line-height:1.75;color:var(--ink-soft);margin-bottom:16px;}
.page-content-inner strong{color:var(--seal);}
.page-content-inner img{border-radius:2px;margin:16px 0;}
.page-content-inner a{text-decoration:underline;}
.rubriques-accueil{padding:56px 32px 72px;background:var(--cream);}
.rubriques-accueil-inner{max-width:1540px;margin:0 auto;}
.rubriques-nav{text-align:center;margin-bottom:56px;}
.menubtnactif{display:inline-block;margin:0 6px 12px;padding:12px 26px;font-size:15px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--seal);background:var(--paper);border:1px solid var(--seal);border-radius:2px;}
.menubtnactif:hover{background:var(--seal);color:var(--paper);}
.rubrique-row{width:1540px;max-width:100%;margin:0 auto 40px;scroll-margin-top:24px;box-sizing:border-box;padding:40px;background:var(--paper);border:1px solid var(--line);border-radius:2px;transition:box-shadow 0.3s,transform 0.3s;}
.rubrique-row:hover{box-shadow:0 16px 40px rgba(45,36,24,0.1);border-color:var(--seal);}
.rubrique-row:after{content:"";display:block;clear:both;}
.rubrique-row .rubrique-row-image{float:left;width:610px;position:relative;}
.fiche-badge{position:absolute;top:-16px;right:-16px;background:var(--seal);color:var(--paper);font-size:14px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;padding:8px 16px;border-radius:2px;transform:rotate(3deg);box-shadow:0 4px 12px rgba(156,54,34,0.3);z-index:2;}
.rubrique-row .rubrique-row-image img{width:100%;border-radius:2px;box-shadow:0 12px 32px rgba(45,36,24,0.12);}
.rubrique-row .rubrique-row-text{float:left;width:700px;margin-left:90px;}
.eyebrow{font-size:16px;letter-spacing:0.2em;text-transform:uppercase;color:var(--seal);font-weight:600;margin-bottom:16px;}
.rubrique-row.image-bottom .rubrique-row-text{float:none;width:700px;max-width:100%;margin:0 auto;}
.rubrique-row.image-bottom .rubrique-row-image{float:none;width:700px;max-width:100%;margin:24px auto 0;}
.rubrique-row.no-image .rubrique-row-text{float:none;width:100%;max-width:900px;margin:0 auto;}
.rubrique-row-text h2{font-family:'Cormorant Garamond',serif;font-size:49px;font-weight:500;line-height:1.15;color:var(--ink);margin:0 0 20px;letter-spacing:-0.01em;}
.rubrique-row-text h2 em{font-style:italic;color:var(--seal);font-weight:600;}
.rubrique-row-text h2:not(:first-child){margin-top:32px;}
.rubrique-row-text p{font-size:18px;line-height:1.75;color:var(--ink-soft);margin-bottom:16px;}
.rubrique-row-text strong{color:var(--seal);}
.actu{padding:72px 32px;background:var(--sand);}
.actu-inner{max-width:1100px;margin:0 auto;}
.actu-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;}
.actu-card{background:var(--paper);padding:0;border-radius:2px;border-left:3px solid var(--seal);transition:all 0.3s;overflow:hidden;display:flex;flex-direction:column;}
.actu-card:hover{transform:translateX(4px);box-shadow:0 8px 24px rgba(45,36,24,0.08);}
.actu-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.actu-card-body{padding:24px 28px 28px;}
.actu-card h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.25;}
.actu-card p{font-size:18px;color:var(--ink-soft);line-height:1.65;margin-bottom:16px;}
.actu-card a.actu-link{font-size:16px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--seal);}
.bottom-tagline{text-align:center;padding:24px 32px;font-size:18px;color:var(--ink-light);}
footer{background:var(--ink);color:var(--cream);padding:64px 32px 24px;}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(232,217,184,0.15);}
.footer-brand{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;}
.footer-brand img{width:48px;height:48px;}
.footer-brand-title{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--cream);font-weight:500;}
.footer-col p{font-size:18px;line-height:1.7;color:rgba(232,217,184,0.7);max-width:280px;}
.footer-col-title{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--gold);margin-bottom:18px;letter-spacing:0.05em;text-transform:uppercase;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:10px;}
.footer-col a{color:rgba(232,217,184,0.7);font-size:18px;transition:color 0.3s;text-transform:uppercase;letter-spacing:0.03em;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{max-width:1200px;margin:24px auto 0;display:flex;justify-content:space-between;font-size:16px;color:rgba(232,217,184,0.5);letter-spacing:0.04em;}
.footer-bottom a{color:rgba(232,217,184,0.7);margin:0 8px;}
.lang-switch .actif {color:#c9a24a;border-bottom:2px solid #c9a24a;}
.cart-link {border:1px solid #c9a24a;padding:4px 12px;}
#button2 {color:#c9a24a;}
@media(max-width:880px){
.nav-toggle{display:block;}
.topbar-left{display:none;}
.site-header{position:static;}
.header-inner{display:block;text-align:center;}
.header-tagline{display:none;}
.page-content-inner h1{font-size:34px;}
.hero h1{font-size:42px;}
.hero-sub{font-size:23px;}
.actu-grid{grid-template-columns:1fr;}
.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
.footer-bottom{flex-direction:column;gap:8px;text-align:center;}
}
@media(max-width:1540px){
.rubrique-row .rubrique-row-image,.rubrique-row .rubrique-row-text{float:none;width:100%;max-width:700px;margin:0 auto;}
.rubrique-row .rubrique-row-image{margin-bottom:24px;}
}
@media(min-width:881px){
.mainnav-inner{display:block;}
.mainnav ul{display:flex;justify-content:center;gap:6px 0;flex-wrap:wrap;}
.mainnav>div>ul>li>a{padding:12px 16px;}
.mainnav .submenu{position:absolute;top:100%;left:0;display:block;min-width:300px;border:1px solid var(--line);box-shadow:0 8px 24px var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all 0.25s;z-index:200;}
.mainnav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
}