@font-face{font-family:GeneratePress;src:url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.eot);src:url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.eot#iefix) format("embedded-opentype"),url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.woff2) format("woff2"),url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.woff) format("woff"),url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.ttf) format("truetype"),url(//www.calendrier-de-lapres.fr/wp-content/themes/generatepress/assets/fonts/generatepress.svg#GeneratePress) format("svg");font-weight:400;font-style:normal}.cat-links:before,.comments-link:before,.dropdown-menu-toggle:before,.generate-back-to-top:before,.menu-toggle:before,.nav-next .next:before,.nav-previous .prev:before,.search-form .search-submit:before,.search-item a:before,.tags-links:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{opacity:.7}.menu-toggle:before{content:"\f0c9";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}.toggled .menu-toggle:before{content:"\f00d"}.main-navigation.toggled .sfHover>a .dropdown-menu-toggle:before{content:"\f106"}.search-item a:before{content:"\f002";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}.search-item.close-search a:before{content:"\f00d"}.widget .search-form button:before{content:"\f002";font-family:GeneratePress}.dropdown-menu-toggle:before{content:"\f107";font-family:GeneratePress;display:inline-block;width:.8em;text-align:left}nav:not(.toggled) ul ul .dropdown-menu-toggle:before{text-align:right}.dropdown-hover .sub-menu-left:not(.toggled) ul ul .dropdown-menu-toggle:before{transform:rotate(180deg)}.dropdown-click .menu-item-has-children.sfHover>a .dropdown-menu-toggle:before{content:"\f106"}.dropdown-hover nav:not(.toggled) ul ul .dropdown-menu-toggle:before{content:"\f105"}.entry-header .cat-links:before,.entry-header .comments-link:before,.entry-header .tags-links:before{display:none}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{font-family:GeneratePress;text-decoration:inherit;position:relative;margin-right:.6em;width:13px;text-align:center;display:inline-block}.cat-links:before{content:"\f07b"}.tags-links:before{content:"\f02c"}.comments-link:before{content:"\f086"}.nav-previous .prev:before{content:"\f104"}.nav-next .next:before{content:"\f105"}.dropdown-hover .inside-right-sidebar .dropdown-menu-toggle:before,.dropdown-hover.both-right .inside-left-sidebar .dropdown-menu-toggle:before{content:"\f104"}.dropdown-hover .inside-left-sidebar .dropdown-menu-toggle:before,.dropdown-hover.both-left .inside-right-sidebar .dropdown-menu-toggle:before{content:"\f105"}.generate-back-to-top:before{content:"\f106";font-family:GeneratePress}.search-form .search-submit:before{content:"\f002";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}:root {
--primary-color:      #c41e3a;
--primary-dark:       #9a1829;
--secondary-color:    #2ecc71;
--secondary-dark:     #2ecc71; --bg-light:           #0f1419; 
--bg-dark:            #0f1419;
--bg-gray:            #0f1419;
--bg-gray-dark:       #151b22;  --text-primary:       #f5f0e8;
--text-secondary:     #a0aab5;
--text-light:         #ffffff;
--gradient-christmas: linear-gradient(135deg, #c41e3a 0%, #9a1829 100%);
--gradient-gold:      linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
--gradient-dark:      linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
--shadow-sm:          0 2px 4px rgba(0,0,0,.3);
--shadow-md:          0 4px 6px rgba(0,0,0,.4);
--shadow-lg:          0 10px 20px rgba(0,0,0,.5);
--shadow-xl:          0 20px 40px rgba(0,0,0,.6);
--transition-fast:    .2s ease;
--transition-normal:  .3s ease;
--transition-slow:    .5s ease;
--border-radius:      12px;
--border-radius-lg:   20px;
--theme-primary:      #c41e3a;
--theme-primary-dark: #9a1829;
--theme-accent:       #f39c12; --theme-bg-light:     #0f1419;
--theme-bg-gray:      #0f1419;
--theme-text-primary: #f5f0e8;
--theme-text-secondary:#a0aab5;
--theme-gradient:      linear-gradient(135deg, #c41e3a 0%, #9a1829 100%);
--font-heading:        'Playfair Display', serif;
--font-body:           'Poppins', sans-serif;
--section-padding:     80px;
--container-width:     900px;
} *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; background-color: var(--bg-dark); }
body { font-family: var(--font-body); color: var(--text-primary); line-height: 1.8; overflow-x: hidden; background: var(--bg-dark); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 700; line-height: 1.2; color: var(--text-primary); }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } #page, #content, .site-content, main, article { background-color: var(--bg-dark) !important; } .hero-title   { font-family: var(--font-heading) !important; font-size: 58px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.article-title{ font-family: var(--font-heading) !important; font-size: 45px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.section-title{ font-family: var(--font-heading) !important; font-size: 38px !important; font-weight: 700 !important; line-height: 1.2 !important; } .btn {
display: inline-flex; align-items: center; gap: 10px;
padding: 16px 32px; border: none; border-radius: var(--border-radius);
font-size: 16px; font-weight: 600; cursor: pointer;
transition: all var(--transition-normal); position: relative; overflow: hidden;
}
.btn::before {
content: ''; position: absolute; top: 50%; left: 50%;
width: 0; height: 0; border-radius: 50%;
background: rgba(255,255,255,.3);
transform: translate(-50%,-50%);
transition: width var(--transition-slow), height var(--transition-slow);
}
.btn:hover::before { width: 300px; height: 300px; }
.btn-primary { background: var(--gradient-christmas); color: #fff; box-shadow: var(--shadow-md); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.btn-secondary { background: var(--secondary-color); color: #fff; }
.btn-secondary:hover { background: var(--secondary-dark); transform: translateY(-2px); }
.btn-large { padding: 20px 40px; font-size: 18px; }
.cta-btn {
display: inline-flex; align-items: center; gap: 10px;
padding: 18px 40px; background: var(--theme-gradient); color: #fff;
border: none; border-radius: var(--border-radius);
font-size: 18px; font-weight: 600; cursor: pointer; text-decoration: none;
transition: all var(--transition-normal); box-shadow: var(--shadow-md);
}
.cta-btn:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); } .hero {
position: relative; min-height: 100vh;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, #0f1419 0%, #1a2332 100%);
overflow: hidden;
}
.snow-container { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.snowflake { position: absolute; top: -10px; color: rgba(255,255,255,.8); animation: fall linear infinite; }
@keyframes fall { to { transform: translateY(100vh) rotate(360deg); } }
.hero-content {
position: relative; z-index: 2;
display: grid; grid-template-columns: 1fr 1fr;
gap: 60px; align-items: center; padding: 100px 0;
}
.title-line { display: block; }
.highlight { background: var(--gradient-christmas); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hero-subtitle { font-size: 28px; color: var(--secondary-color); margin-bottom: 15px; font-weight: 300; }
.hero-description { font-size: 18px; color: rgba(255,255,255,.8); margin-bottom: 30px; line-height: 1.8; }
.hero-price { display: flex; align-items: baseline; gap: 15px; margin-bottom: 40px; }
.price-tag { font-size: 48px; font-weight: 700; color: #fff; }
.price-detail { font-size: 16px; color: rgba(255,255,255,.6); }
.hero-visual { animation: fadeInRight 1s ease; }
.calendar-preview { position: relative; }
.main-product-image { width: 100%; border-radius: var(--border-radius-lg); box-shadow: 0 30px 60px rgba(196,30,58,.3); }
@keyframes fadeInLeft  { from { opacity:0; transform:translateX(-50px); } to { opacity:1; transform:translateX(0); } }
@keyframes fadeInRight { from { opacity:0; transform:translateX(50px);  } to { opacity:1; transform:translateX(0); } }
@keyframes fadeInUp     { from { opacity:0; transform:translateY(30px);  } to { opacity:1; transform:translateY(0); } }
.floating-animation { animation: floating 3s ease-in-out infinite; }
@keyframes floating { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-20px); } }
.pulse-animation { animation: pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.05); } }
.scroll-indicator { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); text-align:center; color:rgba(255,255,255,.6); animation:bounce 2s infinite; z-index:2; }
.mouse { width:30px; height:50px; border:2px solid rgba(255,255,255,.6); border-radius:15px; margin:0 auto 10px; position:relative; }
.wheel { width:4px; height:10px; background:rgba(255,255,255,.6); border-radius:2px; position:absolute; top:8px; left:50%; transform:translateX(-50%); animation:scroll-w 1.5s infinite; }
@keyframes scroll-w { 0%{ opacity:1; transform:translateX(-50%) translateY(0); } 100%{ opacity:0; transform:translateX(-50%) translateY(15px); } }
@keyframes bounce { 0%,100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(10px); } } .hero-article {
position: relative; min-height: 70vh;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, var(--theme-bg-dark) 0%, #1a2332 50%, #2d1520 100%);
overflow: hidden; padding: 100px 20px 60px;
}
.particles-container { position:absolute; inset:0; pointer-events:none; z-index:1; }
.particle { position:absolute; font-size:20px; opacity:0; animation:float-particle linear infinite; }
@keyframes float-particle {
0%   { transform:translateY(0) rotate(0deg); opacity:0; }
10%  { opacity:1; }
90%  { opacity:1; }
100% { transform:translateY(-100vh) rotate(360deg); opacity:0; }
}
.article-category { display:inline-block; padding:8px 20px; background:var(--theme-gradient); color:#fff; border-radius:50px; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:30px; animation:pulse 2s ease infinite; }
.article-subtitle { font-size:24px; color:rgba(255,255,255,.8); font-weight:300; margin-bottom:30px; }
.article-meta { display:flex; justify-content:center; align-items:center; gap:30px; flex-wrap:wrap; color:rgba(255,255,255,.7); font-size:16px; }
.meta-item { display:flex; align-items:center; gap:8px; }
.meta-item i { color:var(--theme-accent); }
section.hero-article.hero-centered,
.hero-centered {
display:flex !important; flex-direction:column !important;
align-items:center !important; justify-content:center !important;
text-align:center !important; min-height:0 !important;
height:auto !important; padding-top:30px !important; padding-bottom:30px !important;
}
.hero-centered .hero-content { display:flex !important; flex-direction:column !important; align-items:center !important; gap:12px !important; max-width:850px; margin:0 auto !important; }
.hero-centered .article-title { margin:0 !important; line-height:1.2 !important; font-size:clamp(24px,3.5vw,38px) !important; }
.hero-centered .article-meta { display:flex; justify-content:center; gap:20px; margin-top:25px; } .reading-progress { position:fixed; top:0; left:0; width:0; height:4px; background:var(--theme-gradient); z-index:1000; transition:width .1s ease; } .section-header { text-align:center; margin-bottom:60px; }
.section-label { display:inline-block; padding:8px 20px; background:var(--gradient-christmas); color:#fff; border-radius:50px; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px; }
.section-subtitle { font-size:18px; color:var(--text-secondary); max-width:600px; margin:0 auto; } .concept-section { padding:100px 0; background:var(--bg-gray); }
.concept-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:40px; }
.concept-card { background: #131920; padding:40px; border-radius:var(--border-radius-lg); text-align:center; transition:all var(--transition-normal); box-shadow:var(--shadow-sm); border: 1px solid #1f2936; }
.concept-card:hover { transform:translateY(-10px); box-shadow:var(--shadow-lg); }
.concept-icon { width:80px; height:80px; margin:0 auto 25px; background:var(--gradient-christmas); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:36px; color:#fff; }
.concept-card h3 { font-size:24px; margin-bottom:15px; color:var(--text-primary); }
.concept-card p { color:var(--text-secondary); line-height:1.8; } .interactive-calendar { padding:100px 0; background:var(--bg-light); }
.calendar-container { max-width:900px; margin:0 auto; }
.calendar-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:20px; margin-bottom:60px; }
.calendar-window { position:relative; aspect-ratio:1; perspective:1000px; cursor:pointer; }
.window-front,
.window-back { position:absolute; width:100%; height:100%; backface-visibility:hidden; border-radius:var(--border-radius); transition:transform .6s ease; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.window-front { background:var(--gradient-christmas); color:#fff; box-shadow:var(--shadow-md); }
.window-back { background:var(--gradient-gold); color:#fff; transform:rotateY(180deg); }
.calendar-window.opened .window-front { transform:rotateY(180deg); }
.calendar-window.opened .window-back  { transform:rotateY(0); }
.window-number { font-size:48px; font-weight:700; margin-bottom:5px; }
.window-label { font-size:14px; opacity:.9; text-transform:uppercase; letter-spacing:1px; }
.surprise-content { text-align:center; padding:20px; }
.surprise-content i { font-size:36px; margin-bottom:15px; }
.surprise-content p { font-size:18px; font-weight:600; margin-bottom:10px; }
.surprise-hint { font-size:14px; opacity:.9; }
.calendar-cta { text-align:center; } .products-section { padding:100px 0; background:var(--bg-gray); }
.products-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:40px; margin-bottom:60px; }
.product-card { background:#131920; border-radius:var(--border-radius-lg); overflow:hidden; transition:all var(--transition-normal); box-shadow:var(--shadow-md); position:relative; border: 1px solid #1f2936; }
.product-card:hover { transform:translateY(-10px); box-shadow:var(--shadow-xl); }
.product-card.featured { border:3px solid var(--primary-color); }
.product-badge { position:absolute; top:20px; left:20px; background:var(--secondary-color); color:#fff; padding:8px 16px; border-radius:50px; font-size:12px; font-weight:600; z-index:2; text-transform:uppercase; }
.product-badge.best-seller { background:var(--gradient-gold); }
.product-image { position:relative; overflow:hidden; aspect-ratio:1; }
.product-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.product-card:hover .product-image img { transform:scale(1.1); }
.product-overlay { position:absolute; inset:0; background:rgba(196,30,58,.9); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--transition-normal); }
.product-card:hover .product-overlay { opacity:1; }
.quick-view { color:#fff; font-weight:600; padding:12px 24px; border:2px solid #fff; border-radius:var(--border-radius); transition:all var(--transition-fast); }
.quick-view:hover { background:#fff; color:var(--primary-color); }
.product-info { padding:30px; }
.product-title { font-size:24px; margin-bottom:10px; color:var(--text-primary); }
.product-description { color:var(--text-secondary); margin-bottom:20px; }
.product-features { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.product-features span { font-size:14px; color:var(--text-secondary); display:flex; align-items:center; gap:8px; }
.product-features i { color:var(--secondary-color); }
.product-footer { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--bg-gray-dark); }
.product-price { font-size:28px; font-weight:700; color:var(--primary-color); }
.btn-add-cart { width:50px; height:50px; border-radius:50%; background:var(--gradient-christmas); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; transition:all var(--transition-normal); }
.btn-add-cart:hover { transform:scale(1.1); box-shadow:var(--shadow-lg); }
.products-cta { text-align:center; } .testimonials-section { padding:100px 0; background:var(--bg-light); }
.testimonials-slider { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:40px; }
.testimonial-card { background:#131920; padding:40px; border-radius:var(--border-radius-lg); box-shadow:var(--shadow-md); transition:all var(--transition-normal); border: 1px solid #1f2936; }
.testimonial-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.testimonial-stars { color:#f39c12; font-size:18px; margin-bottom:20px; }
.testimonial-text { font-size:16px; line-height:1.8; color:var(--text-secondary); margin-bottom:25px; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:15px; }
.author-avatar { width:50px; height:50px; border-radius:50%; background:var(--gradient-christmas); display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; }
.author-info h4 { font-size:16px; font-weight:600; color:var(--text-primary); margin-bottom:3px; }
.author-info span { font-size:14px; color:var(--text-secondary); } .faq-section { padding:100px 0; background:var(--bg-gray); }
.faq-container { max-width:800px; margin:0 auto; }
.faq-item { background:#131920; border-radius:var(--border-radius); margin-bottom:20px; overflow:hidden; box-shadow:var(--shadow-sm); border: 1px solid #1f2936; }
.faq-question { width:100%; padding:25px 30px; background:none; border:none; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:18px; font-weight:600; color:var(--text-primary); text-align:left; transition:all var(--transition-fast); }
.faq-question:hover { color:var(--primary-color); }
.faq-question i { transition:transform var(--transition-normal); color:var(--primary-color); }
.faq-item.active .faq-question i { transform:rotate(180deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height var(--transition-normal); }
.faq-item.active .faq-answer { max-height:500px; }
.faq-answer p { padding:0 30px 25px; color:var(--text-secondary); line-height:1.8; } details.info-box { padding:0 !important; cursor:pointer; transition:all .3s ease; border:1px solid rgba(196,30,58,.2); background: #131920; }
details.info-box:hover { box-shadow:var(--shadow-md); background:#1a222d; }
details.info-box summary { padding:20px 25px; font-weight:600; font-family:var(--font-heading); font-size:1.1rem; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--theme-text-primary); }
details.info-box summary::-webkit-details-marker { display:none; }
details.info-box summary::after { content:'+'; color:var(--theme-primary); font-size:1.5rem; font-weight:300; transition:transform .3s ease; }
details[open].info-box summary::after { transform:rotate(45deg); }
details.info-box p { padding:0 25px 25px; margin:0; font-size:1rem; line-height:1.6; color:var(--theme-text-secondary); }
details[open] summary ~ * { animation:fadeIn .4s ease-out; }
@keyframes fadeIn { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } } .final-cta { padding:100px 0; background:var(--gradient-dark); position:relative; overflow:hidden; }
.final-cta::before { content:''; position:absolute; top:-50%; right:-50%; width:100%; height:100%; background:radial-gradient(circle,rgba(196,30,58,.1) 0%,transparent 70%); animation:rotate 20s linear infinite; }
@keyframes rotate { from{ transform:rotate(0); } to{ transform:rotate(360deg); } }
.cta-content { text-align:center; position:relative; z-index:1; }
.cta-title { font-size:48px; color:#fff; margin-bottom:15px; }
.cta-subtitle { font-size:20px; color:rgba(255,255,255,.8); margin-bottom:40px; }
.cta-features { display:flex; justify-content:center; gap:60px; margin-bottom:40px; flex-wrap:wrap; }
.cta-feature { display:flex; flex-direction:column; align-items:center; gap:10px; color:#fff; }
.cta-feature i { font-size:32px; color:var(--secondary-color); } .article-content { max-width:var(--container-width); margin:0 auto; padding:var(--section-padding) 20px; background:var(--theme-bg-light); }
.table-of-contents { background:#131920; border-left:4px solid var(--theme-primary); padding:30px; margin-bottom:60px; border-radius:var(--border-radius); box-shadow:var(--shadow-sm); border-top: 1px solid #1f2936; border-right: 1px solid #1f2936; border-bottom: 1px solid #1f2936; }
.toc-title { font-family:var(--font-heading); font-size:24px; margin-bottom:20px; color:var(--theme-primary); display:flex; align-items:center; gap:10px; }
.toc-list { list-style:none; }
.toc-list li { margin-bottom:12px; padding-left:20px; position:relative; }
.toc-list li::before { content:'→'; position:absolute; left:0; color:var(--theme-primary); }
.toc-list a { color:var(--theme-text-primary); transition:color var(--transition-fast); }
.toc-list a:hover { color:var(--theme-primary); }
.content h2 { font-family:var(--font-heading); font-size:36px; color:var(--theme-primary); margin:60px 0 25px; padding-bottom:15px; border-bottom:3px solid var(--bg-gray-dark); scroll-margin-top:100px; }
.content h3 { font-family:var(--font-heading); font-size:28px; color:var(--theme-text-primary); margin:40px 0 20px; scroll-margin-top:100px; }
.content p { font-size:18px; line-height:1.9; margin-bottom:25px; color:var(--theme-text-primary); }
.content strong { color:var(--theme-primary); font-weight:600; }
.content em { font-style:italic; color:var(--theme-text-secondary); }
.content blockquote { border-left:4px solid var(--theme-primary); padding:25px 30px; margin:40px 0; background:#131920; font-style:italic; font-size:20px; border-radius:var(--border-radius); }
.content ul, .content ol { margin:25px 0; padding-left:40px; }
.content li { margin-bottom:15px; font-size:18px; }
.content img { max-width:100%; border-radius:var(--border-radius); margin:40px 0; box-shadow:var(--shadow-md); }
.info-box { background:linear-gradient(135deg,rgba(196,30,58,.05) 0%,rgba(196,30,58,.1) 100%); border-left:4px solid var(--theme-primary); padding:25px 30px; margin:40px 0; border-radius:var(--border-radius); }
.info-box-title { font-family:var(--font-heading); font-size:20px; color:var(--theme-primary); margin-bottom:15px; display:flex; align-items:center; gap:10px; }
.key-takeaway { background:var(--theme-gradient); color:#fff; padding:40px; margin:60px 0; border-radius:var(--border-radius-lg); box-shadow:var(--shadow-lg); }
.key-takeaway h3 { color:#fff; margin-top:0; margin-bottom:20px; }
.key-takeaway p { color:rgba(255,255,255,.95); } .social-sidebar { position:fixed; left:30px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:15px; z-index:100; }
.social-btn { width:50px; height:50px; border-radius:50%; background:#131920; display:flex; align-items:center; justify-content:center; color:var(--theme-primary); font-size:20px; text-decoration:none; transition:all var(--transition-normal); box-shadow:var(--shadow-sm); border: 1px solid #1f2936; }
.social-btn:hover { background:var(--theme-gradient); color:#fff; transform:scale(1.1); box-shadow:var(--shadow-md); } .article-cta { background:#131920; padding:60px 40px; margin:80px 0; border-radius:var(--border-radius-lg); text-align:center; box-shadow:var(--shadow-md); border: 1px solid #1f2936; }
.article-cta h3 { font-family:var(--font-heading); font-size:32px; color:var(--theme-primary); margin-bottom:20px; }
.article-cta p { font-size:18px; color:var(--theme-text-secondary); margin-bottom:30px; } .related-articles { padding:var(--section-padding) 20px; background:var(--bg-dark); }
.related-container { max-width:1200px; margin:0 auto; }
.related-title { font-family:var(--font-heading); font-size:40px; text-align:center; margin-bottom:50px; color:var(--theme-primary); }
.related-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; }
.related-card { background:#131920; border-radius:var(--border-radius-lg); overflow:hidden; transition:all var(--transition-normal); box-shadow:var(--shadow-sm); text-decoration:none; color:inherit; border: 1px solid #1f2936; }
.related-card:hover { transform:translateY(-10px); box-shadow:var(--shadow-lg); }
.related-card-image { width:100%; height:200px; object-fit:cover; }
.related-card-content { padding:25px; }
.related-card-category { display:inline-block; padding:5px 15px; background:var(--theme-gradient); color:#fff; border-radius:50px; font-size:12px; font-weight:600; margin-bottom:15px; }
.related-card-title { font-family:var(--font-heading); font-size:22px; margin-bottom:10px; color:var(--theme-text-primary); }
.related-card-excerpt { font-size:15px; color:var(--theme-text-secondary); line-height:1.6; } [data-aos] { opacity:0; transition:opacity .6s ease, transform .6s ease; }
[data-aos].aos-animate { opacity:1; }
[data-aos="fade-up"] { transform:translateY(30px); }
[data-aos="fade-up"].aos-animate { transform:translateY(0); }
[data-aos="zoom-in"] { transform:scale(.9); }
[data-aos="zoom-in"].aos-animate { transform:scale(1); }
.fade-in { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); } .popup-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:9999; }
.popup-box { background:#131920; max-width:600px; margin:10% auto; padding:40px; border-radius:8px; text-align:center; position:relative; box-shadow:0 8px 20px rgba(0,0,0,.5); border: 1px solid #1f2936; }
.popup-close { position:absolute; top:15px; right:15px; background:none; color:#fff; width:28px; height:28px; cursor:pointer; font-size:18px; border:none; }
.popup-text { font-size:22px; margin-bottom:30px; color: #fff; }
.popup-buttons { display:flex; flex-direction:column; align-items:center; gap:15px; }
.popup-btn { padding:12px 30px; font-size:18px; border:none; border-radius:8px; cursor:pointer; width:120px; }
.popup-yes { background:#025C50; color:#fff; }
.popup-no  { background:#FFF2C4; color:#000; } .menu-item .dashicons { vertical-align:middle; }
.main-navigation .sub-menu,
.nav-menu .sub-menu { background:#131920 !important; box-shadow:0 4px 12px rgba(0,0,0,.5); border: 1px solid #1f2936; }
.main-navigation .sub-menu li a,
.nav-menu .sub-menu li a { color:#f5f0e8 !important; background:transparent !important; }
.main-navigation .sub-menu li a:hover,
.nav-menu .sub-menu li a:hover { background:#1a222d !important; color:#c41e3a !important; } a.cta-btn,
.article-cta a.cta-btn {
display:inline-flex !important; align-items:center !important; justify-content:center !important;
height:auto !important; min-height:unset !important; width:auto !important;
padding:35px 80px !important; font-size:28px !important; font-weight:900 !important;
line-height:1 !important; text-transform:uppercase !important; text-decoration:none !important;
letter-spacing:1px !important; min-width:350px !important; border-radius:15px !important;
background:var(--theme-gradient) !important; color:#fff !important;
box-shadow:0 15px 35px rgba(196,30,58,.4) !important; transition:transform .2s, box-shadow .2s;
}
.cta-btn i, .cta-btn span { font-size:30px !important; margin-right:15px !important; } body.post-type-archive-product,
body.woocommerce-page,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout { background-color:#000 !important; }
body.post-type-archive-product .site-main,
body.post-type-archive-product .site-content,
body.woocommerce-page .site-main,
body.woocommerce-page .site-content,
body.single-product .site-main,
body.single-product .site-content,
body.woocommerce-cart .site-main,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .site-content { background-color:#000 !important; color:#fff; }
.woocommerce-page .woocommerce,
.woocommerce-page .entry-content,
.single-product .woocommerce,
.single-product .entry-content,
.post-type-archive-product .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { background-color:#000 !important; } .woocommerce-page .woocommerce h1, .woocommerce-page .woocommerce h2,
.woocommerce-page .woocommerce h3, .woocommerce-page .woocommerce h4,
.woocommerce-page .woocommerce p,  .woocommerce-page .woocommerce td,
.woocommerce-page .woocommerce th, .woocommerce-page .woocommerce li,
.woocommerce-page .woocommerce label,
.single-product .woocommerce h1,  .single-product .woocommerce h2,
.single-product .woocommerce h3,  .single-product .woocommerce p,
.single-product .woocommerce td,  .single-product .woocommerce li,
.single-product .woocommerce label,
.single-product .summary h1, .single-product .summary h2, .single-product .summary p,
.woocommerce-cart h1, .woocommerce-cart h2, .woocommerce-cart h3,
.woocommerce-cart p,  .woocommerce-cart td, .woocommerce-cart th,
.woocommerce-checkout h1, .woocommerce-checkout h2, .woocommerce-checkout h3,
.woocommerce-checkout p,  .woocommerce-checkout td, .woocommerce-checkout th,
.woocommerce-checkout label { color:#fff !important; }
.woocommerce-breadcrumb, .woocommerce-breadcrumb a { color:#888 !important; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
background-color:#c41e3a !important;
color:#fff !important;
border:none !important;
cursor:pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .add_to_cart_button:hover { background-color:#9a1829 !important; color:#fff !important; }
.woocommerce img, .woocommerce-page img, .single-product img { background-color:transparent !important; }
.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important; gap:20px !important; list-style:none !important; padding:0 !important; float:none !important; }
.woocommerce ul.products li.product { border:7px solid #c41e3a !important; float:none !important; width:100% !important; margin:0 !important; background:#000 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 { color:#fff !important; background:transparent !important; }
.woocommerce ul.products li.product .price { color:#fff !important; background:transparent !important; }
.woocommerce ul.products li.product .price del { display:none; }
.woocommerce span.onsale { display:none; }
.woocommerce ul.products li.product .button { background:#c41e3a !important; color:#fff !important; border:none !important; width:100%; display:block; text-align:center; padding:14px !important; }
.woocommerce ul.products li.product .button:hover { background:#9a1829 !important; }
.single-product .product_title { color:#fff !important; }
.single-product p.price, .single-product span.price { color:#fff !important; }
.single-product .woocommerce-product-details__short-description { color:#fff !important; }
.single-product .woocommerce-tabs { background:#000 !important; }
.single-product .woocommerce-tabs ul.tabs { border-bottom:2px solid #444 !important; background:#000 !important; }
.single-product .woocommerce-tabs ul.tabs li { background:#000 !important; }
.single-product .woocommerce-tabs ul.tabs li a { color:#fff !important; background:transparent !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { background:#c41e3a !important; color:#fff !important; }
.single-product .woocommerce-tabs .panel { background:#000 !important; color:#fff !important; border:1px solid #333 !important; padding:20px; }
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel p { color:#fff !important; }
.single-product .single_add_to_cart_button { background:#c41e3a !important; color:#fff !important; border:none !important; }
.single-product .single_add_to_cart_button:hover { background:#9a1829 !important; }
.single-product .related h2, .single-product .upsells h2 { color:#fff !important; background:transparent !important; }
.single-product .related.products ul.products { grid-template-columns:repeat(3,1fr) !important; } .woocommerce-cart .woocommerce,
.woocommerce-cart table.cart,
.woocommerce-cart .cart-collaterals { background:#000 !important; }
.woocommerce-cart table.cart { border:7px solid #c41e3a !important; }
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td { color:#fff !important; background:#000 !important; border:none !important; }
.woocommerce-cart table.cart tbody tr { border-bottom:1px solid #333 !important; }
.woocommerce-cart table.cart input.qty { background:#000 !important; border:2px solid #fff !important; color:#fff !important; } .woocommerce-cart .cart_totals { border:7px solid #c41e3a !important; padding:20px; background:#000 !important; }
.woocommerce-cart .cart_totals h2 { color:#fff !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { color:#fff !important; background:#000 !important; }
.woocommerce-checkout #customer_details { background:#000 !important; border:7px solid #c41e3a !important; padding:20px; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea { background:#000 !important; border:2px solid #444 !important; color:#fff !important; }
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus { border-color:#c41e3a !important; outline:none; }
.woocommerce-checkout #order_review { background:#000 !important; border:7px solid #c41e3a !important; padding:20px; }
.woocommerce-checkout #order_review h3,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td { color:#fff !important; background:#000 !important; }
.woocommerce-message,
.woocommerce-info { background:#111 !important; border-top:3px solid #c41e3a !important; color:#fff !important; }
.woocommerce-error { background:#111 !important; border-top:3px solid #c41e3a !important; color:#fff !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { content:none !important; }
.woocommerce-message a.button { background:#c41e3a !important; color:#fff !important; } .text-center { text-align:center; }
.mb-4 { margin-bottom:40px; }
.mt-4 { margin-top:40px; }
.sb-cta__body h3, .sb-cta__body h4, .sb-cta__body .sb-cta__title, .sb-cta__body p, .sb-cta__body .sb-cta__price {
color: var(--text-primary) !important;
}
.sb-cta__body .sb-cta__label, .sb-cta__body span:first-child {
color: var(--secondary-color) !important;
}
.maillage-interne-occasions, .maillage-interne-occasions p, .maillage-interne-occasions div, .maillage-interne-occasions a {
color: var(--text-primary) !important;
}
.maillage-interne-occasions a {
background-color: #131920 !important;
border: 1px solid #1f2936 !important;
border-radius: var(--border-radius);
padding: 12px 20px;
transition: all var(--transition-fast);
}
.maillage-interne-occasions a:hover {
background-color: #1a222d !important;
border-color: var(--primary-color) !important;
color: var(--primary-color) !important;
}  .woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals *,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals *,
.woocommerce-cart .checkout-button,
.woocommerce-cart .shipping-calculator-button {
color: #ffffff !important;
} .woocommerce-cart .includes_tax,
.woocommerce-cart .includes_tax *,
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .woocommerce-shipping-totals small {
color: #a0aab5 !important;
font-size: 13px !important;
} .woocommerce-cart table.shop_table td.product-thumbnail img,
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-cart .product-thumbnail img,
.woocommerce-cart .wc-block-cart-item__image img {
width: 145px !important;
max-width: 145px !important;
height: auto !important;
border: 2px solid #c41e3a !important; border-radius: 8px !important;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6) !important;
display: inline-block !important;
} .woocommerce-cart table.shop_table td.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
width: 165px !important;
min-width: 165px !important;
} @media (max-width:1024px) {
.hero-content { grid-template-columns:1fr; text-align:center; }
.hero-title { font-size:56px !important; }
.section-title { font-size:40px !important; }
.article-title { font-size:42px !important; }
.social-sidebar { display:none; }
.content h2 { font-size:30px; }
}
@media (max-width:768px) {
.hero-article { min-height:60vh; padding:80px 20px 40px; }
.hero-title { font-size:42px !important; }
.hero-subtitle { font-size:22px; }
.section-title { font-size:32px !important; }
.article-title { font-size:32px !important; }
.article-subtitle { font-size:18px; }
.article-meta { flex-direction:column; gap:15px; }
.calendar-grid { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:15px; }
.window-number { font-size:36px; }
.products-grid, .testimonials-slider { grid-template-columns:1fr; }
.btn-large { padding:16px 32px; font-size:16px; }
.cta-title { font-size:36px; }
.cta-features { gap:30px; }
.content h2 { font-size:26px; }
.content h3 { font-size:22px; }
.content p { font-size:16px; }
.table-of-contents { padding:20px; }
.concept-card, .product-info, .testimonial-card { padding:25px; }
.woocommerce ul.products { grid-template-columns:1fr !important; }
.woocommerce div.product { grid-template-columns:1fr !important; }
.single-product .related.products ul.products { grid-template-columns:1fr !important; }
.woocommerce-cart .site-main { padding-left:10px; padding-right:10px; }
}
@media (max-width:480px) {
.hero-title { font-size:32px !important; }
.article-title { font-size:28px !important; }
.price-tag { font-size:36px; }
.section-title { font-size:28px !important; }
.calendar-grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:10px; }
.window-number { font-size:28px; }
}