/*** Comptoir de la Guirlande — identité visuelle 2026 ***/
:root { --cg-navy:#111111; --cg-navy-soft:#292929; --cg-gold:#c6a15b; --cg-gold-dark:#94723a; --cg-ivory:#ffffff; --cg-ink:#111111; --cg-radius:18px; }
body { color:var(--cg-ink); background:var(--cg-ivory); font-family:"Montserrat",Arial,sans-serif; }
a { color:var(--cg-navy); } a:hover { color:var(--cg-gold-dark); }

/* En-tête sobre et immédiatement lisible */
#sp-header { background:rgba(255,255,255,.96); border-bottom:1px solid rgba(7,26,51,.08); box-shadow:0 6px 26px rgba(7,26,51,.07); }
#sp-header.header-sticky { background:rgba(255,255,255,.98); box-shadow:0 10px 30px rgba(7,26,51,.12); }
#sp-header .logo-image { max-height:76px; }
.logo { display:inline-flex; vertical-align:middle; align-items:center; }
.cg-call-header { display:inline-flex; align-items:center; gap:10px; margin-left:18px; padding:9px 17px 9px 10px; border-radius:999px; background:var(--cg-navy); color:#fff!important; font-size:13px; font-weight:800; line-height:1.05; box-shadow:0 8px 20px rgba(7,26,51,.16); transition:transform .2s ease,background .2s ease; white-space:nowrap; }
.cg-call-header:hover { color:#fff!important; background:var(--cg-gold); transform:translateY(-2px); }
.cg-call-header small { display:block; margin-bottom:3px; color:var(--cg-gold); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cg-call-header:hover small { color:rgba(255,255,255,.82); }
.cg-call-icon { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; background:var(--cg-gold); color:#fff; font-size:15px; }
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span { color:var(--cg-navy); font-size:12px; letter-spacing:.08em; }
.sp-megamenu-parent > li:hover > a, .sp-megamenu-parent > li.active > a { color:var(--cg-gold-dark); }
.sp-megamenu-parent .sp-dropdown { border-top:3px solid var(--cg-gold); border-radius:0 0 12px 12px; box-shadow:0 14px 35px rgba(7,26,51,.14); }

/* Bandeau supérieur : informations utiles immédiatement accessibles */
#sp-top-bar { display:block!important; min-height:38px; border-bottom:2px solid var(--cg-gold); background:var(--cg-navy); color:#fff; }
#sp-top-bar .container-inner { min-height:38px; } #sp-top-bar .row > div { display:none!important; }
.cg-topbar { display:flex; align-items:center; justify-content:center; gap:0; min-height:38px; color:rgba(255,255,255,.9); font-size:12px; font-weight:600; }
.cg-topbar a { color:#fff!important; text-decoration:none!important; }.cg-topbar a:hover { color:var(--cg-gold)!important; }
.cg-topbar-item { display:flex; align-items:center; gap:8px; padding:0 20px; border-right:1px solid rgba(255,255,255,.18); }.cg-topbar-item:last-child { border-right:0; }
.cg-topbar-icon { color:var(--cg-gold); font-size:14px; }

/* Boutons et appels à l'action */
.btn, .sppb-btn, a.hikabtn, .hikacart, .hikashop_cart_input_button, input.hikashop_cart_input_button { background:var(--cg-gold)!important; border:1px solid var(--cg-gold)!important; color:#fff!important; border-radius:999px!important; font-weight:700; letter-spacing:.04em; padding:12px 24px; box-shadow:0 8px 18px rgba(130,35,59,.22); transition:transform .22s ease,background .22s ease,box-shadow .22s ease; }
.btn:hover, .sppb-btn:hover, a.hikabtn:hover, .hikacart:hover, .hikashop_cart_input_button:hover, input.hikashop_cart_input_button:hover { background:var(--cg-navy)!important; border-color:var(--cg-navy)!important; color:#fff!important; transform:translateY(-2px); box-shadow:0 12px 25px rgba(7,26,51,.2); }

/* Slides : conservation des photos, avec contraste premium */
.cg-hero, #sp-slider .sppb-carousel-pro, .sppb-carousel-pro { position:relative; overflow:hidden; }
.cg-hero:before, #sp-slider .sppb-carousel-pro:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(7,26,51,.78) 0%,rgba(7,26,51,.38) 52%,rgba(7,26,51,.04) 100%); pointer-events:none; }
.cg-hero .sppb-carousel-pro-content, #sp-slider .sppb-carousel-pro-content { position:relative; z-index:2; }
.cg-hero h1, .cg-hero h2, #sp-slider h1, #sp-slider h2 { color:#fff; font-size:clamp(34px,4.4vw,70px); line-height:1.02; letter-spacing:.015em; text-shadow:0 5px 22px rgba(0,0,0,.25); }
.cg-hero p, #sp-slider p { color:#fff; font-size:clamp(16px,1.4vw,21px); max-width:650px; }
#sp-slider .owl-dots, #sp-slider .sppb-carousel-pro-indicators { z-index:3; }
#sp-slider .owl-dot span, #sp-slider .sppb-carousel-pro-indicators li { border:1px solid rgba(255,255,255,.9); }
#sp-slider .owl-dot.active span, #sp-slider .sppb-carousel-pro-indicators li.active { background:var(--cg-gold)!important; border-color:var(--cg-gold); }

/* Slider d'accueil UIkit : grand visuel immersif, message clair et CTA */
#sp-section-2 .container { max-width:100%; padding-left:0; padding-right:0; }
#sp-banniere .sp-module, #sp-banniere .sp-module-content, #sp-banniere .uk-scope { margin:0; }
#sp-banniere .uk-slideshow { position:relative; width:100%; background:var(--cg-navy); overflow:hidden; }
#sp-banniere .uk-slideshow-items { height:clamp(330px,43vw,620px)!important; min-height:330px!important; aspect-ratio:auto!important; }
#sp-banniere .uk-slideshow-items > li { overflow:hidden; background:var(--cg-navy); }
#sp-banniere .uk-slideshow-items > li:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(7,26,51,.86) 0%,rgba(7,26,51,.60) 38%,rgba(7,26,51,.16) 70%,rgba(7,26,51,.03) 100%); pointer-events:none; }
#sp-banniere .uk-slideshow-items > li img { width:100%!important; height:100%!important; max-width:none!important; object-fit:cover!important; object-position:center!important; transform:scale(1.01); }
.cg-slider-content { position:absolute; z-index:4; left:max(7vw,32px); top:50%; width:min(590px,55vw); transform:translateY(-50%); padding:28px 32px 30px; border-left:4px solid var(--cg-gold); background:linear-gradient(125deg,rgba(8,8,8,.95),rgba(30,30,30,.78)); box-shadow:0 18px 45px rgba(0,0,0,.30); color:#fff; text-align:left; }
.cg-slider-kicker { display:flex; align-items:center; gap:10px; margin:0 0 17px; color:var(--cg-gold); font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.cg-slider-kicker:before { content:""; display:block; width:38px; height:2px; background:var(--cg-gold); }
.cg-slider-content h2 { margin:0 0 16px; color:#fff!important; font-size:clamp(42px,5.6vw,82px); font-weight:800; line-height:.98; letter-spacing:-.045em; text-shadow:0 5px 30px rgba(0,0,0,.32); }
.cg-slider-content p { max-width:500px; margin:0 0 28px; color:rgba(255,255,255,.9); font-size:clamp(15px,1.5vw,20px); line-height:1.55; }
.cg-france-badge { display:inline-flex; align-items:center; gap:9px; margin:-8px 0 20px; padding:7px 10px; border:1px solid rgba(198,161,91,.48); border-radius:999px; color:rgba(255,255,255,.94); background:rgba(198,161,91,.10); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.cg-france-badge i { display:inline-block; width:17px; height:17px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:radial-gradient(circle at 50% 50%,#fff 0 20%,transparent 22%),linear-gradient(135deg,#c6a15b 0 48%,#111 52% 100%); box-shadow:0 0 0 2px rgba(255,255,255,.1); }
.cg-slider-cta, .cg-slider-cta:hover { text-decoration:none!important; }
.cg-slider-cta { display:inline-flex; align-items:center; gap:10px; padding:13px 22px; border-radius:999px; background:var(--cg-gold); color:#fff!important; font-size:14px; font-weight:800; box-shadow:0 10px 22px rgba(0,0,0,.2); transition:background .2s ease; }
.cg-slider-cta:after { content:"→"; font-size:19px; }.cg-slider-cta:hover { background:#fff; color:var(--cg-navy)!important; }

/* Page d'accueil : deux bulles d'entrée, Vente et Location. */
.cg-home-choices { position:relative; z-index:5; margin:-34px auto 42px; padding:0 24px; }
.cg-home-choices-inner { width:min(920px,100%); margin:auto; padding:28px 34px 34px; border:1px solid rgba(23,63,143,.12); border-radius:24px; background:#fff; box-shadow:0 18px 42px rgba(7,27,78,.13); text-align:center; }
.cg-home-choices-eyebrow { margin:0 0 5px; color:var(--cg-gold); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cg-home-choices h2 { margin:0 0 24px; color:var(--cg-ink); font-size:clamp(24px,3vw,34px); font-weight:800; letter-spacing:-.035em; }
.cg-home-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.cg-home-choice { position:relative; display:block; min-height:235px; overflow:hidden; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff!important; box-shadow:0 12px 25px rgba(7,27,78,.16); text-decoration:none!important; isolation:isolate; transition:transform .25s ease,box-shadow .25s ease; }
.cg-home-choice:hover { transform:translateY(-6px) scale(1.015); box-shadow:0 20px 34px rgba(7,27,78,.24); }
.cg-home-choice-image { position:absolute; inset:0; z-index:-2; background:center/cover no-repeat; transition:transform .5s ease; }
.cg-home-choice:hover .cg-home-choice-image { transform:scale(1.08); }
.cg-home-choice:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(160deg,rgba(7,27,78,.2),rgba(7,27,78,.88)); }
.cg-home-choice-rental .cg-home-choice-image { background-image:url('/media/widgetkit/43cd0bbc-88fc-4ab3-98f8-b8404e531fce-0f66a60cf08b64bdfcc348cf43a0d5f9.png'); }
.cg-home-choice-sale .cg-home-choice-image { background-image:url('/IMAGES/img_blanc_chaud_icon_cdg_1473593204.jpg'); }
.cg-home-choice-content { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:35px 42px; text-align:center; }
.cg-home-choice-content strong { display:block; font-size:clamp(28px,3.2vw,40px); font-weight:900; letter-spacing:-.04em; }
.cg-home-choice-content small { display:block; max-width:230px; margin:5px 0 18px; color:rgba(255,255,255,.9); font-size:14px; line-height:1.35; }
.cg-home-choice-content em { display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid rgba(255,255,255,.78); border-radius:999px; color:#fff; font-size:11px; font-style:normal; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.cg-home-choice-content b { font-size:17px; font-weight:400; line-height:1; }
@media (max-width:767px) { .cg-home-choices { margin:-18px auto 28px; padding:0 14px; } .cg-home-choices-inner { padding:23px 18px 24px; border-radius:18px; } .cg-home-choice-grid { gap:14px; } .cg-home-choice { min-height:calc((100vw - 70px)/2); } .cg-home-choice-content { padding:16px 10px; } .cg-home-choice-content strong { font-size:27px; } .cg-home-choice-content small { display:none; } .cg-home-choice-content em { margin-top:9px; padding:7px 9px; font-size:9px; } }
#sp-banniere .uk-slidenav { z-index:5; display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(7,26,51,.42); opacity:0; transition:opacity .22s ease,background .22s ease; }
#sp-banniere .uk-slideshow:hover .uk-slidenav { opacity:1; } #sp-banniere .uk-slidenav:hover { background:var(--cg-gold); }
#sp-banniere .uk-slidenav svg polyline { stroke:#fff!important; } #sp-banniere .uk-slidenav:hover svg polyline { stroke:var(--cg-navy)!important; }

/* Univers : cartes carrées, photo plein cadre, titre et lien Découvrir */
.cg-univers, .univers-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cg-univers .cg-univers-card, .univers-cards .univers-card { position:relative; min-height:330px; overflow:hidden; border-radius:var(--cg-radius); background:var(--cg-navy); box-shadow:0 12px 28px rgba(7,26,51,.13); }
.cg-univers img, .univers-cards img { width:100%; height:100%; min-height:330px; object-fit:cover; transition:transform .55s ease; }
.cg-univers .cg-univers-card:hover img, .univers-cards .univers-card:hover img { transform:scale(1.08); }
.cg-univers-card:after, .univers-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(7,26,51,.92) 100%); pointer-events:none; }
.cg-univers-card .cg-card-content, .univers-card .univers-card-content { position:absolute; left:24px; right:24px; bottom:24px; z-index:2; color:#fff; }
.cg-univers-card h3, .univers-card h3 { color:#fff; font-size:22px; line-height:1.2; margin:0 0 14px; }
.cg-discover { display:inline-flex; align-items:center; gap:8px; padding:9px 17px; border-radius:999px; background:var(--cg-gold); color:#fff!important; font-weight:700; font-size:13px; text-decoration:none; }
.cg-discover:after { content:"→"; font-size:16px; }

/* HikaShop : mêmes cartes produits sur toutes les pages */
.hikashop_product, .hikashop_product_page .hikashop_product_top_part { border:0; border-radius:var(--cg-radius); overflow:hidden; background:#fff; box-shadow:0 8px 24px rgba(7,26,51,.10); transition:transform .22s ease,box-shadow .22s ease; }
.hikashop_product:hover { transform:translateY(-5px); box-shadow:0 16px 35px rgba(7,26,51,.16); }
.hikashop_product_image { overflow:hidden; background:var(--cg-ivory); }
.hikashop_product_image img { width:100%; transition:transform .4s ease; }.hikashop_product:hover .hikashop_product_image img { transform:scale(1.045); }
.hikashop_product_name a { color:var(--cg-navy)!important; font-weight:700; font-size:17px; }.hikashop_product_price { color:var(--cg-gold-dark)!important; font-weight:800; }
#sp-footer, #sp-bottom { background:var(--cg-navy); color:rgba(255,255,255,.78); border:0; } #sp-footer a, #sp-bottom a { color:#fff; }
/* Remplace définitivement la signature LTheme par la signature Comptoir. */
#sp-footer1 > * { display:none!important; }
#sp-footer1:before { content:"Comptoir de la Guirlande · 2026 · Tous droits réservés"; display:block; padding:20px 0; color:rgba(255,255,255,.8); font-size:13px; text-align:center; }
.site a[href*="ltheme.com"] { display:none!important; }

/* Le rappel est désormais exclusivement accessible dans le header. */
.placerappel { display:none!important; }

/* Univers accueil : remplacement des anciennes bulles rondes par de vraies cartes. */
#wk-grid130 { margin-top:30px!important; row-gap:30px!important; }
#wk-grid130 > div { margin-top:0!important; }
#wk-grid130 > div > .uk-panel { height:100%; padding:0; overflow:hidden; border:1px solid rgba(7,26,51,.09); border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(7,26,51,.09); transition:transform .22s ease,box-shadow .22s ease; }
#wk-grid130 > div > .uk-panel:hover { transform:translateY(-5px); box-shadow:0 16px 30px rgba(7,26,51,.16); }
#wk-grid130 .uk-inline-clip { display:block; overflow:visible; border-radius:0!important; }
#wk-grid130 .uk-inline-clip > img { display:block; width:100%!important; height:auto!important; aspect-ratio:1/1; object-fit:cover; border-radius:0!important; transition:transform .45s ease; }
#wk-grid130 > div > .uk-panel:hover .uk-inline-clip > img { transform:scale(1.045); }
#wk-grid130 .uk-inline-clip > .uk-overlay-primary { display:none!important; }
#wk-grid130 .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) { position:static!important; display:block!important; min-height:139px; padding:18px 18px 20px!important; background:#fff!important; color:var(--cg-navy)!important; opacity:1!important; transform:none!important; text-align:left!important; }
#wk-grid130 .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) > div { display:block!important; }
#wk-grid130 .uk-inline-clip .uk-margin-small { margin:0 0 15px!important; }
#wk-grid130 .uk-inline-clip .uk-margin-small p, #wk-grid130 .uk-inline-clip .uk-margin-small span { margin:0!important; color:var(--cg-navy)!important; font-size:17px!important; font-weight:800!important; line-height:1.25!important; }
#wk-grid130 .uk-inline-clip .uk-grid { display:block!important; margin:0!important; }
#wk-grid130 .uk-inline-clip .uk-grid > div { margin:0!important; }
#wk-grid130 .uk-inline-clip .uk-button { display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:0!important; border-radius:999px!important; background:var(--cg-gold)!important; color:#fff!important; font-size:12px; font-weight:800; line-height:1.2; text-decoration:none!important; }
#wk-grid130 .uk-inline-clip .uk-button:after { content:"→"; font-size:16px; } #wk-grid130 .uk-inline-clip .uk-button:hover { background:var(--cg-navy)!important; color:#fff!important; text-decoration:none!important; }
@media (max-width:767px) { #wk-grid130 { row-gap:18px!important; } #wk-grid130 .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) { min-height:auto; } }

/* Même design avec la classe stable ajoutée par le template (Widgetkit change ses IDs). */
.cg-universe-grid { margin-top:30px!important; row-gap:30px!important; }
.cg-universe-grid > div { margin-top:0!important; }
.cg-universe-grid > div > .uk-panel { height:100%; padding:0; overflow:hidden; border:1px solid rgba(7,26,51,.09); border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(7,26,51,.09); transition:transform .22s ease,box-shadow .22s ease; }
.cg-universe-grid > div > .uk-panel:hover { transform:translateY(-5px); box-shadow:0 16px 30px rgba(7,26,51,.16); }
.cg-universe-grid .uk-inline-clip { display:block; overflow:visible; border-radius:0!important; }
.cg-universe-grid .uk-inline-clip > img { display:block; width:100%!important; height:auto!important; aspect-ratio:1/1; object-fit:cover; border-radius:0!important; transition:transform .45s ease; }
.cg-universe-grid > div > .uk-panel:hover .uk-inline-clip > img { transform:scale(1.045); }
.cg-universe-grid .uk-inline-clip > .uk-overlay-primary { display:none!important; }
.cg-universe-grid .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) { position:static!important; display:block!important; min-height:139px; padding:18px 18px 20px!important; background:#fff!important; color:var(--cg-navy)!important; opacity:1!important; transform:none!important; text-align:left!important; }
.cg-universe-grid .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) > div { display:block!important; }
.cg-universe-grid .uk-inline-clip .uk-margin-small { margin:0 0 15px!important; }
.cg-universe-grid .uk-inline-clip .uk-margin-small p, .cg-universe-grid .uk-inline-clip .uk-margin-small span { margin:0!important; color:var(--cg-navy)!important; font-size:17px!important; font-weight:800!important; line-height:1.25!important; }
.cg-universe-grid .uk-inline-clip .uk-grid { display:block!important; margin:0!important; }
.cg-universe-grid .uk-inline-clip .uk-grid > div { margin:0!important; }
.cg-universe-grid .uk-inline-clip .uk-button { display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:0!important; border-radius:999px!important; background:var(--cg-gold)!important; color:#fff!important; font-size:12px; font-weight:800; line-height:1.2; text-decoration:none!important; }
.cg-universe-grid .uk-inline-clip .uk-button:after { content:"→"; font-size:16px; }.cg-universe-grid .uk-inline-clip .uk-button:hover { background:var(--cg-navy)!important; color:#fff!important; text-decoration:none!important; }
@media (max-width:767px) { .cg-universe-grid { row-gap:18px!important; } .cg-universe-grid .uk-inline-clip > .uk-overlay:not(.uk-overlay-primary) { min-height:auto; } }

/* Formulaire « Être rappelé » — Convert Forms */
.article-details:has(#cf_8) { max-width:900px; margin:55px auto 70px; }
.article-details:has(#cf_8) .article-header { margin-bottom:26px; text-align:center; }
.article-details:has(#cf_8) .article-header h1 { display:inline-block; margin:0; color:var(--cg-navy); font-size:clamp(30px,4vw,46px); letter-spacing:-.035em; }
.article-details:has(#cf_8) .article-header h1:after { content:""; display:block; width:58px; height:3px; margin:16px auto 0; background:var(--cg-gold); }
#cf_8.convertforms { overflow:hidden; border:1px solid rgba(7,26,51,.08); border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(7,26,51,.12); }
#cf_8 .cf-content-wrap { padding:31px 40px 25px; background:linear-gradient(125deg,var(--cg-navy),var(--cg-navy-soft)); color:#fff; }
#cf_8 .cf-content-text, #cf_8 .cf-content-text * { color:#fff!important; }
#cf_8 .cf-content-text strong:first-child { display:block; margin-bottom:7px; font-size:25px; line-height:1.2; }
#cf_8 .cf-content-text a { color:var(--cg-gold)!important; text-decoration:none!important; }
#cf_8 .cf-form-wrap { padding:32px 40px 38px; background:#fff!important; }
#cf_8 .cf-control-group { margin-bottom:18px; }
#cf_8 label, #cf_8 .cf-label { margin-bottom:7px; color:var(--cg-navy)!important; font-size:13px; font-weight:800; letter-spacing:.03em; }
#cf_8 input:not([type="checkbox"]):not([type="radio"]), #cf_8 select, #cf_8 textarea { width:100%; min-height:48px; padding:12px 15px; border:1px solid #dbe1e8!important; border-radius:10px!important; background:#fbfcfd!important; color:var(--cg-navy)!important; box-shadow:none!important; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
#cf_8 textarea { min-height:135px; resize:vertical; }
#cf_8 input:focus, #cf_8 select:focus, #cf_8 textarea:focus { border-color:var(--cg-gold)!important; background:#fff!important; box-shadow:0 0 0 3px rgba(214,162,74,.18)!important; outline:0; }
#cf_8 button[type="submit"], #cf_8 .cf-btn, #cf_8 input[type="submit"] { display:inline-flex; align-items:center; justify-content:center; min-width:175px; min-height:49px; padding:12px 23px; border:0!important; border-radius:999px!important; background:var(--cg-gold)!important; color:#fff!important; font-weight:800; letter-spacing:.03em; box-shadow:0 8px 18px rgba(130,35,59,.24); text-decoration:none!important; transition:background .2s ease; }
#cf_8 button[type="submit"]:hover, #cf_8 .cf-btn:hover, #cf_8 input[type="submit"]:hover { background:var(--cg-navy)!important; color:#fff!important; text-decoration:none!important; }
@media (max-width:575px) { .article-details:has(#cf_8) { margin:32px auto 45px; } #cf_8 .cf-content-wrap, #cf_8 .cf-form-wrap { padding:25px 20px; } #cf_8 .cf-content-text strong:first-child { font-size:22px; } }

/* HikaShop — espace client : tableau de bord clair et moderne */
.hika_cpanel_icons, .hikashop_cpanel_icons { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:35px 0!important; }
.hika_cpanel_icons > *, .hikashop_cpanel_icons > * { float:none!important; width:auto!important; min-width:0!important; margin:0!important; }
.hika_cpanel_icon, .hikashop_cpanel_icon { display:flex!important; align-items:center; justify-content:center; min-height:145px; padding:20px!important; border:1px solid rgba(7,26,51,.09); border-radius:18px; background:#fff; box-shadow:0 8px 20px rgba(7,26,51,.08); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.hika_cpanel_icon:hover, .hikashop_cpanel_icon:hover { border-color:var(--cg-gold); box-shadow:0 15px 30px rgba(7,26,51,.14); transform:translateY(-4px); }
.hika_cpanel_icon a, .hikashop_cpanel_icon a { display:flex!important; flex-direction:column; align-items:center; gap:13px; color:var(--cg-navy)!important; font-size:14px; font-weight:800; text-align:center; text-decoration:none!important; }
.hika_cpanel_icon img, .hikashop_cpanel_icon img { width:48px!important; height:48px!important; object-fit:contain; filter:brightness(0) saturate(100%) invert(12%) sepia(34%) saturate(1510%) hue-rotate(173deg) brightness(91%) contrast(99%); }
.hika_cpanel_icon:hover img, .hikashop_cpanel_icon:hover img { filter:brightness(0) saturate(100%) invert(66%) sepia(43%) saturate(586%) hue-rotate(359deg) brightness(92%) contrast(87%); }

/* Fiches produit : lecture immédiate, galerie premium et informations structurées */
.hikashop_product_page { max-width:1240px; margin:42px auto; }
.hikashop_product_top_part { display:flex; flex-wrap:wrap; gap:38px; padding:34px; border:1px solid rgba(7,26,51,.08); border-radius:22px; background:#fff; box-shadow:0 14px 36px rgba(7,26,51,.09); }
.hikashop_product_left_part, .hikashop_product_right_part { float:none!important; }
.hikashop_product_left_part { flex:1 1 46%; min-width:290px; }.hikashop_product_right_part { flex:1 1 44%; min-width:290px; }
.hikashop_global_image_div { padding:12px; border-radius:16px; background:var(--cg-ivory); }.hikashop_product_main_image { border-radius:12px; overflow:hidden; }.hikashop_product_main_image img { width:100%; height:auto; }
.hikashop_small_image_div { display:flex; gap:9px; padding-top:12px; }.hikashop_small_image_div img { border:2px solid transparent; border-radius:8px; }.hikashop_small_image_div .hikashop_active_thumbnail img { border-color:var(--cg-gold); }
.hikashop_product_name_main { margin:0 0 10px!important; color:var(--cg-navy); font-size:clamp(28px,3vw,42px); line-height:1.08; letter-spacing:-.035em; }
.hikashop_product_variant_subname { color:#607087; font-size:15px; }.hikashop_product_price_main { margin:18px 0!important; padding:15px 18px; border-left:4px solid var(--cg-gold); border-radius:0 10px 10px 0; background:#faf7f1; }.hikashop_product_price { color:var(--cg-gold-dark)!important; font-size:25px; font-weight:800; }
.hikashop_product_characteristics, .hikashop_product_custom_info_main { margin:22px 0!important; padding:18px; border-radius:14px; background:#f8fafc; }.hikashop_product_characteristics_table, .hikashop_product_custom_info_main_table { width:100%; border-collapse:separate; border-spacing:0; }
.hikashop_product_characteristics_table tr + tr td, .hikashop_product_custom_info_main_table tr + tr td { border-top:1px solid #e5eaf0; }.hikashop_product_characteristics_table td, .hikashop_product_custom_info_main_table td { padding:10px 5px; color:var(--cg-ink); font-size:14px; }
.hikashop_product_custom_name { color:var(--cg-navy)!important; font-weight:800; }.hikashop_product_custom_value { text-align:right; }
.hikashop_product_quantity_main { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:26px 0!important; }.hikashop_product_quantity_field { min-height:46px; border:1px solid #dbe1e8!important; border-radius:9px!important; }
.hikashop_product_bottom_part { margin-top:34px; padding:34px; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(7,26,51,.07); }.hikashop_product_description_main { color:#3f5067; font-size:16px; line-height:1.85; }

/* Vente / panier / paiement : chronologie nette, étapes et récapitulatif lisibles */
.hikashop_checkout_bar { display:flex!important; gap:0; margin:28px 0 36px!important; overflow:hidden; border-radius:12px; background:#eaf0f5; }.hikashop_checkout_bar > * { flex:1; padding:13px 12px!important; background:transparent!important; color:#617086!important; font-size:13px; font-weight:800; text-align:center; }.hikashop_checkout_bar .hikashop_checkout_step_current { background:var(--cg-navy)!important; color:#fff!important; }.hikashop_checkout_bar .hikashop_checkout_step_current:before { color:var(--cg-gold)!important; }
.hikashop_checkout_cart, .hikashop_checkout_login, .hikashop_checkout_address, .hikashop_checkout_payment, .hikashop_checkout_shipping, .hikashop_checkout_coupon { margin-bottom:22px!important; padding:25px!important; border:1px solid rgba(7,26,51,.09); border-radius:16px; background:#fff; box-shadow:0 7px 18px rgba(7,26,51,.06); }.hikashop_checkout_cart h1, .hikashop_checkout_cart h2, .hikashop_checkout_login h1, .hikashop_checkout_address h1, .hikashop_checkout_payment h1 { color:var(--cg-navy); font-size:22px; }
.hikashop_checkout_cart table { overflow:hidden; border-radius:12px; }.hikashop_checkout_cart th { background:var(--cg-navy); color:#fff; }.hikashop_checkout_cart td, .hikashop_checkout_cart th { padding:14px!important; border-color:#e6ebf0!important; }.hikashop_checkout_cart .hikashop_cart_total_title { color:var(--cg-navy); font-weight:800; }.hikashop_checkout_cart .hikashop_cart_total_value { color:var(--cg-gold-dark); font-size:20px; font-weight:800; }

/* Pages fabricants HikaShop : cartes simples et professionnelles */
#hikashop_manufacturer_listing, .hikashop_manufacturer_listing { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:30px 0; }.hikashop_manufacturer, .hikashop_manufacturer_listing > div { padding:24px; border:1px solid rgba(7,26,51,.09); border-radius:16px; background:#fff; box-shadow:0 8px 20px rgba(7,26,51,.07); transition:transform .2s ease,box-shadow .2s ease; }.hikashop_manufacturer:hover, .hikashop_manufacturer_listing > div:hover { box-shadow:0 15px 28px rgba(7,26,51,.13); transform:translateY(-3px); }.hikashop_manufacturer_name, .hikashop_manufacturer_name a { color:var(--cg-navy)!important; font-size:19px; font-weight:800; text-decoration:none!important; }.hikashop_manufacturer_description { margin-top:10px; color:#607087; line-height:1.65; }
@media (max-width:991px) { .hika_cpanel_icons, .hikashop_cpanel_icons { grid-template-columns:repeat(3,minmax(0,1fr)); }.hikashop_product_top_part { gap:25px; padding:24px; } #hikashop_manufacturer_listing, .hikashop_manufacturer_listing { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575px) { .hika_cpanel_icons, .hikashop_cpanel_icons { grid-template-columns:repeat(2,minmax(0,1fr)); }.hika_cpanel_icon, .hikashop_cpanel_icon { min-height:126px; }.hikashop_product_top_part, .hikashop_product_bottom_part { padding:18px; border-radius:14px; }.hikashop_product_left_part, .hikashop_product_right_part { min-width:0; }.hikashop_checkout_bar > * { min-width:112px; }.hikashop_checkout_bar { overflow-x:auto; }.hikashop_checkout_cart, .hikashop_checkout_login, .hikashop_checkout_address, .hikashop_checkout_payment, .hikashop_checkout_shipping, .hikashop_checkout_coupon { padding:17px!important; } #hikashop_manufacturer_listing, .hikashop_manufacturer_listing { grid-template-columns:1fr; } }

/* Méga-menu Location : navigation en cartes, trois colonnes et visuels produits. */
@media (min-width:992px) {
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown { width:min(700px,calc(100vw - 50px))!important; padding:14px!important; border-top:3px solid var(--cg-gold); border-radius:0 0 16px 16px; background:#fff; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li { position:relative; min-height:70px; overflow:visible; border:1px solid #e6ebf0; border-radius:10px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li:before { content:""; position:absolute; top:0; bottom:0; left:0; width:54px; border-radius:9px 0 0 9px; background:linear-gradient(90deg,rgba(7,26,51,.26),rgba(7,26,51,.02)),var(--cg-menu-image) center/cover no-repeat; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li:hover { z-index:3; border-color:var(--cg-gold); box-shadow:0 8px 18px rgba(7,26,51,.13); transform:translateY(-2px); }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li > a { display:flex!important; align-items:center; min-height:68px; padding:10px 10px 10px 65px!important; color:var(--cg-navy)!important; font-size:12px!important; font-weight:800; line-height:1.2; text-transform:none!important; white-space:normal; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li > a:hover { color:var(--cg-gold-dark)!important; }
  .sp-megamenu-parent > li.cg-location-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li > .sp-dropdown { top:0!important; left:calc(100% + 8px)!important; right:auto!important; border-radius:10px; }
}

/* Entrée saisonnière « Spécial Noël » : même gabarit, éclat doré discret. */
.sp-megamenu-parent > li.cg-christmas-menu > a { position:relative; color:var(--cg-gold)!important; font-weight:900!important; text-shadow:0 0 0 rgba(198,161,91,0); animation:cg-christmas-glow 2.5s ease-in-out infinite; }
.sp-megamenu-parent > li.cg-christmas-menu > a:after { content:'✦'; display:inline-block; margin-left:5px; color:var(--cg-gold); font-size:10px; vertical-align:top; animation:cg-christmas-sparkle 1.8s ease-in-out infinite; }
.sp-megamenu-parent > li.cg-christmas-menu > a:hover, .sp-megamenu-parent > li.cg-christmas-menu.active > a { color:#94723a!important; background:transparent!important; transform:none; box-shadow:none; }
@keyframes cg-christmas-glow { 0%,100% { text-shadow:0 0 0 rgba(198,161,91,0); } 50% { text-shadow:0 0 10px rgba(198,161,91,.65); } }
@keyframes cg-christmas-sparkle { 0%,100% { opacity:.45; transform:scale(.8) rotate(0deg); } 50% { opacity:1; transform:scale(1.16) rotate(20deg); } }

/* Kit clé en main : page d'inspiration et parcours de projet. */
body.itemid-9161 { background:#f5f2ec; }
body.itemid-9161 #sp-main-body { padding:48px 0 76px; background:radial-gradient(circle at 8% 10%,rgba(198,161,91,.16),transparent 25%),#f5f2ec; }
.cg-kit-page { max-width:1160px; margin:auto; overflow:hidden; border:1px solid rgba(17,17,17,.10); border-radius:24px; background:#fff; box-shadow:0 18px 44px rgba(17,17,17,.10); }
.cg-kit-page .article-header { position:relative; min-height:356px; display:flex; align-items:flex-end; margin:0!important; padding:48px clamp(28px,6vw,78px); overflow:hidden; background:linear-gradient(90deg,rgba(8,8,8,.92),rgba(8,8,8,.60) 55%,rgba(8,8,8,.12)),url('/images/slide_kit_clef_en_main_1.jpg') center/cover; }
.cg-kit-page .article-header:after { content:'KIT · CLÉ · EN · MAIN'; position:absolute; top:31px; right:clamp(25px,5vw,72px); padding:8px 11px; border:1px solid rgba(198,161,91,.62); border-radius:999px; color:var(--cg-gold); background:rgba(0,0,0,.24); font-size:10px; font-weight:900; letter-spacing:.16em; }
.cg-kit-page .article-header h1 { position:relative; z-index:1; max-width:680px; margin:0!important; color:#fff!important; font-size:clamp(38px,5.2vw,68px); font-weight:800; letter-spacing:-.055em; line-height:.98; text-shadow:0 4px 22px rgba(0,0,0,.52); }
.cg-kit-page .article-header h1:before { content:'Guirlandes fines · Installation sans point d’accroche'; display:block; margin-bottom:16px; color:var(--cg-gold); font-size:11px; font-weight:900; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }
.cg-kit-page [itemprop="articleBody"] { padding:clamp(28px,5vw,62px); }
.cg-kit-page [itemprop="articleBody"] > p { color:#46423d; font-size:16px; line-height:1.82; }
.cg-kit-page [itemprop="articleBody"] > h2 { margin:48px 0 19px; color:#111; font-size:clamp(26px,3.2vw,36px); letter-spacing:-.035em; }
.cg-kit-story { margin:-8px 0 42px; padding:clamp(25px,4vw,42px); border:1px solid rgba(198,161,91,.45); border-radius:18px; background:linear-gradient(135deg,#111 0%,#252525 100%); color:#fff; box-shadow:0 14px 30px rgba(17,17,17,.16); }
.cg-kit-story-head { max-width:700px; }
.cg-kit-story-head p { margin:0 0 7px; color:var(--cg-gold); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cg-kit-story-head h2 { margin:0!important; color:#fff!important; font-size:clamp(27px,3.3vw,40px)!important; line-height:1.1; letter-spacing:-.04em; }
.cg-kit-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:30px 0 27px; }
.cg-kit-steps > div { min-height:180px; padding:22px; border:1px solid rgba(255,255,255,.15); border-radius:14px; background:rgba(255,255,255,.06); }
.cg-kit-steps b { display:grid; width:32px; height:32px; margin-bottom:17px; place-items:center; border-radius:50%; background:var(--cg-gold); color:#111; font-size:12px; }
.cg-kit-steps h3 { margin:0 0 8px; color:#fff; font-size:18px; line-height:1.2; }.cg-kit-steps p { margin:0; color:rgba(255,255,255,.76)!important; font-size:14px!important; line-height:1.55!important; }
.cg-kit-story-cta { display:inline-flex; align-items:center; gap:10px; padding:12px 17px; border-radius:999px; background:var(--cg-gold); color:#111!important; font-size:12px; font-weight:900; letter-spacing:.03em; text-decoration:none!important; text-transform:uppercase; }.cg-kit-story-cta span{font-size:18px;line-height:1}.cg-kit-story-cta:hover{background:#fff;color:#111!important}
@media(max-width:767px){body.itemid-9161 #sp-main-body{padding:24px 0 45px}.cg-kit-page{border-radius:0}.cg-kit-page .article-header{min-height:270px;padding:32px 24px}.cg-kit-page .article-header:after{top:19px;right:20px;font-size:8px}.cg-kit-page [itemprop="articleBody"]{padding:28px 21px}.cg-kit-steps{grid-template-columns:1fr}.cg-kit-steps > div{min-height:0}}

/* Formulaire de devis — Convert Forms */
.article-details:has(#cf_1) { max-width:1020px; margin:52px auto 75px; }
.article-details:has(#cf_1) .article-header { text-align:center; }.article-details:has(#cf_1) .article-header h1 { color:var(--cg-navy); font-size:clamp(31px,4vw,48px); letter-spacing:-.04em; }.article-details:has(#cf_1) .article-header h1:after { content:""; display:block; width:58px; height:3px; margin:16px auto 28px; background:var(--cg-gold); }
#cf_1.convertforms { overflow:hidden; border:1px solid rgba(7,26,51,.08); border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(7,26,51,.12); }
#cf_1 .cf-content-wrap { padding:31px 44px 27px; background:linear-gradient(125deg,var(--cg-navy),var(--cg-navy-soft)); color:#fff; }
#cf_1 .cf-content-text, #cf_1 .cf-content-text * { color:#fff!important; } #cf_1 .cf-content-text div { margin:7px 0; } #cf_1 .cf-content-text div:not(:first-child):before { content:"✓"; display:inline-grid; width:19px; height:19px; margin-right:8px; place-items:center; border-radius:50%; background:var(--cg-gold); color:#fff!important; font-size:12px; font-weight:900; }
#cf_1 .cf-form-wrap { padding:35px 44px 42px; background:#fff!important; } #cf_1 .cf-fields { display:flex; flex-wrap:wrap; gap:17px; } #cf_1 .cf-control-group { width:100%; margin:0!important; } #cf_1 .cf-control-group.cf-one-half { width:calc(50% - 9px); }
#cf_1 input, #cf_1 select, #cf_1 textarea { width:100%; min-height:49px; padding:12px 15px; border:1px solid #dbe1e8!important; border-radius:10px!important; background:#fbfcfd!important; color:var(--cg-navy)!important; box-shadow:none!important; }
#cf_1 textarea { min-height:140px; resize:vertical; } #cf_1 input:focus, #cf_1 select:focus, #cf_1 textarea:focus { border-color:var(--cg-gold)!important; background:#fff!important; box-shadow:0 0 0 3px rgba(214,162,74,.18)!important; outline:0; }
#cf_1 .cf-heading { width:100%; margin:9px 0 0!important; padding:16px 0 3px; border-top:1px solid #e4e9ef; color:var(--cg-navy)!important; font-size:19px; font-weight:800; } #cf_1 .cf-submit { width:100%; margin-top:8px; }
#cf_1 button[type="submit"], #cf_1 .cf-btn, #cf_1 input[type="submit"] { display:inline-flex; min-width:205px; min-height:50px; align-items:center; justify-content:center; border:0!important; border-radius:999px!important; background:var(--cg-gold)!important; color:#fff!important; font-weight:800; text-decoration:none!important; box-shadow:0 8px 18px rgba(130,35,59,.24); } #cf_1 button[type="submit"]:hover, #cf_1 .cf-btn:hover, #cf_1 input[type="submit"]:hover { background:var(--cg-navy)!important; color:#fff!important; text-decoration:none!important; }
@media (max-width:575px) { #cf_1 .cf-content-wrap, #cf_1 .cf-form-wrap { padding:25px 20px; } #cf_1 .cf-control-group.cf-one-half { width:100%; } }

/* Correction structure réelle de l'espace client : une ligne par action, sans chevauchement. */
.hika_cpanel_icons, .hikashop_cpanel_icons { display:block!important; margin:32px auto!important; max-width:680px; }
.hika_cpanel_icons > div, .hikashop_cpanel_icons > div { float:none!important; clear:both!important; width:100%!important; height:auto!important; min-height:0!important; margin:0 0 12px!important; padding:0!important; }
.hika_cpanel_icons > div > a, .hikashop_cpanel_icons > div > a, .hika_cpanel_icons > a, .hikashop_cpanel_icons > a { display:flex!important; position:relative!important; align-items:center!important; min-height:72px!important; padding:12px 18px!important; border:1px solid #e2e8ef!important; border-radius:14px!important; background:#fff!important; color:var(--cg-navy)!important; box-shadow:0 5px 14px rgba(7,26,51,.06); text-decoration:none!important; overflow:hidden; }
.hika_cpanel_icons > div > a:before, .hikashop_cpanel_icons > div > a:before, .hika_cpanel_icons > a:before, .hikashop_cpanel_icons > a:before { content:""; width:5px; align-self:stretch; margin:-12px 16px -12px -18px; border-radius:14px 0 0 14px; background:var(--cg-gold); }
.hika_cpanel_icons > div > a:hover, .hikashop_cpanel_icons > div > a:hover, .hika_cpanel_icons > a:hover, .hikashop_cpanel_icons > a:hover { border-color:var(--cg-gold)!important; color:var(--cg-navy)!important; box-shadow:0 10px 22px rgba(7,26,51,.12); transform:translateX(3px); }
.hika_cpanel_icons img, .hikashop_cpanel_icons img { position:static!important; float:none!important; width:35px!important; height:35px!important; margin:0 15px 0 0!important; object-fit:contain; }.hika_cpanel_icons span, .hikashop_cpanel_icons span { position:static!important; float:none!important; width:auto!important; margin:0!important; color:var(--cg-navy)!important; font-size:16px!important; font-weight:800!important; line-height:1.2!important; }

/* Photos de fiches : galerie plus immersive et miniatures en rail. */
.hikashop_global_image_div { position:sticky; top:112px; overflow:hidden; }.hikashop_product_main_image { min-height:410px; display:flex; align-items:center; justify-content:center; background:#fff; }.hikashop_product_main_image img { max-height:520px; object-fit:contain; transition:transform .4s ease; }.hikashop_product_main_image:hover img { transform:scale(1.04); }.hikashop_small_image_div { overflow-x:auto; padding-bottom:5px; }.hikashop_small_image_div > * { flex:0 0 78px; }.hikashop_small_image_div img { width:72px!important; height:72px!important; object-fit:cover; }

/* Étapes de vente injectées devant le checkout HikaShop. */
.cg-checkout-timeline { display:flex; align-items:center; gap:0; max-width:1000px; margin:28px auto 32px; overflow:hidden; border:1px solid #dfe6ed; border-radius:14px; background:#fff; box-shadow:0 7px 17px rgba(7,26,51,.07); }.cg-checkout-timeline span { flex:1; display:flex; align-items:center; justify-content:center; gap:9px; min-height:58px; padding:10px; color:#66768b; font-size:13px; font-weight:800; }.cg-checkout-timeline b { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:#eaf0f5; color:var(--cg-navy); }.cg-checkout-timeline .is-current { background:var(--cg-navy); color:#fff; }.cg-checkout-timeline .is-current b { background:var(--cg-gold); color:var(--cg-navy); }@media(max-width:640px){.cg-checkout-timeline{overflow-x:auto}.cg-checkout-timeline span{min-width:135px}}

/* Choix de type de guirlande dans le devis : deux cartes photos réellement visibles. */
#cf_1 fieldset[data-name*="Type de guirlande"] .cf-list { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }#cf_1 fieldset[data-name*="Type de guirlande"] .cf-checkbox-group { position:relative; margin:0!important; }#cf_1 fieldset[data-name*="Type de guirlande"] input { position:absolute; opacity:0; pointer-events:none; }#cf_1 fieldset[data-name*="Type de guirlande"] label { display:flex!important; flex-direction:column; align-items:center; gap:10px; min-height:176px; margin:0!important; padding:13px!important; border:2px solid #e0e6ed; border-radius:13px; background:#fff; color:var(--cg-navy)!important; font-size:15px; font-weight:800; text-align:center; cursor:pointer; }#cf_1 fieldset[data-name*="Type de guirlande"] label img { display:block; width:100%!important; height:116px!important; object-fit:cover; border-radius:8px; }#cf_1 fieldset[data-name*="Type de guirlande"] input:checked + label { border-color:var(--cg-gold); box-shadow:0 0 0 3px rgba(214,162,74,.18); }@media(max-width:575px){#cf_1 fieldset[data-name*="Type de guirlande"] .cf-list{grid-template-columns:1fr}}

/* Espacement réel entre les cartes produit HikaShop, sans changer les colonnes configurées. */
.hikashop_products > .hk-row-fluid { display:block!important; margin:0 -10px!important; }
.hikashop_products > .hk-row-fluid:after { content:""; display:block; clear:both; }
.hikashop_products > .hk-row-fluid > .hikashop_product { float:left!important; display:block!important; box-sizing:border-box!important; margin:0!important; padding:0 10px 22px!important; }
@media (min-width:992px) { .hikashop_products > .hk-row-fluid > .hkc-md-3 { width:25%!important; } .hikashop_products > .hk-row-fluid > .hkc-md-4 { width:33.333333%!important; } }
@media (max-width:991px) { .hikashop_products > .hk-row-fluid > .hikashop_product { width:50%!important; } }
@media (max-width:575px) { .hikashop_products > .hk-row-fluid > .hikashop_product { width:100%!important; } }
.hikashop_products .hikashop_container, .hikashop_products .hikashop_subcontainer { height:100%; }
@media (max-width:991px) { .cg-univers, .univers-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575px) { .cg-univers, .univers-cards { grid-template-columns:1fr; gap:16px; } .cg-univers .cg-univers-card, .univers-cards .univers-card { min-height:280px; } }
@media (max-width:1199px) { .cg-call-header { margin-left:10px; padding:8px 12px 8px 8px; } }
@media (max-width:991px) { .cg-call-header { margin-left:9px; padding:7px 10px; } .cg-call-header small { display:none; } .cg-call-header span:last-child { font-size:0; } .cg-call-header span:last-child:after { content:"Rappel"; font-size:12px; } }
@media (max-width:575px) { .cg-call-header { margin-left:5px; } .cg-call-header span:last-child { display:none; } .cg-call-header { padding:7px; } }
@media (max-width:767px) { #sp-banniere .uk-slideshow-items { height:440px!important; min-height:440px!important; } #sp-banniere .uk-slideshow-items > li:after { background:linear-gradient(90deg,rgba(7,26,51,.84),rgba(7,26,51,.42)); } .cg-slider-content { left:25px; right:25px; width:auto; top:auto; bottom:42px; transform:none; padding:20px 20px 22px; } .cg-slider-content h2 { font-size:45px; } .cg-slider-content p { font-size:15px; margin-bottom:18px; } .cg-slider-kicker { font-size:10px; margin-bottom:10px; } #sp-banniere .uk-slidenav { display:none; } .cg-topbar { justify-content:flex-start; overflow-x:auto; } .cg-topbar-item { flex:none; padding:0 13px; } }

/*** Legacy LT TechShop rules retained for compatibility ***/
body {
    line-height: 1.9em;
}
.full-width {
  	padding-left: 5% !important;;
  	padding-right: 5% !important;;
}

/*** Header Area ***/
/* Header Menu */
#sp-header {
    box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
}
#sp-header > .container {
  	max-width: 100%;
    padding: 0 5%;
}
#sp-header.header-sticky {
    position: fixed;
    z-index: 9999;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
    font-size: 14px !important;
}

/* Canvas Menu */
.offcanvas-menu .offcanvas-inner .menu-child > li a {
    padding: 12px 10px !important;
    border-bottom: 1px solid rgba(197, 153, 153, 0.21);
    display: inherit;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 15px;
    font-weight: 500;
}

/*** Block Styles ***/
/* Button */
.sppb-btn-custom {
    padding: 14px 30px;
    padding-bottom: 10px;
    border-radius: 0px!important;
    border: 2px solid #000;
    margin-bottom: 30px;
    margin-right: 10px;
}
.sppb-btn-custom:hover {
    background-color: transparent;
}
.login .btn-primary {
    color: #fff !important;
}
.login .btn-primary {
    background: #222 !important;
    color: #fff !important;
}

/* Title */
.title h3 {
    font-size: 26px;
    color: #000;
    font-weight: 700;
    margin-left: 8px;
    text-decoration: none;
    margin-bottom: 30px;
    display: inline-block;
}

/* Contact Info */
.contact-info h2, .contact-info h3 {
	font-size: 23px;
}
button.btn.btn-primary.validate {
    color: #fff !important;
    border-radius: 0;
    padding: 10px 25px;
}
button.btn.btn-primary.validate:hover {
  	background: #000 !important;
}

/* Blog */
.jmm-item .jmm-image.mod-article-image {
  	overflow: hidden;
}
.jmm-image.mod-article-image img {
  	transform: scale(1);
  	-webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.jmm-item:hover .jmm-image.mod-article-image img {
  	transform: scale(1.12);
  	filter: grayscale(100%);
}

/* Bottom */
#sp-bottom .sp-module .sp-module-title, #sp-bottom h3 {
    font-size: 20px;
}
.sp-contact-footer .block-content .contact-us .content-contact {
    padding-left: 15pt;
}
.sp-contact-footer .block-content .contact-us .content-contact {
    border-left: 1px solid #d5d5d5;
}
.sp-contact-footer .block-content .contact-us {
    margin-bottom: 15pt;
}
.sp-contact-footer  strong {
  display:none!important;
}
.sp-contact-footer .block-content .contact-us .content-contact
    border-left-style: solid;
}
.sp-contact-footer .fa-envelope,
.sp-contact-footer .fa-home {
    margin-right:10px!important;
}
.sp-contact-footer .block-content .contact-us .title-content em {
    margin-right: 10px;
}
.shrewd_solution_icon ul li strong {
    display: none;
}
.shrewd_solution_icon {
    padding-top: 20px;
    padding-bottom: 20px;
}
.shrewd_solution_icon ul,
.shrewd_solution_icon ul li {
    display: inline-block!important;
    padding: 0px!important;
}
.shrewd_solution_icon ul li a {
    font-size: 16px;
    color: #ba4fce;
    background: #fefefe;
    height: 36px;
    width: 36px;
    line-height: 38px;
    text-align: center;
    border-radius: 50%;
    margin-right: 10px;
    -webkit-transition: .5s;
    transition: .5s;
    box-shadow: 0 0 15px rgba(228, 200, 200, 0.5);
    display: inline-block;
}
.shrewd_solution_icon ul li a i {}
.shrewd_solution_icon ul li a:hover,
.shrewd_solution_icon ul li:nth-child(2) a:hover,
.shrewd_solution_icon ul li:nth-child(3) a:hover,
.shrewd_solution_icon ul li:nth-child(4) a:hover,
.shrewd_solution_icon ul li:nth-child(5) a:hover,
.shrewd_solution_icon ul li:nth-child(6) a:hover{
    background: #bf0d3e; 
    color:#fff!important;
}
.shrewd_solution_icon ul li:nth-child(2) a{
    color: #706eff; 
    -webkit-transition: .5s; 
    transition: .5s;    
}
.shrewd_solution_icon ul li:nth-child(3) a{
    color: #cd3389;
    -webkit-transition: .5s;
    transition: .5s;    
}
.shrewd_solution_icon ul li:nth-child(4) a{
    color: #7045dd;
    -webkit-transition: .5s;
    transition: .5s;    
}
.shrewd_solution_icon ul li a em {
  	font-family: "Font Awesome 5 Brands" !important;
}
.solution_btn {
    margin: 40px 0 0;
}
.solution_btn .btns a {
    border-radius:50px; 
}
.solution_btn .btns a:hover{
    background:#bf0d3e;
    color:#fff; 
}

/* Footer */
#sp-footer {
  	border-top: 1px solid #2d2d2d;
}
#sp-footer .container-inner {
    padding: 30px 0 20px;
    border-top: none;
}

/*** Responsive Layout ***/
/* Tablet Landscape Layout */
@media (min-width: 980px) and (max-width: 1199px) {
    .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
        font-size: 14px !important;
    }
}
  
/* Mobile Standard Layout */
@media (max-width: 768px) {
	#sp-header, #sp-header .logo {
        height: 70px;
    }
  	#sp-footer p {
  		text-align: center;
	}
  	body #sp-header {
    	background: #fff;
      	padding: 0;
	}
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
  .slider-small h3 {
    	margin-bottom: 0 !important;
  }
  .slider-big h1 {
    	padding: 0 !important;
  }
}

/* General color defination
Color value depend on preset color that picking on template settings > Presets
*/

:root {
  --background-color: currentColor;
  --background: currentColor;
  --text-color: currentColor;
}
a.hikabtn.hikacart, .btn:hover, .page-item.active .page-link,
.slider-item .sppb-btn-success, .sp-simpleportfolio .sp-simpleportfolio-filter>ul>li.active>a,
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover,
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay,
.jmm-image.mod-article-image:before, .jmm-image.mod-article-image:after {
 	background-color: var(--background-color) !important;
}
.btn,
.article-list .article .readmore a:hover, .article-list .article .readmore a:active, .article-list .article .article-header h2 a:hover,
.offcanvas-menu .offcanvas-inner ul.menu >li.active a {
  	color: var(--text-color) !important; 
}
a.hikabtn.hikacart, .page-item.active .page-link, .hikashop_product:hover .hikashop_subcontainer.thumbnail,
.tabs .sppb-tab-content, .tabs .sppb-nav-tabs>li.active>a, .sp-simpleportfolio .sp-simpleportfolio-filter>ul>li.active>a, .btn-primary:hover {
  	border-color:var(--text-color)!important;
}

/* Version finale du tableau de bord client : une seule structure, sans icône héritée. */
.hika_cpanel_icons a.cg-client-link, .hikashop_cpanel_icons a.cg-client-link { display:flex!important; position:relative!important; align-items:center!important; min-height:72px!important; padding:12px 18px!important; border:1px solid #e2e8ef!important; border-radius:14px!important; background:#fff!important; color:var(--cg-navy)!important; box-shadow:0 5px 14px rgba(7,26,51,.06); text-decoration:none!important; overflow:hidden; }
.hika_cpanel_icons a.cg-client-link:before, .hikashop_cpanel_icons a.cg-client-link:before { content:""; width:5px; align-self:stretch; margin:-12px 16px -12px -18px; border-radius:14px 0 0 14px; background:var(--cg-gold); }
.hika_cpanel_icons a.cg-client-link:hover, .hikashop_cpanel_icons a.cg-client-link:hover { border-color:var(--cg-gold)!important; box-shadow:0 10px 22px rgba(7,26,51,.12); transform:translateX(3px); }
.cg-client-icon { display:grid!important; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:11px; background:var(--cg-navy); color:var(--cg-gold)!important; line-height:1!important; }
.cg-client-icon svg { display:block; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.cg-client-label { display:block!important; position:static!important; flex:1; width:auto!important; margin:0 15px!important; color:var(--cg-navy)!important; font-size:16px!important; font-weight:800!important; line-height:1.2!important; text-align:left!important; }
.cg-client-arrow { display:block!important; position:static!important; width:auto!important; margin:0!important; color:var(--cg-gold-dark)!important; font-size:30px!important; font-weight:400!important; line-height:1!important; }

/* Article « Déroulement de la location » : guide clair en étapes et options de retrait. */
.cg-rental-flow { max-width:1120px; margin:52px auto 75px; }.cg-rental-flow .article-header { max-width:820px; margin:0 auto 34px; text-align:center; }.cg-rental-flow .article-header h1 { color:var(--cg-navy); font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; line-height:1.08; }.cg-rental-flow .article-header h1:after { content:""; display:block; width:62px; height:3px; margin:18px auto 0; background:var(--cg-gold); }
.cg-rental-flow .uk-list-striped { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:0 0 42px!important; }.cg-rental-flow .uk-list-striped > li { display:flex; align-items:center; min-height:74px; margin:0!important; padding:16px 20px 16px 24px!important; border:1px solid #e1e8ee!important; border-radius:14px; background:#fff; box-shadow:0 5px 14px rgba(7,26,51,.05); color:var(--cg-navy); }.cg-rental-flow .uk-list-striped > li:before { content:""; flex:0 0 8px; width:8px; height:8px; margin-right:14px; border-radius:50%; background:var(--cg-gold); box-shadow:0 0 0 5px rgba(214,162,74,.15); }.cg-rental-flow .uk-list-striped h3 { margin:0!important; color:var(--cg-navy); font-size:16px!important; font-weight:800; line-height:1.35; }
.cg-rental-flow [id^="wk-grid"] { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; height:auto!important; }.cg-rental-flow [id^="wk-grid"] > div { transform:none!important; width:auto!important; }.cg-rental-flow .uk-card-default { height:100%; overflow:hidden; border:1px solid rgba(7,26,51,.09); border-radius:18px; background:#fff; box-shadow:0 12px 27px rgba(7,26,51,.08); }.cg-rental-flow .uk-card-default .uk-card-body { padding:30px!important; }.cg-rental-flow .uk-card-default h3 { color:var(--cg-navy); font-size:25px!important; }.cg-rental-flow .uk-card-default h3:after { content:""; display:block; width:38px; height:3px; margin-top:12px; background:var(--cg-gold); }.cg-rental-flow .uk-card-default ul { margin:17px 0 0; padding-left:20px; }.cg-rental-flow .uk-card-default li { margin-bottom:12px; color:#4c5c70; line-height:1.6; }.cg-rental-flow .uk-card-default li::marker { color:var(--cg-gold-dark); }.cg-rental-flow .uk-card-default img { display:block; width:100%; max-height:185px; margin:0 0 18px; border-radius:11px; object-fit:cover; }
@media(max-width:767px){.cg-rental-flow .uk-list-striped,.cg-rental-flow [id^="wk-grid"]{grid-template-columns:1fr}.cg-rental-flow .uk-card-default .uk-card-body{padding:22px!important;}}

/* Article « Durées de location » : lecture plus rapide et repères de retrait/livraison. */
.cg-rental-durations { max-width:1020px; margin:52px auto 75px; }.cg-rental-durations .article-header { text-align:center; margin:0 auto 34px; }.cg-rental-durations .article-header h1 { color:var(--cg-navy); font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; }.cg-rental-durations .article-header h1:after { content:""; display:block; width:62px; height:3px; margin:18px auto 0; background:var(--cg-gold); }
.cg-rental-durations [itemprop="articleBody"] > p { color:#4b5b70; font-size:16px; line-height:1.8; }.cg-rental-durations [itemprop="articleBody"] > p:first-child { margin:0 auto 30px; padding:22px 25px; border-left:4px solid var(--cg-gold); border-radius:0 13px 13px 0; background:#f8fafc; color:var(--cg-navy); font-size:18px; }.cg-rental-durations h2 { margin:46px 0 20px; padding:18px 22px; border-radius:14px; background:var(--cg-navy); color:#fff; font-size:25px; }.cg-rental-durations h2:before { content:"✦"; margin-right:11px; color:var(--cg-gold); }.cg-rental-durations h3 { margin:25px 0 10px; padding:14px 17px; border-left:4px solid var(--cg-gold); border-radius:0 10px 10px 0; background:#fff; color:var(--cg-navy); font-size:20px; box-shadow:0 5px 14px rgba(7,26,51,.06); }.cg-rental-durations h3 + p { margin-top:0; padding:5px 17px 17px 21px; border:1px solid #e3e9ef; border-top:0; border-radius:0 0 10px 10px; background:#fff; }.cg-rental-durations img { display:block; width:100%!important; height:auto!important; max-height:300px; margin:22px auto; border-radius:14px; object-fit:cover; box-shadow:0 10px 24px rgba(7,26,51,.12); }.cg-rental-durations a { color:var(--cg-gold-dark); font-weight:800; }.cg-rental-durations [itemprop="articleBody"] > p:last-child { padding:18px 21px; border:1px solid rgba(214,162,74,.5); border-radius:12px; background:#fffaf1; color:var(--cg-navy); }

/* Listes produits HikaShop : espace réel entre les cartes et boutons visibles. */
.hikashop_products > .hk-row-fluid > .hikashop_product { padding-bottom:30px!important; background:transparent!important; box-shadow:none!important; overflow:visible!important; }
.hikashop_products > .hk-row-fluid > .hikashop_product > .hikashop_container { height:100%; overflow:hidden; border:1px solid rgba(17,17,17,.10); border-radius:16px; background:#fff; box-shadow:0 10px 24px rgba(17,17,17,.10); transition:transform .22s ease,box-shadow .22s ease; }
.hikashop_products > .hk-row-fluid > .hikashop_product:hover > .hikashop_container { transform:translateY(-4px); box-shadow:0 17px 32px rgba(17,17,17,.16); }
.hikashop_products .hikashop_product a.hikabtn, .hikashop_products .hikashop_product a.hikacart, .hikashop_products .hikashop_product .hikashop_cart_input_button, .hikashop_products .hikashop_product input.hikashop_cart_input_button { border-color:#111!important; background:#111!important; color:var(--cg-gold)!important; box-shadow:none!important; text-decoration:none!important; }
.hikashop_products .hikashop_product a.hikabtn:hover, .hikashop_products .hikashop_product a.hikacart:hover, .hikashop_products .hikashop_product .hikashop_cart_input_button:hover, .hikashop_products .hikashop_product input.hikashop_cart_input_button:hover { border-color:var(--cg-gold)!important; background:var(--cg-gold)!important; color:#111!important; }

/* Page « Spécial Noël » : ambiance festive, chic et cohérente avec le Comptoir. */
body.itemid-7516 { background:#f7f4ee; }
body.itemid-7516 #sp-main-body { position:relative; padding:48px 0 74px; background:radial-gradient(circle at 8% 15%,rgba(198,161,91,.13),transparent 26%),radial-gradient(circle at 92% 10%,rgba(117,30,45,.10),transparent 24%),#f7f4ee; }
body.itemid-7516 .article-details { max-width:1160px; margin:auto; overflow:hidden; border:1px solid rgba(17,17,17,.10); border-radius:22px; background:#fff; box-shadow:0 18px 44px rgba(17,17,17,.10); }
body.itemid-7516 .article-header { position:relative; min-height:310px; display:flex; align-items:flex-end; margin:0!important; padding:44px clamp(26px,5vw,72px); overflow:hidden; background:linear-gradient(90deg,rgba(10,10,10,.91) 0%,rgba(10,10,10,.64) 55%,rgba(10,10,10,.18) 100%),url('/images/slide_decoration_noel_cdg_7.jpg') center/cover; }
body.itemid-7516 .article-header:after { content:'✦  ✦  ✦'; position:absolute; top:34px; right:clamp(24px,5vw,70px); color:var(--cg-gold); font-size:25px; letter-spacing:10px; text-shadow:0 2px 12px rgba(0,0,0,.5); }
body.itemid-7516 .article-header h1 { position:relative; z-index:1; max-width:760px; margin:0!important; color:#fff!important; font-size:clamp(33px,4.2vw,58px); font-weight:800; line-height:1.05; letter-spacing:-.045em; text-shadow:0 4px 20px rgba(0,0,0,.5); }
body.itemid-7516 .article-header h1:before { content:'Spécial Noël'; display:block; margin-bottom:15px; color:var(--cg-gold); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
body.itemid-7516 [itemprop="articleBody"] { padding:clamp(26px,4vw,56px); }
body.itemid-7516 [itemprop="articleBody"] > h2, body.itemid-7516 [itemprop="articleBody"] > h3 { color:#111; }
body.itemid-7516 [itemprop="articleBody"] > h2 { position:relative; margin:38px 0 18px; padding-left:19px; font-size:clamp(25px,3vw,34px); }
body.itemid-7516 [itemprop="articleBody"] > h2:before { content:''; position:absolute; top:.15em; bottom:.15em; left:0; width:5px; border-radius:999px; background:#751e2d; }
body.itemid-7516 [itemprop="articleBody"] > p { color:#3d3a37; font-size:16px; line-height:1.8; }
body.itemid-7516 [itemprop="articleBody"] > p:first-child { margin-top:0; padding:21px 24px; border-left:4px solid var(--cg-gold); border-radius:0 13px 13px 0; background:#fbf8f1; color:#25211d; font-size:18px; }
body.itemid-7516 .hikashop_products > .hk-row-fluid > .hikashop_product > .hikashop_container { border-color:rgba(117,30,45,.20); }
body.itemid-7516 .hikashop_products .hikashop_product a.hikabtn, body.itemid-7516 .hikashop_products .hikashop_product a.hikacart, body.itemid-7516 .hikashop_products .hikashop_product .hikashop_cart_input_button { border-color:#751e2d!important; background:#751e2d!important; color:#fff!important; }
body.itemid-7516 .hikashop_products .hikashop_product a.hikabtn:hover, body.itemid-7516 .hikashop_products .hikashop_product a.hikacart:hover, body.itemid-7516 .hikashop_products .hikashop_product .hikashop_cart_input_button:hover { border-color:var(--cg-gold)!important; background:var(--cg-gold)!important; color:#111!important; }
@media(max-width:767px){body.itemid-7516 #sp-main-body{padding:24px 0 45px}body.itemid-7516 .article-details{border-radius:0}body.itemid-7516 .article-header{min-height:245px;padding:32px 24px}body.itemid-7516 .article-header:after{top:20px;right:20px;font-size:18px;letter-spacing:5px}body.itemid-7516 [itemprop="articleBody"]{padding:26px 21px}}

/* Méga-menu Vente : catégories en deux colonnes avec aperçu produit. */
@media (min-width:992px) {
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown { width:min(650px,calc(100vw - 50px))!important; padding:14px!important; border-top:3px solid var(--cg-gold); border-radius:0 0 16px 16px; background:#fff; }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li { position:relative; min-height:70px; overflow:visible; border:1px solid #e6e3dc; border-radius:10px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li:before { content:""; position:absolute; top:0; bottom:0; left:0; width:58px; border-radius:9px 0 0 9px; background:linear-gradient(90deg,rgba(17,17,17,.25),rgba(17,17,17,.03)),var(--cg-sale-image) center/cover no-repeat; }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li:hover { z-index:3; border-color:var(--cg-gold); box-shadow:0 8px 18px rgba(17,17,17,.13); transform:translateY(-2px); }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li > a { display:flex!important; align-items:center; min-height:68px; padding:10px 10px 10px 69px!important; color:#111!important; font-size:12px!important; font-weight:800; line-height:1.2; text-transform:none!important; white-space:normal; }
  .sp-megamenu-parent > li.cg-sale-menu > .sp-dropdown > .sp-dropdown-inner > .sp-dropdown-items > li > a:hover { color:var(--cg-gold-dark)!important; }
}

/* Fiches produit HikaShop : bouton « Ajouter au panier » toujours visible.
   Cette règle finale neutralise l'ancien fond basé sur currentColor, qui
   produisait un bouton blanc sur blanc selon le preset du template. */
.hikashop_product_page a.hikabtn.hikacart,
.hikashop_product_page button.hikabtn.hikacart,
.hikashop_product_page input.hikashop_cart_input_button,
.hikashop_product_page .hikashop_cart_input_button {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1px solid #111!important;
  background:#111!important;
  color:var(--cg-gold)!important;
  -webkit-text-fill-color:var(--cg-gold)!important;
  box-shadow:0 8px 18px rgba(17,17,17,.18)!important;
  opacity:1!important;
  text-decoration:none!important;
}
.hikashop_product_page a.hikabtn.hikacart:hover,
.hikashop_product_page a.hikabtn.hikacart:focus,
.hikashop_product_page button.hikabtn.hikacart:hover,
.hikashop_product_page button.hikabtn.hikacart:focus,
.hikashop_product_page input.hikashop_cart_input_button:hover,
.hikashop_product_page input.hikashop_cart_input_button:focus,
.hikashop_product_page .hikashop_cart_input_button:hover,
.hikashop_product_page .hikashop_cart_input_button:focus {
  border-color:var(--cg-gold)!important;
  background:var(--cg-gold)!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  outline:0;
}

/* V34 — refonte complète et stabilisation des fiches produit HikaShop. */
body.com-hikashop.view-product #sp-main-body {
  padding:64px 0 82px;
  background:linear-gradient(180deg,#faf9f6 0,#f5f3ee 100%);
}
body.com-hikashop.view-product .hikashop_product_page {
  width:min(1220px,calc(100% - 36px));
  max-width:none;
  margin:0 auto;
}

/* Titre produit et variante sélectionnée. */
body.com-hikashop.view-product .hikashop_product_top_part {
  display:block!important;
  min-height:0!important;
  margin:0 0 28px!important;
  padding:30px 34px!important;
  overflow:visible!important;
  border:1px solid rgba(17,17,17,.08)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(17,17,17,.08)!important;
}
body.com-hikashop.view-product .hikashop_product_top_part h1 {
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#111!important;
  font-size:0!important;
  line-height:1!important;
}
body.com-hikashop.view-product .hikashop_product_name_main {
  display:block!important;
  margin:0!important;
  color:#111!important;
  font-size:clamp(30px,3.25vw,48px)!important;
  font-weight:800!important;
  line-height:1.07!important;
  letter-spacing:-.045em!important;
}
body.com-hikashop.view-product .hikashop_product_variant_subname {
  display:flex!important;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:8px;
  margin-top:15px!important;
  padding:8px 13px!important;
  border:1px solid rgba(198,161,91,.42);
  border-radius:999px;
  background:#fbf7ee;
  color:#6f5529!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.035em!important;
}
body.com-hikashop.view-product .hikashop_product_variant_subname:before {
  content:"Formule";
  color:#111;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Deux colonnes fiables : galerie à gauche, achat et informations à droite. */
body.com-hikashop.view-product .hikashop_product_page > .hk-row-fluid {
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr)!important;
  grid-template-rows:auto!important;
  gap:30px!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  align-items:start!important;
}
body.com-hikashop.view-product #hikashop_product_left_part,
body.com-hikashop.view-product #hikashop_product_right_part {
  position:relative!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
/* HikaShop place normalement .hkc-md-6 sur six pistes de grille.
   On neutralise explicitement ce placement pour conserver 2 vraies colonnes. */
body.com-hikashop.view-product #hikashop_product_left_part {
  grid-column:1 / 2!important;
  grid-row:1!important;
}
body.com-hikashop.view-product #hikashop_product_right_part {
  grid-column:2 / 3!important;
  grid-row:1!important;
}

/* Galerie : cadre constant, aucune déformation et miniatures uniformes. */
body.com-hikashop.view-product #hikashop_product_image_main {
  position:relative!important;
  top:auto!important;
  width:100%!important;
  margin:0!important;
  padding:14px!important;
  overflow:visible!important;
  border:1px solid rgba(17,17,17,.09);
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(17,17,17,.08);
}
body.com-hikashop.view-product .hikashop_product_main_image {
  position:relative!important;
  display:flex!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1/1;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:14px!important;
  background:radial-gradient(circle at 50% 35%,#fff 0,#f4f1ea 100%)!important;
}
body.com-hikashop.view-product .hikashop_product_main_image_subdiv,
body.com-hikashop.view-product .hikashop_product_main_image_subdiv > a {
  display:flex!important;
  width:100%!important;
  height:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
body.com-hikashop.view-product .hikashop_product_main_image img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev,
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next {
  display:none!important;
}
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev_active,
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next_active {
  position:absolute!important;
  z-index:6;
  top:43%;
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(17,17,17,.12);
  border-radius:50%;
  background:rgba(255,255,255,.94)!important;
  color:#111!important;
  font-size:0!important;
  box-shadow:0 8px 20px rgba(17,17,17,.14);
  transform:translateY(-50%);
}
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev_active { left:27px!important; }
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next_active { right:27px!important; }
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev_active:before,
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next_active:before {
  font-size:29px;
  font-weight:400;
  line-height:1;
}
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev_active:before { content:"‹"; }
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next_active:before { content:"›"; }
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_prev_active:hover,
body.com-hikashop.view-product #hikashop_product_image_main .hikashop_slide_next_active:hover {
  border-color:var(--cg-gold)!important;
  background:var(--cg-gold)!important;
}
body.com-hikashop.view-product .hikashop_small_image_div {
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:76px;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
  padding:12px 2px 2px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin;
  scrollbar-color:var(--cg-gold) #ece8df;
}
body.com-hikashop.view-product .hikashop_small_image_div > a {
  display:block!important;
  width:76px!important;
  height:76px!important;
  margin:0!important;
  padding:3px!important;
  overflow:hidden;
  border:1px solid #e1ddd4!important;
  border-radius:10px!important;
  background:#fff;
}
body.com-hikashop.view-product .hikashop_small_image_div > a.hikashop_active_thumbnail {
  border-color:var(--cg-gold)!important;
  box-shadow:0 0 0 2px rgba(198,161,91,.22);
}
body.com-hikashop.view-product .hikashop_small_image_div img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:7px!important;
  object-fit:cover!important;
}

/* Bloc d'achat : prix, fabricant, durée et bouton clairement hiérarchisés. */
body.com-hikashop.view-product #hikashop_product_right_part {
  padding:28px!important;
  border:1px solid rgba(17,17,17,.09);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(17,17,17,.08);
}
body.com-hikashop.view-product #hikashop_product_price_main {
  display:flex!important;
  width:100%!important;
  min-height:0!important;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin:0 0 18px!important;
  padding:17px 19px!important;
  border:1px solid rgba(198,161,91,.34)!important;
  border-left:5px solid var(--cg-gold)!important;
  border-radius:0 14px 14px 0!important;
  background:#fbf7ee!important;
  line-height:1.1!important;
}
body.com-hikashop.view-product #hikashop_product_price_main:before {
  content:"Tarif de location";
  color:#6e614b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.com-hikashop.view-product #hikashop_product_price_main .hikashop_product_price {
  color:#111!important;
  font-size:32px!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:-.035em;
}
body.com-hikashop.view-product #hikashop_product_right_part > a:first-of-type {
  display:inline-flex!important;
  align-items:center;
  margin:5px 0 19px 5px!important;
  color:#6f5529!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
}
body.com-hikashop.view-product #hikashop_product_right_part > br { display:none!important; }
body.com-hikashop.view-product #hikashop_product_characteristics {
  margin:0 0 20px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.com-hikashop.view-product .hikashop_product_characteristics_table {
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border:1px solid #e4e1da;
  border-radius:13px;
  background:#faf9f6;
}
body.com-hikashop.view-product .hikashop_product_characteristics_table td {
  padding:12px!important;
  border:0!important;
  vertical-align:middle!important;
}
body.com-hikashop.view-product .hikashop_product_characteristics_table td:first-child {
  width:38%;
  color:#292929!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.com-hikashop.view-product .hikashop_product_characteristics_table select {
  width:100%!important;
  min-height:50px!important;
  padding:10px 40px 10px 13px!important;
  border:1px solid #d9d4ca!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
body.com-hikashop.view-product #hikashop_product_quantity_main {
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 26px!important;
  align-items:stretch!important;
}
body.com-hikashop.view-product #hikashop_product_quantity_main > .hikashop_product_stock_count { display:none!important; }
body.com-hikashop.view-product #hikashop_product_quantity_main .hikashop_quantity_form {
  width:82px!important;
  height:auto!important;
}
body.com-hikashop.view-product #hikashop_product_quantity_main select,
body.com-hikashop.view-product #hikashop_product_quantity_main .hikashop_product_quantity_field {
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  border:1px solid #d9d4ca!important;
  border-radius:11px!important;
  background-color:#fff!important;
  color:#111!important;
  text-align:center;
}
body.com-hikashop.view-product #hikashop_product_quantity_main a.hikabtn.hikacart,
body.com-hikashop.view-product #hikashop_product_quantity_main button.hikabtn.hikacart,
body.com-hikashop.view-product #hikashop_product_quantity_main .hikashop_cart_input_button {
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:12px 20px!important;
  border-radius:11px!important;
  font-size:13px!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
}
body.com-hikashop.view-product #hikashop_product_custom_info_main {
  margin:0!important;
  padding:0!important;
  border:1px solid #e5e1d8;
  border-radius:14px;
  background:#faf9f6!important;
  overflow:hidden;
}
body.com-hikashop.view-product #hikashop_product_custom_info_main > h4 {
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e5e1d8;
  background:#111;
  color:#fff!important;
  font-size:19px!important;
  font-weight:800!important;
}
body.com-hikashop.view-product .hikashop_product_custom_info_main_table {
  width:100%!important;
  margin:0!important;
  background:transparent!important;
}
body.com-hikashop.view-product .hikashop_product_custom_info_main_table td {
  padding:11px 15px!important;
  border:0!important;
  border-bottom:1px solid #e5e1d8!important;
  color:#363636!important;
  font-size:13px!important;
  line-height:1.55!important;
  vertical-align:top!important;
}
body.com-hikashop.view-product .hikashop_product_custom_info_main_table tr:last-child td { border-bottom:0!important; }
body.com-hikashop.view-product .hikashop_product_custom_info_main_table td:first-child {
  width:35%;
  color:#111!important;
  font-weight:800!important;
}

/* Description et produits complémentaires : vraie grille, images cadrées. */
body.com-hikashop.view-product .hikashop_product_bottom_part {
  margin-top:34px!important;
  padding:34px!important;
  overflow:visible!important;
  border:1px solid rgba(17,17,17,.08);
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(17,17,17,.07)!important;
}
body.com-hikashop.view-product .hikashop_product_description_main {
  color:#3c3c3c!important;
  font-size:16px!important;
  line-height:1.75!important;
}
body.com-hikashop.view-product .hikashop_product_description_main > h2,
body.com-hikashop.view-product .hikashop_product_description_main > h3 {
  margin:18px 0 25px!important;
  color:#111!important;
  font-size:clamp(26px,3vw,36px)!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.035em;
}
body.com-hikashop.view-product .hikashop_product_description_main > h2:after,
body.com-hikashop.view-product .hikashop_product_description_main > h3:after {
  content:"";
  display:block;
  width:52px;
  height:3px;
  margin-top:13px;
  border-radius:999px;
  background:var(--cg-gold);
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  height:auto!important;
  margin:0 0 42px!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid:after { display:none!important; }
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid > .hikashop_product {
  display:block!important;
  float:none!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e4e0d7!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 9px 22px rgba(17,17,17,.07)!important;
  transform:none;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid > .hikashop_product:hover {
  border-color:rgba(198,161,91,.72)!important;
  box-shadow:0 15px 30px rgba(17,17,17,.12)!important;
  transform:translateY(-4px);
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_listing_img_title {
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  flex-direction:column;
  margin:0!important;
  padding:12px!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_image,
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_image_subdiv {
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1;
  margin:0!important;
  overflow:hidden!important;
  border-radius:11px!important;
  background:#f6f4ef!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part img.hikashop_product_listing_image {
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_price_full {
  display:block!important;
  width:100%!important;
  margin:14px 0 5px!important;
  color:#6f5529!important;
  text-align:left!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_price {
  color:#6f5529!important;
  font-size:19px!important;
  font-weight:900!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_name {
  display:block!important;
  width:100%!important;
  min-height:48px;
  margin:0 0 13px!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-align:left!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_product_name a {
  color:#111!important;
  font-size:inherit!important;
  text-decoration:none!important;
}
body.com-hikashop.view-product .hikashop_product_bottom_part a.hikabtn.hikacart {
  width:100%!important;
  min-height:43px!important;
  margin:auto 0 0!important;
  padding:10px 12px!important;
  border-radius:9px!important;
  font-size:11px!important;
  letter-spacing:.05em!important;
  text-align:center!important;
  text-transform:uppercase;
}
body.com-hikashop.view-product .hikashop_product_description_main img {
  max-width:100%!important;
  height:auto;
}
body.com-hikashop.view-product .hikashop_product_description_main .uk-card,
body.com-hikashop.view-product .hikashop_product_description_main .uk-inline-clip {
  overflow:hidden;
  border-radius:14px;
}

/* Tablette et mobile : empilement net et sans débordement horizontal. */
@media (max-width:991px) {
  body.com-hikashop.view-product #sp-main-body { padding:38px 0 62px; }
  body.com-hikashop.view-product .hikashop_product_page > .hk-row-fluid {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:24px!important;
  }
  body.com-hikashop.view-product #hikashop_product_left_part {
    grid-column:1!important;
    grid-row:1!important;
  }
  body.com-hikashop.view-product #hikashop_product_right_part {
    grid-column:1!important;
    grid-row:2!important;
  }
  body.com-hikashop.view-product #hikashop_product_right_part { padding:24px!important; }
  body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:575px) {
  body.com-hikashop.view-product #sp-main-body { padding:24px 0 45px; }
  body.com-hikashop.view-product .hikashop_product_page { width:min(100% - 22px,1220px); }
  body.com-hikashop.view-product .hikashop_product_top_part {
    margin-bottom:18px!important;
    padding:22px 19px!important;
    border-radius:15px!important;
  }
  body.com-hikashop.view-product .hikashop_product_name_main {
    font-size:clamp(26px,8.2vw,36px)!important;
  }
  body.com-hikashop.view-product .hikashop_product_variant_subname {
    width:100%;
    border-radius:10px;
  }
  body.com-hikashop.view-product #hikashop_product_image_main,
  body.com-hikashop.view-product #hikashop_product_right_part,
  body.com-hikashop.view-product .hikashop_product_bottom_part {
    padding:14px!important;
    border-radius:15px!important;
  }
  body.com-hikashop.view-product #hikashop_product_right_part { padding:19px!important; }
  body.com-hikashop.view-product .hikashop_product_characteristics_table,
  body.com-hikashop.view-product .hikashop_product_characteristics_table tbody,
  body.com-hikashop.view-product .hikashop_product_characteristics_table tr,
  body.com-hikashop.view-product .hikashop_product_characteristics_table td {
    display:block!important;
    width:100%!important;
  }
  body.com-hikashop.view-product .hikashop_product_characteristics_table td:first-child {
    padding-bottom:3px!important;
  }
  body.com-hikashop.view-product .hikashop_product_characteristics_table td:last-child {
    padding-top:5px!important;
  }
  body.com-hikashop.view-product #hikashop_product_quantity_main {
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  body.com-hikashop.view-product #hikashop_product_quantity_main .hikashop_quantity_form { width:72px!important; }
  body.com-hikashop.view-product .hikashop_product_custom_info_main_table td {
    display:block!important;
    width:100%!important;
    padding:8px 12px!important;
  }
  body.com-hikashop.view-product .hikashop_product_custom_info_main_table td:first-child {
    padding-top:12px!important;
    padding-bottom:2px!important;
    border-bottom:0!important;
  }
  body.com-hikashop.view-product .hikashop_product_custom_info_main_table td:last-child {
    padding-top:2px!important;
    padding-bottom:12px!important;
  }
  body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:30px!important;
  }
  body.com-hikashop.view-product .hikashop_product_description_main > h2,
  body.com-hikashop.view-product .hikashop_product_description_main > h3 {
    font-size:25px!important;
  }
}

/* V36 — produits complémentaires : quatre cartes par ligne sur ordinateur. */
body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid,
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:18px!important;
  width:100%!important;
  height:auto!important;
  margin:0 0 42px!important;
}
body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid:before,
body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid:after,
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid:before,
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid:after {
  display:none!important;
}
body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid > .hikashop_product,
body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid > .hikashop_product {
  grid-column:auto!important;
  grid-row:auto!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  box-sizing:border-box!important;
}

@media (max-width:991px) {
  body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid,
  body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:575px) {
  body.com-hikashop.view-product #hikashop_submodules .hikashop_products > .hk-row-fluid,
  body.com-hikashop.view-product .hikashop_product_bottom_part .hikashop_products > .hk-row-fluid {
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* =========================================================
   Projet Mairie de Montaigu — proposition illuminations 2026
   Page ciblée uniquement via la classe ajoutée par custom.js.
   ========================================================= */
html.cg-mtg-no-scroll { overflow:hidden; }
body.cg-montaigu-project #sp-main-body { padding:0!important; background:#fff; overflow:hidden; }
/* Montaigu : la proposition occupe désormais toute la largeur de la fenêtre,
   même si le template Helix place normalement l’article dans un .container Bootstrap. */
body.cg-montaigu-project #sp-main-body > .container { width:100%!important; max-width:none!important; padding-left:0!important; padding-right:0!important; }
body.cg-montaigu-project #sp-main-body > .container > .container-inner { width:100%!important; max-width:none!important; }
body.cg-montaigu-project #sp-main-body .row { margin-left:0!important; margin-right:0!important; }
body.cg-montaigu-project #sp-main-body #sp-component { width:100%!important; max-width:none!important; flex:0 0 100%!important; padding-left:0!important; padding-right:0!important; }
.cg-montaigu-page { width:100vw!important; max-width:none!important; margin:0 0 0 50%!important; transform:translateX(-50%); overflow:hidden; border:0; border-radius:0; background:#fff; box-shadow:none; }
.cg-montaigu-page > .article-header, .cg-montaigu-page > .article-info { display:none!important; }
.cg-montaigu-page [itemprop="articleBody"] { padding:0!important; margin:0!important; }
.cg-mtg-proposal { --mtg-black:#111; --mtg-charcoal:#232323; --mtg-gold:#c6a15b; --mtg-gold-soft:#eadfc7; --mtg-cream:#f7f5f0; --mtg-white:#fff; color:#222; background:#fff; font-family:"Montserrat",Arial,sans-serif; }
.cg-mtg-proposal *, .cg-mtg-proposal *:before, .cg-mtg-proposal *:after { box-sizing:border-box; }
.cg-mtg-proposal h1, .cg-mtg-proposal h2, .cg-mtg-proposal h3, .cg-mtg-proposal p { margin-top:0; }
.cg-mtg-proposal img { display:block; width:100%; }
.cg-mtg-label { display:inline-block; color:var(--mtg-gold); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.cg-mtg-year { display:inline-grid; min-width:80px; min-height:36px; margin-right:12px; padding:0 16px; place-items:center; border-radius:999px; background:#111; color:#fff; font-size:13px; font-weight:900; letter-spacing:.12em; }
.cg-mtg-year-light { background:#fff; color:#111; }
.cg-mtg-number { display:inline-grid; width:42px; height:42px; margin:0 12px 18px 0; place-items:center; border:1px solid rgba(198,161,91,.62); border-radius:50%; color:var(--mtg-gold); font-size:12px; font-weight:900; }

.cg-mtg-hero { position:relative; min-height:570px; overflow:hidden; background:#111; isolation:isolate; }
.cg-mtg-hero > img { position:absolute; inset:0; z-index:-3; height:100%; object-fit:cover; object-position:center 50%; transform:scale(1.015); }
.cg-mtg-hero-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.66) 43%,rgba(0,0,0,.23) 76%,rgba(0,0,0,.12) 100%); }
.cg-mtg-hero:after { content:""; position:absolute; left:0; bottom:0; width:100%; height:150px; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.54),transparent); }
.cg-mtg-hero-content { width:min(750px,70%); padding:84px 64px 76px; color:#fff; }
.cg-mtg-kicker { display:inline-flex; align-items:center; gap:12px; margin-bottom:26px; color:var(--mtg-gold-soft); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.cg-mtg-kicker:before { content:""; width:38px; height:2px; background:var(--mtg-gold); }
.cg-mtg-hero h1 { margin-bottom:23px; color:#fff!important; font-size:clamp(44px,5.4vw,76px); font-weight:850; line-height:.97; letter-spacing:-.052em; text-shadow:0 8px 28px rgba(0,0,0,.28); }
.cg-mtg-hero h1 em { color:var(--mtg-gold-soft); font-style:normal; font-weight:650; }
.cg-mtg-hero p { max-width:650px; margin-bottom:34px; color:rgba(255,255,255,.91)!important; font-size:18px; line-height:1.65; }
.cg-mtg-hero-years { display:flex; align-items:center; gap:15px; color:rgba(255,255,255,.68); font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.cg-mtg-hero-years span.is-active { color:#fff; }
.cg-mtg-hero-years i { width:55px; height:1px; background:rgba(255,255,255,.35); }

.cg-mtg-section { padding:78px 64px; }
.cg-mtg-section-head { display:grid; grid-template-columns:.75fr 1.18fr 1fr; gap:42px; align-items:start; margin-bottom:42px; }
.cg-mtg-section-head > div { display:flex; align-items:center; padding-top:5px; }
.cg-mtg-section-head h2 { margin:0; color:#111!important; font-size:clamp(34px,3.3vw,52px); font-weight:850; line-height:1.02; letter-spacing:-.045em; }
.cg-mtg-section-head > p { margin:0; color:#626262!important; font-size:15px; line-height:1.75; }

.cg-mtg-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin:0 0 32px; }
.cg-mtg-stat { min-height:220px; padding:27px 24px; border:1px solid #e9e5dc; border-radius:18px; background:#fbfaf7; }
.cg-mtg-stat strong { display:block; margin-bottom:11px; color:#111; font-size:36px; line-height:1; letter-spacing:-.05em; }
.cg-mtg-stat strong small { color:var(--mtg-gold); font-size:.52em; font-weight:900; }
.cg-mtg-stat > span { display:block; margin-bottom:14px; color:#111; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.cg-mtg-stat p { margin:0; color:#737373!important; font-size:13px; line-height:1.6; }
.cg-mtg-stat-budget { border-color:#111; background:#111; }
.cg-mtg-stat-budget strong, .cg-mtg-stat-budget > span { color:#fff; }
.cg-mtg-stat-budget p { color:rgba(255,255,255,.68)!important; }

.cg-mtg-note { display:grid; grid-template-columns:190px 1fr; gap:30px; margin:0 0 65px; padding:30px 32px; border-left:5px solid var(--mtg-gold); border-radius:0 16px 16px 0; background:#f1eadc; }
.cg-mtg-note > span { color:#785f2d; font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cg-mtg-note h3 { margin:0 0 9px; color:#111!important; font-size:22px; font-weight:850; letter-spacing:-.02em; }
.cg-mtg-note p { margin:0; color:#5f5748!important; font-size:14px; line-height:1.72; }

.cg-mtg-gallery-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:22px; padding-bottom:17px; border-bottom:1px solid #ebe7df; }
.cg-mtg-gallery-head span { color:var(--mtg-gold); font-size:11px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.cg-mtg-gallery-head h3 { margin:0; color:#111!important; font-size:29px; font-weight:850; letter-spacing:-.035em; }
.cg-mtg-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:185px; gap:10px; }
.cg-mtg-photo { position:relative; display:block; width:100%; height:100%; margin:0; padding:0; overflow:hidden; border:0; border-radius:12px; background:#111; cursor:zoom-in; }
.cg-mtg-photo:after { content:"＋"; position:absolute; right:10px; bottom:10px; display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:rgba(17,17,17,.76); color:#fff; font-size:18px; opacity:0; transform:translateY(5px); transition:.2s ease; }
.cg-mtg-photo:hover:after { opacity:1; transform:none; }
.cg-mtg-photo img { height:100%!important; object-fit:cover; transition:transform .45s ease,filter .45s ease; }
.cg-mtg-photo:hover img { transform:scale(1.035); filter:brightness(.9); }
.cg-mtg-photo-wide { grid-column:span 2; }
.cg-mtg-photo-tall { grid-row:span 2; }
.cg-mtg-gallery-2025 .cg-mtg-photo:nth-child(5) img, .cg-mtg-gallery-2025 .cg-mtg-photo:nth-child(7) img { object-position:center 58%; }

.cg-mtg-transition { display:grid; grid-template-columns:1.05fr .95fr; min-height:560px; background:#111; color:#fff; }
.cg-mtg-transition-image { min-height:560px; overflow:hidden; }
.cg-mtg-transition-image img { height:100%!important; object-fit:cover; }
.cg-mtg-transition-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:65px 58px; }
.cg-mtg-transition-copy .cg-mtg-label { margin:16px 0 19px; }
.cg-mtg-transition-copy h2 { margin:0 0 22px; color:#fff!important; font-size:clamp(37px,4vw,58px); font-weight:850; line-height:1; letter-spacing:-.05em; }
.cg-mtg-transition-copy p { margin:0; color:rgba(255,255,255,.73)!important; font-size:15px; line-height:1.75; }

.cg-mtg-2026 { padding-top:76px; background:#fff; }
.cg-mtg-proposal-block { display:grid; grid-template-columns:.82fr 1.18fr; gap:48px; align-items:center; margin-bottom:70px; }
.cg-mtg-proposal-copy h2, .cg-mtg-photobooth-copy h2 { margin:0 0 20px; color:#111!important; font-size:clamp(35px,3.6vw,54px); font-weight:850; line-height:1; letter-spacing:-.05em; }
.cg-mtg-proposal-copy > p, .cg-mtg-photobooth-copy > p { color:#5f5f5f!important; font-size:15px; line-height:1.75; }
.cg-mtg-detail { padding-top:22px; border-top:1px solid #eae5db; }
.cg-mtg-sizes { display:flex; flex-wrap:wrap; gap:10px; margin:25px 0 24px; }
.cg-mtg-sizes span { display:flex; min-width:93px; min-height:70px; flex-direction:column; align-items:center; justify-content:center; border:1px solid #ded7c9; border-radius:14px; background:#faf8f3; color:#7d725f; font-size:11px; font-weight:800; text-transform:uppercase; }
.cg-mtg-sizes b { display:block; color:#111; font-size:20px; line-height:1.1; }
.cg-mtg-balls-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:190px 190px; gap:9px; }
.cg-mtg-balls-grid .cg-mtg-photo { border-radius:14px; }
.cg-mtg-balls-main { grid-column:span 2; grid-row:span 2; }

.cg-mtg-duo-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 0 70px; }
.cg-mtg-feature-card { position:relative; min-height:340px; overflow:hidden; padding:34px 34px 31px; border:1px solid #e6e0d5; border-radius:20px; background:linear-gradient(145deg,#fbfaf7,#f3efe7); }
.cg-mtg-feature-card .cg-mtg-number { position:absolute; top:28px; right:28px; margin:0; }
.cg-mtg-feature-card h3 { margin:22px 0 12px; color:#111!important; font-size:29px; font-weight:850; letter-spacing:-.035em; }
.cg-mtg-feature-card p { max-width:520px; margin-bottom:22px; color:#67625b!important; font-size:14px; line-height:1.7; }
.cg-mtg-pill { display:inline-flex; min-height:32px; align-items:center; padding:0 13px; border-radius:999px; background:#111; color:#fff; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.cg-mtg-feature-icon { position:relative; width:95px; height:82px; }
.cg-mtg-tree-icon i { position:absolute; left:50%; width:0; height:0; transform:translateX(-50%); border-left-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-color:transparent; border-right-color:transparent; border-bottom-color:#111; }
.cg-mtg-tree-icon i:nth-child(1) { top:0; border-left-width:25px; border-right-width:25px; border-bottom-width:34px; }
.cg-mtg-tree-icon i:nth-child(2) { top:22px; border-left-width:34px; border-right-width:34px; border-bottom-width:42px; }
.cg-mtg-tree-icon i:nth-child(3) { top:45px; border-left-width:43px; border-right-width:43px; border-bottom-width:48px; }
.cg-mtg-tree-icon:after { content:""; position:absolute; left:45px; bottom:-9px; width:7px; height:18px; background:var(--mtg-gold); }
.cg-mtg-tent-icon { width:110px; }
.cg-mtg-tent-icon:before { content:""; position:absolute; left:6px; bottom:7px; width:97px; height:58px; border:4px solid #111; border-top:0; }
.cg-mtg-tent-icon:after { content:""; position:absolute; left:11px; top:5px; width:87px; height:62px; border-top:4px solid #111; transform:skewY(-27deg); transform-origin:left top; }
.cg-mtg-tent-icon i { position:absolute; left:54px; bottom:7px; width:4px; height:65px; background:var(--mtg-gold); }

.cg-mtg-photobooth { display:grid; grid-template-columns:1.12fr .88fr; gap:45px; align-items:center; margin-bottom:70px; padding:34px; border-radius:24px; background:#111; }
.cg-mtg-photobooth-images { display:grid; grid-template-columns:1fr .42fr; gap:10px; min-height:430px; }
.cg-mtg-photobooth-images .cg-mtg-photo { border-radius:15px; }
.cg-mtg-photo-booth-main img { object-position:center; }
.cg-mtg-photo-booth-small img { object-position:center; }
.cg-mtg-photobooth-copy { padding:16px 18px 16px 5px; }
.cg-mtg-photobooth-copy h2 { color:#fff!important; }
.cg-mtg-photobooth-copy > p { color:rgba(255,255,255,.7)!important; }
.cg-mtg-checks { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.cg-mtg-checks span { position:relative; padding:9px 12px 9px 30px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:rgba(255,255,255,.88); background:rgba(255,255,255,.06); font-size:10px; font-weight:800; letter-spacing:.02em; }
.cg-mtg-checks span:before { content:"✓"; position:absolute; left:11px; top:50%; color:var(--mtg-gold); font-weight:900; transform:translateY(-50%); }

.cg-mtg-options { margin-bottom:65px; padding:45px; border:1px solid #e9e3d7; border-radius:22px; background:#f8f5ef; }
.cg-mtg-options-head { display:grid; grid-template-columns:.45fr 1fr 1fr; gap:28px; align-items:start; margin-bottom:28px; }
.cg-mtg-options-head > span { color:var(--mtg-gold); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cg-mtg-options-head h2 { margin:0; color:#111!important; font-size:31px; font-weight:850; line-height:1.1; letter-spacing:-.04em; }
.cg-mtg-options-head p { margin:0; color:#6d665b!important; font-size:13px; line-height:1.7; }
.cg-mtg-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cg-mtg-option { display:flex; align-items:center; gap:20px; padding:23px; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(17,17,17,.05); }
.cg-mtg-option-icon { display:grid; width:58px; height:58px; flex:0 0 58px; place-items:center; border-radius:50%; background:#111; color:var(--mtg-gold); font-size:25px; }
.cg-mtg-option h3 { margin:0 0 5px; color:#111!important; font-size:18px; font-weight:850; }
.cg-mtg-option p { margin:0; color:#76716b!important; font-size:12px; line-height:1.55; }

.cg-mtg-compare { display:grid; grid-template-columns:1fr 70px 1fr; gap:22px; align-items:center; padding:34px; border-radius:20px; background:#111; }
.cg-mtg-compare-year { padding:16px; }
.cg-mtg-compare-year > span { display:block; margin-bottom:12px; color:var(--mtg-gold); font-size:12px; font-weight:900; letter-spacing:.13em; }
.cg-mtg-compare-year strong { display:block; margin-bottom:9px; color:#fff; font-size:24px; line-height:1.2; }
.cg-mtg-compare-year p { margin:0; color:rgba(255,255,255,.62)!important; font-size:13px; line-height:1.6; }
.cg-mtg-compare-year.is-2026 { padding:24px; border-radius:14px; background:rgba(198,161,91,.11); }
.cg-mtg-compare-arrow { color:var(--mtg-gold); font-size:40px; text-align:center; }

.cg-mtg-lightbox { position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; padding:34px; background:rgba(0,0,0,.92); }
.cg-mtg-lightbox.is-open { display:flex; }
.cg-mtg-lightbox img { width:auto!important; max-width:min(1400px,94vw); max-height:88vh; border-radius:10px; box-shadow:0 20px 60px rgba(0,0,0,.45); object-fit:contain; }
.cg-mtg-lightbox-close { position:fixed; top:18px; right:22px; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:31px; line-height:1; cursor:pointer; }

@media (max-width:1050px) {
  .cg-mtg-hero-content { width:min(770px,78%); padding:70px 46px; }
  .cg-mtg-section { padding:62px 44px; }
  .cg-mtg-section-head { grid-template-columns:1fr 1.35fr; gap:28px; }
  .cg-mtg-section-head > p { grid-column:2; }
  .cg-mtg-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cg-mtg-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cg-mtg-proposal-block { grid-template-columns:1fr; }
  .cg-mtg-balls-grid { grid-template-rows:230px 230px; }
  .cg-mtg-photobooth { grid-template-columns:1fr; }
  .cg-mtg-photobooth-copy { padding:12px 6px 8px; }
  .cg-mtg-options-head { grid-template-columns:.4fr 1fr; }.cg-mtg-options-head p { grid-column:2; }
}

@media (max-width:767px) {
  body.cg-montaigu-project #sp-main-body { padding:0!important; }
  .cg-montaigu-page { width:100vw!important; margin-left:50%!important; border:0; border-radius:0; box-shadow:none; }
  .cg-mtg-hero { min-height:570px; }
  .cg-mtg-hero > img { object-position:62% center; }
  .cg-mtg-hero-overlay { background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.58)); }
  .cg-mtg-hero-content { width:100%; padding:74px 24px 54px; }
  .cg-mtg-hero h1 { font-size:45px; }
  .cg-mtg-hero p { font-size:15px; }
  .cg-mtg-section { padding:52px 20px; }
  .cg-mtg-section-head { display:block; }
  .cg-mtg-section-head > div { margin-bottom:22px; }
  .cg-mtg-section-head h2 { margin-bottom:20px; font-size:38px; }
  .cg-mtg-stats { grid-template-columns:1fr; }
  .cg-mtg-stat { min-height:0; }
  .cg-mtg-note { grid-template-columns:1fr; gap:12px; padding:25px 22px; }
  .cg-mtg-gallery-head { display:block; }.cg-mtg-gallery-head h3 { margin-top:6px; font-size:25px; }
  .cg-mtg-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:150px; }
  .cg-mtg-photo-wide { grid-column:span 2; }.cg-mtg-photo-tall { grid-row:span 2; }
  .cg-mtg-transition { grid-template-columns:1fr; }
  .cg-mtg-transition-image { min-height:330px; }.cg-mtg-transition-copy { padding:50px 23px; }
  .cg-mtg-proposal-block { gap:30px; margin-bottom:52px; }
  .cg-mtg-balls-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:230px 145px 145px; }.cg-mtg-balls-main { grid-column:span 2; grid-row:auto; }
  .cg-mtg-duo-cards { grid-template-columns:1fr; }
  .cg-mtg-feature-card { min-height:310px; padding:28px 24px; }
  .cg-mtg-photobooth { margin-left:-3px; margin-right:-3px; padding:16px; }
  .cg-mtg-photobooth-images { grid-template-columns:1fr; min-height:0; }.cg-mtg-photo-booth-main { min-height:250px; }.cg-mtg-photo-booth-small { min-height:280px; }
  .cg-mtg-photobooth-copy { padding:24px 8px 12px; }
  .cg-mtg-options { padding:29px 20px; }
  .cg-mtg-options-head { display:block; }.cg-mtg-options-head h2 { margin:8px 0 13px; }
  .cg-mtg-option-grid { grid-template-columns:1fr; }.cg-mtg-option { align-items:flex-start; }
  .cg-mtg-compare { grid-template-columns:1fr; gap:4px; padding:20px; }.cg-mtg-compare-arrow { transform:rotate(90deg); font-size:30px; }
  .cg-mtg-lightbox { padding:18px; }
}

@media (max-width:430px) {
  .cg-mtg-hero h1 { font-size:39px; }
  .cg-mtg-hero-years { gap:9px; font-size:9px; }.cg-mtg-hero-years i { width:25px; }
  .cg-mtg-gallery { grid-template-columns:1fr; grid-auto-rows:210px; }.cg-mtg-photo-wide { grid-column:auto; }.cg-mtg-photo-tall { grid-row:auto; }
  .cg-mtg-sizes span { min-width:84px; }
}
