@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--red:#e51d35;--red2:#bd1028;--ink:#11151d;--navy:#171e2c;--muted:#6e7581;--line:#e4e7eb;--bg:#f7f8fa;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#171a20;font-family:Inter,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.top-header{height:80px;background:#fff;display:flex;align-items:center;gap:32px;padding:0 max(calc((100vw - 1200px)/2),24px);border-bottom:1px solid #eceef2}.brand{display:flex;align-items:center;gap:10px;min-width:270px}.cherries{font-size:32px;filter:saturate(1.2)}.brand-name{font-size:31px;font-weight:800;letter-spacing:-1.3px}.brand-name>span{color:var(--red)}.brand-name small{display:block;font-size:8px;letter-spacing:1.1px;font-weight:800;margin-top:2px}.search{height:40px;display:flex;flex:1;max-width:420px;border:1px solid #dce0e6;border-radius:8px;overflow:hidden;background:#fafbfc}.search input{border:0;outline:0;background:transparent;padding:0 14px;min-width:0;flex:1}.search button{width:44px;border:0;color:#fff;background:var(--red);font-size:23px}.header-links{margin-left:auto;display:flex;align-items:center;gap:22px}.header-links>a{display:flex;gap:7px;align-items:center;font-size:18px}.header-links span{font-size:11px;display:inline-block}.header-links strong{display:block;color:var(--red);font-size:10px}.cart-pill{background:var(--red);color:white;border-radius:50%;padding:3px 6px;font-size:10px}.main-nav{background:linear-gradient(100deg,#b90f26,var(--red));height:50px;display:flex;align-items:stretch;justify-content:center;gap:0;color:white;padding:0 24px}.main-nav a{padding:0 21px;display:flex;align-items:center;font-weight:600;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:rgba(80,0,10,.22);box-shadow:inset 0 -3px #fff}.main-nav .hamb{font-size:19px}.container{max-width:1200px;margin:0 auto;padding:22px 0}.hero{min-height:285px;background:radial-gradient(ellipse at 70% 45%,#6e1724 0,#25202b 28%,#0d1119 66%);color:#fff;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;right:5%;top:13%;width:42%;height:75%;background:radial-gradient(ellipse,#ef263d 0%,#7a1224 20%,#1b2230 56%,transparent 72%);opacity:.75;filter:blur(2px)}.hero-copy{padding:38px max(calc((100vw - 1200px)/2),32px);padding-right:0;position:relative;z-index:2}.hero h1{font-size:40px;line-height:1.05;margin:0 0 12px;letter-spacing:-1.5px}.hero h1 span{color:var(--red)}.hero p{font-size:16px;line-height:1.55;color:#dce0e6;max-width:490px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:var(--red);color:#fff;padding:12px 18px;font-weight:700;cursor:pointer;transition:.15s}.btn:hover{background:var(--red2);transform:translateY(-1px)}.btn.white{background:#fff;color:#d41630}.hero .btn{border-radius:28px;padding:14px 24px;margin-top:8px}.hero-art{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;font-size:120px;filter:drop-shadow(0 20px 25px #0008)}.hero-art .monitor{width:280px;height:175px;border:8px solid #12151b;border-radius:8px;background:linear-gradient(135deg,#1b2433,#ed1636 70%,#ff5162);box-shadow:0 0 0 1px #69707a;display:flex;align-items:center;justify-content:center;font-size:66px}.hero-art .pc{font-size:95px;margin-left:-6px}.hero-art .desk{position:absolute;bottom:28px;left:0;right:0;height:10px;background:#171a20;transform:skewX(-15deg)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 13px}.section-head h2{font-size:22px;margin:0;letter-spacing:-.5px}.section-head a{color:var(--red);font-weight:600}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-card{min-height:145px;border-radius:11px;overflow:hidden;padding:20px;display:flex;align-items:center;justify-content:space-between;color:white;background:linear-gradient(120deg,#e51d35,#b10f26);position:relative}.category-card:nth-child(2){background:linear-gradient(120deg,#202c40,#111722)}.category-card:nth-child(3){background:linear-gradient(120deg,#25203c,#171329)}.category-card:nth-child(4){background:linear-gradient(120deg,#f2f3f5,#d8dce2);color:#171a20}.category-card h3{margin:0 0 8px;font-size:17px}.category-card p{margin:0;color:inherit;opacity:.8;font-size:12px;line-height:1.5;max-width:150px}.category-card .cat-icon{font-size:48px;align-self:flex-end;filter:drop-shadow(0 7px 8px #0004)}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.product-card{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;transition:.18s;position:relative}.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #18203312}.product-image{height:145px;background:linear-gradient(145deg,#f8f9fb,#e9edf2);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:10px}.product-image .placeholder{font-size:60px;filter:drop-shadow(0 8px 6px #0002)}.product-info{padding:12px}.product-info h3{font-size:13px;line-height:1.4;font-weight:500;min-height:37px;margin:0 0 8px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-size:16px;color:var(--red);font-weight:800}.old-price{font-size:11px;color:#9299a4;text-decoration:line-through;margin-left:5px}.add-cart{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:6px;background:var(--red);color:white;font-size:17px;cursor:pointer}.badge{display:inline-block;font-size:10px;font-weight:700;background:#fff0f2;color:var(--red);padding:5px 7px;border-radius:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{border-radius:11px;min-height:150px;padding:22px;display:flex;align-items:center;gap:15px;background:#1b2537;color:#fff;overflow:hidden}.service-card:nth-child(2){background:#251c38}.service-card:nth-child(3){background:#e8ebef;color:#1c2028}.service-card .service-icon{font-size:38px}.service-card h3{margin:0 0 8px}.service-card p{font-size:12px;line-height:1.5;opacity:.78}.service-card a{background:#fff;color:var(--red);border-radius:25px;padding:9px 13px;font-weight:700;font-size:12px;display:inline-block}.trust-strip{display:flex;justify-content:center;gap:65px;padding:24px 20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px}.trust-strip>div{display:flex;align-items:center;gap:12px;color:var(--red);font-size:27px}.trust-strip span{display:flex;flex-direction:column;color:#20242c;font-size:12px;gap:4px}.trust-strip small{color:var(--muted);font-size:11px}.footer{padding:30px max(calc((100vw - 1200px)/2),24px);background:#11151d;color:#e8eaf0}.footer p{color:#aeb5c0}.footer>div{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.footer>div a{font-size:12px;color:#d5d8de}.footer>small{color:#8e96a4}.page-heading{padding:30px 0 12px}.page-heading h1{font-size:30px;margin:0 0 7px}.muted{color:var(--muted)}.catalog-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.filter-panel,.panel,.form-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px}.filter-panel h3{margin:0 0 14px}.filter-panel a{display:block;padding:9px 0;color:#4b5260}.filter-panel a:hover{color:var(--red)}.catalog-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.catalog-tools select{padding:10px;border:1px solid var(--line);border-radius:7px;background:white}.form-card{max-width:780px;margin:20px auto;padding:24px}.form-card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:#3a404b}.field input,.field textarea,.field select{border:1px solid #dce0e6;border-radius:7px;padding:11px 12px;background:#fff;min-width:0}.field textarea{min-height:115px;resize:vertical}.notice{padding:13px 15px;border-radius:8px;background:#fff0f2;color:#a90e24;margin:14px 0}.notice.success{background:#e8f8ef;color:#177441}.cart-table{width:100%;border-collapse:collapse;background:white}.cart-table th,.cart-table td{padding:13px;text-align:left;border-bottom:1px solid var(--line)}.cart-table th{font-size:11px;text-transform:uppercase;color:var(--muted)}.cart-total{margin:18px 0 0 auto;max-width:320px;background:white;padding:20px;border:1px solid var(--line);border-radius:10px}.cart-total .sum{font-size:22px;font-weight:800;color:var(--red);display:flex;justify-content:space-between;margin:10px 0 18px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:white;padding:25px;border:1px solid var(--line);border-radius:12px}.product-detail .product-image{height:370px;border-radius:10px}.product-detail h1{font-size:30px}.product-detail .price{font-size:25px}.empty-state{text-align:center;background:#fff;border:1px dashed #d6dbe3;padding:45px 20px;border-radius:12px}.empty-state .big{font-size:42px}.pagination{display:flex;gap:7px;justify-content:center;margin:25px}.pagination a{padding:9px 12px;border:1px solid var(--line);background:white;border-radius:6px}.pagination a.active{background:var(--red);color:white}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#11151d,#20283a)}.login-card{background:#fff;border-radius:14px;padding:30px;width:min(100%,450px)}
@media(max-width:1000px){.top-header{padding:0 20px;gap:15px}.brand{min-width:210px}.brand-name{font-size:25px}.header-links{gap:12px}.main-nav{overflow-x:auto;justify-content:flex-start;padding:0 8px}.main-nav a{padding:0 14px}.container{padding:20px}.hero-copy{padding:35px 25px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(2,1fr)}.trust-strip{gap:25px;flex-wrap:wrap}}@media(max-width:650px){.top-header{height:auto;padding:13px 15px;flex-wrap:wrap}.brand{min-width:0;flex:1}.brand-name{font-size:25px}.search{order:3;max-width:none;flex-basis:100%}.header-links{gap:9px}.header-links>a{font-size:16px}.header-links>a span{display:none}.main-nav{height:45px}.main-nav a{font-size:11px;padding:0 12px}.hero{grid-template-columns:1fr;min-height:290px}.hero-copy{padding:32px 22px}.hero h1{font-size:33px}.hero-art{display:none}.container{padding:17px 14px}.category-grid{grid-template-columns:1fr 1fr;gap:8px}.category-card{min-height:135px;padding:13px}.category-card .cat-icon{font-size:33px}.category-card h3{font-size:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-image{height:120px}.service-grid{grid-template-columns:1fr}.catalog-layout{grid-template-columns:1fr}.filter-panel{display:flex;flex-wrap:wrap;gap:8px}.filter-panel h3{width:100%}.filter-panel a{padding:6px 9px;border:1px solid var(--line);border-radius:6px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card{padding:17px}.product-detail{grid-template-columns:1fr;padding:15px}.product-detail .product-image{height:230px}.trust-strip{gap:20px;justify-content:flex-start;padding:20px}.trust-strip>div{width:42%}.cart-table th:nth-child(2),.cart-table td:nth-child(2){display:none}.cart-table th,.cart-table td{padding:8px 4px;font-size:12px}.footer{padding:25px 18px}}

/* Cherry Communication — calendrier de rendez-vous */
.appointment-page .page-heading{padding-top:26px}
.appointment-card{max-width:900px;padding:clamp(16px,3vw,28px);box-shadow:0 12px 34px rgba(25,35,55,.06)}
.appointment-card>h2{margin:0 0 6px;font-size:22px;letter-spacing:-.4px}
.appointment-intro{margin:0 0 22px;font-size:13px}
.appointment-picker{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:stretch}
.calendar-panel,.slots-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;min-width:0}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.calendar-head strong{font-size:15px;text-transform:capitalize}
.calendar-nav{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}
.calendar-nav:hover:not(:disabled){border-color:var(--red);color:var(--red)}
.calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.calendar-weekdays{margin-bottom:7px}
.calendar-weekdays span{font-size:10px;color:var(--muted);font-weight:700;padding:5px 0}
.calendar-day,.calendar-blank{width:100%;aspect-ratio:1;min-width:0}
.calendar-day{border:1px solid transparent;border-radius:9px;background:#f1f3f6;color:var(--ink);font-weight:600;cursor:pointer;padding:0;font-size:13px}
.calendar-day.is-available{background:#e8f7ee;color:#17683a;border-color:#d7efdf}
.calendar-day.is-available:hover{background:#d4f0df;border-color:#8ed0a5}
.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 3px 9px rgba(229,29,53,.22)}
.calendar-day.is-disabled{background:#f4f5f7;color:#b5bac3;cursor:not-allowed;text-decoration:line-through}
.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px;color:var(--muted);font-size:10px}
.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;border-radius:3px;background:#e8f7ee;border:1px solid #cdebd7}.calendar-legend i.legend-off{background:#f1f2f4;border-color:#e3e5e8}
.slots-title{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}.slots-title strong{font-size:15px}.slots-title span{font-size:12px;color:var(--red);font-weight:600;text-transform:capitalize}
.slot-group{margin-bottom:17px}.slot-group>small{display:block;color:var(--muted);font-weight:800;letter-spacing:.8px;font-size:10px;margin-bottom:9px}
.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.time-slot{min-height:38px;padding:7px 4px;border:1px solid #dfe3e9;border-radius:8px;background:#fff;color:#242a35;font-weight:600;font-size:12px;cursor:pointer}
.time-slot:hover:not(:disabled){border-color:var(--red);color:var(--red);background:#fff7f8}
.time-slot.is-selected,.time-slot.is-selected:hover{background:var(--red);color:#fff;border-color:var(--red)}
.time-slot.is-disabled{background:#f5f6f7;color:#b7bdc6;border-color:#eceef1;cursor:not-allowed;text-decoration:line-through}
.slots-placeholder{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.5;margin:0;padding:9px 0}
.calendar-note{font-size:11px;line-height:1.55;color:var(--muted);background:#f7f8fa;border-radius:8px;padding:10px;margin:6px 0 0}
.appointment-form-details{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.appointment-form-details h2{margin:0 0 16px;font-size:20px}
.urgent-label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important;font-weight:500!important}.urgent-label input{margin-top:2px;flex:0 0 auto}
.appointment-submit{width:100%;min-height:46px}
@media(max-width:650px){.appointment-card{margin:14px auto;padding:15px}.appointment-picker{grid-template-columns:1fr;gap:12px}.calendar-panel,.slots-panel{padding:13px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day,.calendar-blank{min-height:34px;aspect-ratio:auto}.calendar-day{font-size:12px}.calendar-head{margin-bottom:12px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.time-slot{min-height:40px}.appointment-form-details{margin-top:20px;padding-top:18px}.appointment-card>h2,.appointment-form-details h2{font-size:19px}}

/* === Cherry Communication : slider accueil sans zoom ni recadrage === */
.home-slider{position:relative;width:100%;height:clamp(280px,42vw,520px);min-height:280px;overflow:hidden;background:#11151d}
.home-slides{position:relative;width:100%;height:100%}
.home-slide{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease}
.home-slide.is-active{opacity:1;visibility:visible;z-index:1}
.home-slide>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:#11151d}
.home-slide-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.68) 100%)}
.home-slide-content{width:min(1200px,100%);margin:0 auto;padding:32px 28px 42px;color:#fff;pointer-events:auto;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.home-slide-content h1{margin:0 0 8px;font-size:clamp(24px,3.2vw,42px);line-height:1.1}
.home-slide-content p{margin:0 0 14px;max-width:680px;font-size:clamp(14px,1.5vw,18px);line-height:1.45}
.home-slider-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(17,21,29,.72);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.home-slider-arrow.prev{left:18px}.home-slider-arrow.next{right:18px}
.home-slider-dots{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px}
.home-slider-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}
.home-slider-dots button.active{background:#fff;transform:scale(1.15)}
@media(max-width:700px){
 .home-slider{height:clamp(220px,62vw,360px);min-height:220px}
 .home-slide-content{padding:20px 18px 34px}
 .home-slide-content h1{font-size:24px}
 .home-slide-content p{font-size:13px;max-width:90%}
 .home-slider-arrow{width:36px;height:36px;font-size:26px}
 .home-slider-arrow.prev{left:10px}.home-slider-arrow.next{right:10px}
}
