.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Open Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Source Sans 3';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
/* ==========================================================================
   love-alsace.fr — feuille de styles unique
   --------------------------------------------------------------------------
   À coller dans Oxygen > Manage > Stylesheets. Aucun fichier PHP n'embarque de
   CSS : dès qu'un gabarit introduit une classe, cette feuille change et doit
   être recollée.

   EXCEPTION : le moteur d'archive (snippet-archive-love-alsace.php) porte son
   propre CSS dans un heredoc, parce qu'il doit fonctionner même si cette feuille
   n'est pas chargée. Son préfixe est `lals__` (double tiret bas) ; le préfixe
   d'ici est `lals-`. Les deux ne se croisent jamais.

   Piste C « Route des vins » (idees-design.html) :
     - Petrona en titres, Outfit en texte ;
     - vert vigne #2E4A38 en primaire, grenat #7A2B3A en accent chaud ;
     - angles doux de 6 px, filets discrets, très peu d'ombres ;
     - la structure fait le style : écran scindé liste / carte, lignes larges.

   CONTRASTE : toutes les paires couleur/fond ont été vérifiées avant écriture.
   La plus basse est --la-muted sur --la-paper, à 5,32:1 (seuil AA : 4,5).
   Si vous éclaircissez --la-muted, refaites le calcul.

   PRÉFIXE lals-s- : réservé au gabarit d'annonce. Section 7 de cette feuille.
   Aucune autre page ne doit employer ces classes.
   ========================================================================== */


/* ==========================================================================
   1. BASE
   ========================================================================== */

:root{
  --la-white:#FFFFFF;
  --la-paper:#F6F7F4;
  --la-wash:#EDF1EA;
  --la-vigne:#2E4A38;
  --la-vigne-d:#223A2B;
  --la-grenat:#7A2B3A;
  --la-ink:#1A211C;
  --la-text:#3C463F;
  --la-muted:#5E6961;
  --la-line:#E1E5DE;
  --la-line-fort:#C7CFC6;
  --la-serif:'Petrona',Georgia,'Times New Roman',serif;
  --la-sans:'Outfit','Segoe UI',Arial,sans-serif;
}

body{
  font-family:var(--la-sans);
  color:var(--la-text);
  background:var(--la-white);
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; }

.lals-container{ width:min(1280px,94vw); margin-inline:auto; }
.lals-container--narrow{ width:min(760px,92vw); margin-inline:auto; }
.lals-sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- titres ---------- */
h1,h2,h3,h4{
  font-family:var(--la-serif);
  font-weight:600;
  color:var(--la-ink);
  line-height:1.2;
  margin:0 0 14px;
}
h1{ font-size:clamp(30px,4.2vw,44px); letter-spacing:-.005em; }
h2{ font-size:clamp(24px,3vw,34px); }
h3{ font-size:20px; }
em{ font-style:italic; color:var(--la-grenat); }
h1 em,h2 em,h3 em{ font-style:italic; color:var(--la-grenat); }

.lals-section-title{ font-size:clamp(25px,3.2vw,36px); margin:0; }
.lals-eyebrow{
  display:block; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--la-vigne); font-weight:600; margin-bottom:8px;
}
.lals-section-sub{
  color:var(--la-muted); max-width:72ch; font-size:15.5px; margin:14px 0 28px;
}
.lals-note{ color:var(--la-muted); font-size:14px; max-width:66ch; margin:14px 0 0; }

/* ---------- boutons ---------- */
.lals-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:44px; padding:0 22px; border-radius:6px; cursor:pointer;
  font-family:var(--la-sans); font-size:14.5px; font-weight:500; line-height:1;
  background:var(--la-vigne); color:var(--la-white); border:1px solid var(--la-vigne);
  text-decoration:none; transition:background .15s, border-color .15s, color .15s;
}
.lals-btn:hover{ background:var(--la-vigne-d); border-color:var(--la-vigne-d); color:var(--la-white); }
.lals-btn svg{ width:16px; height:16px; flex:0 0 auto; }
.lals-btn--lg{ height:52px; padding:0 28px; font-size:15.5px; }
.lals-btn--sm{ height:36px; padding:0 15px; font-size:13px; }
.lals-btn--ghost{ background:transparent; color:var(--la-ink); border-color:var(--la-line-fort); }
.lals-btn--ghost:hover{ background:var(--la-paper); color:var(--la-ink); border-color:var(--la-vigne); }
.lals-btn--dark{ background:var(--la-grenat); border-color:var(--la-grenat); }
.lals-btn--dark:hover{ background:#65212E; border-color:#65212E; }

.lals-iconbtn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:6px; cursor:pointer;
  background:transparent; border:1px solid var(--la-line); color:var(--la-ink);
}
.lals-iconbtn:hover{ border-color:var(--la-line-fort); background:var(--la-paper); }
.lals-iconbtn svg{ width:19px; height:19px; }

.lals-link-arrow{
  display:inline-flex; align-items:center; gap:7px; flex:0 0 auto;
  font-size:14px; font-weight:500; color:var(--la-grenat); text-decoration:none;
}
.lals-link-arrow:hover{ color:#65212E; }
.lals-link-arrow svg{ width:15px; height:15px; transition:transform .15s; }
.lals-link-arrow:hover svg{ transform:translateX(3px); }

.lals-inline-cta{ margin:28px 0 0; }

/* ---------- pastilles ---------- */
.lals-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.lals-chips--center{ justify-content:center; }
.lals-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13.5px; color:var(--la-text); text-decoration:none;
  background:var(--la-white); border:1px solid var(--la-line); border-radius:99px;
  padding:7px 15px; line-height:1.2; transition:border-color .15s, background .15s;
}
.lals-chip:hover{ border-color:var(--la-vigne); background:var(--la-wash); color:var(--la-vigne); }
.lals-chip--go{ background:var(--la-vigne); border-color:var(--la-vigne); color:var(--la-white); font-weight:500; }
.lals-chip--go:hover{ background:var(--la-vigne-d); border-color:var(--la-vigne-d); color:var(--la-white); }

/* Étiquette de catégorie, posée sur une image ou en ligne. Ce n'est PAS un lien de
   navigation : ne l'utilisez pas à la place de .lals-chip. */
.lals-tag{
  display:inline-flex; align-items:center;
  font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  background:var(--la-vigne); color:var(--la-white);
  border-radius:3px; padding:4px 9px; text-decoration:none;
}

/* ---------- texte long ---------- */
.lals-prose{ max-width:72ch; }
.lals-prose p{ margin:0 0 18px; }
.lals-prose h3{
  font-size:21px; margin:32px 0 10px;
  padding-top:18px; border-top:1px solid var(--la-line);
}
.lals-prose a{ color:var(--la-grenat); }
.lals-prose strong{ color:var(--la-ink); font-weight:600; }

/* Tableau produit par [la_tableau_prix]. */
.lals-table{ overflow-x:auto; margin:22px 0; }
.lals-table table{ border-collapse:collapse; width:100%; font-size:14.5px; min-width:380px; }
.lals-table th,.lals-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--la-line); }
.lals-table th{ font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--la-muted); font-weight:600; }
.lals-table td b{ color:var(--la-ink); }

/* État vide, honnête et sobre. */
.lals-empty{
  text-align:center; padding:44px 20px; color:var(--la-muted);
  border:1px dashed var(--la-line-fort); border-radius:8px; background:var(--la-paper);
}
.lals-empty p{ font-family:var(--la-serif); font-size:19px; color:var(--la-ink); margin:0 0 6px; }
.lals-empty small{ font-size:13.5px; }
.lals-empty a{ color:var(--la-grenat); }


/* ==========================================================================
   2. EN-TÊTE
   Une seule barre, posée sur un liseré vert de 3 px. Pas de barre haute
   superposée : c'est ce qui distingue structurellement cet en-tête.
   ========================================================================== */

.lals-header{
  position:sticky; top:0; z-index:900;
  background:var(--la-white); border-bottom:3px solid var(--la-vigne);
}
.lals-header__inner{
  width:min(1280px,94vw); margin-inline:auto;
  display:flex; align-items:center; gap:26px; padding:13px 0;
}
.lals-logo{
  font-family:var(--la-serif); font-weight:600; font-size:21px;
  color:var(--la-ink); text-decoration:none; letter-spacing:-.01em; flex:0 0 auto;
}
.lals-logo i{ font-style:italic; color:var(--la-grenat); }
.lals-logo small{ font-size:12px; color:var(--la-muted); font-family:var(--la-sans); font-weight:400; }

.lals-nav{ display:flex; align-items:center; gap:22px; margin-right:auto; }
.lals-nav > a,.lals-nav__toggle{
  font-size:14px; color:var(--la-text); text-decoration:none;
  background:none; border:0; cursor:pointer; font-family:var(--la-sans);
  padding:6px 0; display:inline-flex; align-items:center; gap:5px;
}
.lals-nav > a:hover,.lals-nav__toggle:hover{ color:var(--la-vigne); }
.lals-nav__toggle svg{ width:12px; height:12px; opacity:.6; }

/* Menus dépliants sans JavaScript : ouverts au survol et au clavier. */
.lals-nav__drop{ position:relative; }
.lals-nav__menu{
  position:absolute; top:100%; left:-14px; min-width:210px; z-index:5;
  display:none; flex-direction:column; padding:8px;
  background:var(--la-white); border:1px solid var(--la-line); border-radius:8px;
  box-shadow:0 16px 40px -28px rgba(26,33,28,.7);
}
.lals-nav__drop:hover .lals-nav__menu,
.lals-nav__drop:focus-within .lals-nav__menu{ display:flex; }
.lals-nav__menu a{
  font-size:14px; color:var(--la-text); text-decoration:none;
  padding:8px 12px; border-radius:5px;
}
.lals-nav__menu a:hover{ background:var(--la-wash); color:var(--la-vigne); }

.lals-header__actions{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.lals-header__cta{ white-space:nowrap; }
.lals-burger{ display:none; }

.lals-searchbar{ display:none; border-top:1px solid var(--la-line); background:var(--la-paper); }
.lals-searchbar.is-open{ display:block; }
.lals-searchbar form{
  width:min(1280px,94vw); margin-inline:auto;
  display:flex; gap:10px; padding:14px 0;
}
.lals-searchbar input{
  flex:1 1 auto; min-width:0; height:44px; padding:0 14px;
  border:1px solid var(--la-line); border-radius:6px;
  font-family:var(--la-sans); font-size:14.5px; color:var(--la-ink); background:var(--la-white);
}
.lals-searchbar input:focus{ outline:2px solid var(--la-vigne); outline-offset:1px; }


/* ==========================================================================
   3. PIED DE PAGE
   ========================================================================== */

.lals-footer{ background:var(--la-ink); color:#C3CCC5; padding:56px 0 26px; margin-top:70px; }
.lals-footer a{ color:#C3CCC5; text-decoration:none; }
.lals-footer a:hover{ color:var(--la-white); }
.lals-footer__grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px;
  padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.12);
}
.lals-footer__brand p{ font-size:14px; margin:14px 0 0; max-width:46ch; }
.lals-logo--footer{ color:var(--la-white); }
.lals-logo--footer small{ color:#9FACA3; }
.lals-footer__zone{ font-size:12.5px; color:#9FACA3; }
.lals-footer__social{ display:flex; gap:10px; margin-top:18px; }
.lals-footer__social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:6px; border:1px solid rgba(255,255,255,.2);
}
.lals-footer__social a:hover{ border-color:var(--la-white); }
.lals-footer__h{
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--la-white); font-weight:600; margin:0 0 14px;
}
.lals-footer__col ul{ list-style:none; margin:0; padding:0; }
.lals-footer__col li{ margin-bottom:9px; font-size:14px; }
.lals-footer__bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:14px; padding-top:20px; font-size:13px; color:#9FACA3;
}
.lals-footer__bottom nav{ display:flex; flex-wrap:wrap; gap:18px; }


/* ==========================================================================
   4. SECTIONS GÉNÉRIQUES
   ========================================================================== */

.lals-section{ padding:64px 0; }
.lals-section--paper{ background:var(--la-paper); border-block:1px solid var(--la-line); }
.lals-section-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:26px; margin-bottom:24px;
}

.lals-pagehead{ padding:52px 0 38px; border-bottom:1px solid var(--la-line); }
.lals-pagehead--paper{ background:var(--la-paper); }
.lals-pagehead h1{ margin:0 0 14px; max-width:22ch; }
.lals-pagehead p{ color:var(--la-muted); max-width:72ch; margin:0; font-size:16px; }
.lals-pagehead p a{ color:var(--la-grenat); }

.lals-breadcrumb{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  font-size:12.5px; color:var(--la-muted); margin-bottom:18px;
}
.lals-breadcrumb a{ color:var(--la-muted); text-decoration:none; }
.lals-breadcrumb a:hover{ color:var(--la-vigne); text-decoration:underline; }

/* Bloc « étapes » et « arguments » des pages partenaire et à propos, et
   blocs « territoire » de l'accueil : trois cartes en filet, sans ombre. */
.lals-steps,.lals-territoires{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.lals-step,.lals-territoire{
  background:var(--la-white); border:1px solid var(--la-line); border-radius:8px;
  padding:22px 22px 24px;
}
.lals-step h3,.lals-territoire h3{ font-size:19px; margin:0 0 8px; }
.lals-territoire h3 a{ color:inherit; text-decoration:none; }
.lals-territoire h3 a:hover{ color:var(--la-grenat); }
.lals-step p,.lals-territoire p{ margin:0; font-size:14.5px; color:var(--la-muted); }
.lals-step__n,.lals-territoire__communes{
  font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--la-vigne); font-weight:600; margin:0 0 8px;
}
.lals-territoire__communes{ color:var(--la-muted); letter-spacing:.02em; text-transform:none; font-size:13px; font-weight:400; }
.lals-territoire__n{
  margin-top:14px !important; padding-top:12px; border-top:1px solid var(--la-line);
  font-size:13px; color:var(--la-vigne); font-weight:500;
}

/* Questions fréquentes — <details> natifs, aucun JavaScript. */
.lals-faq{ padding:64px 0; border-top:1px solid var(--la-line); }
.lals-faq details{ border-bottom:1px solid var(--la-line); padding:6px 0; }
.lals-faq summary{
  cursor:pointer; list-style:none; padding:15px 34px 15px 0; position:relative;
  font-family:var(--la-serif); font-size:18px; font-weight:600; color:var(--la-ink);
}
.lals-faq summary::-webkit-details-marker{ display:none; }
.lals-faq summary::after{
  content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-family:var(--la-sans); font-size:20px; color:var(--la-vigne); line-height:1;
}
.lals-faq details[open] summary::after{ content:"–"; }
.lals-faq details p{ margin:0 0 18px; color:var(--la-muted); max-width:72ch; font-size:15px; }

/* Appel aux hôtes, en bas de l'accueil. */
.lals-owners{ background:var(--la-paper); border-block:1px solid var(--la-line); }
.lals-owners__inner{
  display:flex; align-items:center; justify-content:space-between; gap:34px; flex-wrap:wrap;
}
.lals-owners__inner > div{ flex:1 1 460px; }
.lals-owners__inner p{ color:var(--la-muted); max-width:64ch; margin:14px 0 0; }


/* ==========================================================================
   5. ACCUEIL
   ========================================================================== */

.lals-hero{ padding:52px 0 56px; border-bottom:1px solid var(--la-line); }
.lals-hero__inner{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
/* min-width:0 sur un enfant de grille : sans lui, un mot long ou une image
   élargit la colonne au lieu de se contraindre, et la grille déborde. */
.lals-hero__text{ min-width:0; }
.lals-hero__title{ margin:0 0 18px; max-width:16ch; }
.lals-hero__lead{ color:var(--la-muted); font-size:16.5px; max-width:60ch; margin:0 0 24px; }
.lals-hero__links{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.lals-hero__links a{
  display:inline-flex; align-items:center;
  font-size:13.5px; color:var(--la-text); text-decoration:none;
  background:var(--la-white); border:1px solid var(--la-line); border-radius:99px;
  padding:7px 15px; transition:border-color .15s, background .15s;
}
.lals-hero__links a:hover{ border-color:var(--la-vigne); background:var(--la-wash); color:var(--la-vigne); }
.lals-hero__trust{
  list-style:none; margin:0; padding:22px 0 0; border-top:1px solid var(--la-line);
  display:flex; flex-wrap:wrap; gap:30px;
}
.lals-hero__trust li{ font-size:13.5px; color:var(--la-muted); max-width:20ch; }
.lals-hero__trust b{
  display:block; font-family:var(--la-serif); font-size:27px; font-weight:600;
  color:var(--la-ink); line-height:1.1; margin-bottom:2px;
}
.lals-hero__visual img{ width:100%; border-radius:10px; display:block; object-fit:cover; }

/* La collection : le shortcode pose sa propre largeur, la section ne fait
   que l'introduire. */
.lals-listings{ padding-bottom:52px; }

/* Les cinq envies. Une grille de trois colonnes laisserait un trou sur la seconde rangée :
   la première vignette — le jacuzzi, qui est aussi la page thématique principale — occupe donc
   deux colonnes, ce qui donne 2+1 puis 1+1+1. La règle ne s'applique QUE s'il y a exactement
   cinq vignettes ; si le nombre change, on retombe sur une grille régulière, qui reste correcte.
   C'est un confort de mise en page, pas un état : le repli est acceptable. */
.lals-envies{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.lals-envies:has(> :nth-child(5):last-child) > .lals-envie:first-child{
  grid-column:span 2; aspect-ratio:8/3;
}
.lals-envie{
  position:relative; display:block; overflow:hidden; border-radius:8px;
  text-decoration:none; aspect-ratio:4/3; background:var(--la-wash);
}
.lals-envie img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.lals-envie:hover img{ transform:scale(1.04); }
.lals-envie__label{
  position:absolute; left:0; right:0; bottom:0; padding:34px 18px 16px;
  background:linear-gradient(to top,rgba(26,33,28,.86),rgba(26,33,28,0));
  color:var(--la-white);
}
.lals-envie__label b{ display:block; font-family:var(--la-serif); font-size:19px; font-weight:600; }
.lals-envie__label small{ font-size:12.5px; opacity:.85; }


/* ==========================================================================
   6. JOURNAL — cartes, grilles, pagination
   ========================================================================== */

.lals-cards,.lals-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lals-card{
  background:var(--la-white); border:1px solid var(--la-line); border-radius:8px;
  overflow:hidden; display:flex; flex-direction:column;
}
.lals-card__media{ position:relative; aspect-ratio:16/10; background:var(--la-wash); }
.lals-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lals-card__media .lals-tag{ position:absolute; left:10px; bottom:10px; }
.lals-card__body{ padding:16px 18px 20px; display:flex; flex-direction:column; gap:7px; flex:1 1 auto; }
.lals-card__meta{ font-size:12px; color:var(--la-muted); }
.lals-card__title{ font-size:18px; margin:0; }
.lals-card__title a{ color:inherit; text-decoration:none; }
.lals-card__title a:hover{ color:var(--la-grenat); }
.lals-card__excerpt{ font-size:14px; color:var(--la-muted); margin:0; }
/* Tarif posé sur la vignette d'une ADRESSE, dans les résultats de recherche.
   Reprend la forme de .lals-tag mais en grenat : ce n'est pas une catégorie. */
.lals-card__price{ position:absolute; right:10px; bottom:10px; background:var(--la-grenat); }

/* Article à la une du journal. */
.lals-featured{
  display:flex; align-items:stretch; gap:0; flex-wrap:wrap;
  border:1px solid var(--la-line); border-radius:10px; overflow:hidden; background:var(--la-white);
}
.lals-featured__media{ flex:0 0 44%; max-width:44%; display:block; }
.lals-featured__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lals-featured__body{ flex:1 1 380px; padding:30px 32px 32px; }
.lals-featured__title{ margin:8px 0 12px; }
.lals-featured__title a{ color:inherit; text-decoration:none; }
.lals-featured__title a:hover{ color:var(--la-grenat); }
.lals-featured__body p{ color:var(--la-muted); margin:0; }

/* Filtres de sous-catégories, sur l'archive du journal. */
.lals-filters{ margin-bottom:26px; }

.lals-pagination{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-top:38px; }
.lals-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 11px; border-radius:6px;
  border:1px solid var(--la-line); background:var(--la-white);
  font-size:14px; color:var(--la-text); text-decoration:none;
}
.lals-pagination .page-numbers:hover{ border-color:var(--la-vigne); color:var(--la-vigne); }
.lals-pagination .page-numbers.current{
  background:var(--la-vigne); border-color:var(--la-vigne); color:var(--la-white); font-weight:500;
}

/* Article : deux colonnes, sommaire collant à droite. */
.lals-article-head{ padding:44px 0 8px; }
.lals-article-title{ margin:14px 0 12px; max-width:24ch; }
.lals-article-meta{ display:flex; flex-wrap:wrap; gap:18px; font-size:13px; color:var(--la-muted); }
.lals-article-hero{ margin:28px 0 0; }
.lals-article-hero img{ width:100%; border-radius:10px; display:block; }
.lals-article-layout{ display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; padding:40px 0 64px; align-items:start; }
.lals-article-content{ max-width:72ch; }
.lals-article-content h2{ font-size:26px; margin:36px 0 12px; }
.lals-article-content h3{ font-size:20px; margin:26px 0 10px; }
.lals-article-content p{ margin:0 0 18px; }
.lals-article-content ul,.lals-article-content ol{ margin:0 0 18px; padding-left:22px; }
.lals-article-content li{ margin-bottom:7px; }
.lals-article-content a{ color:var(--la-grenat); }
.lals-article-content img{ border-radius:8px; }
.lals-article-content blockquote{
  margin:24px 0; padding:4px 0 4px 20px; border-left:3px solid var(--la-vigne);
  font-family:var(--la-serif); font-size:19px; color:var(--la-ink);
}
.lals-article-cta{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  margin:38px 0 0; padding:24px 26px; border-radius:10px;
  background:var(--la-wash); border:1px solid var(--la-line);
}
.lals-article-cta b{ display:block; font-family:var(--la-serif); font-size:19px; color:var(--la-ink); }
.lals-article-cta span{ font-size:14px; color:var(--la-muted); }
.lals-article-aside{ position:sticky; top:96px; }
.lals-toc{ border:1px solid var(--la-line); border-radius:8px; padding:18px 20px; background:var(--la-paper); }
.lals-toc h2{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--la-muted); font-family:var(--la-sans); font-weight:600; margin:0 0 12px; }
.lals-toc ol{ margin:0; padding-left:18px; }
.lals-toc li{ margin-bottom:8px; font-size:13.5px; }
.lals-toc a{ color:var(--la-text); text-decoration:none; }
.lals-toc a:hover{ color:var(--la-grenat); }

.lals-share{ display:flex; align-items:center; gap:10px; margin-top:34px; }
.lals-share b{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--la-muted); font-weight:600; margin-right:4px; }
.lals-share a,.lals-share button{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:6px; cursor:pointer;
  border:1px solid var(--la-line); background:var(--la-white); color:var(--la-text);
}
.lals-share a:hover,.lals-share button:hover{ border-color:var(--la-vigne); color:var(--la-vigne); }

.lals-related{ padding:56px 0; border-top:1px solid var(--la-line); background:var(--la-paper); }


/* ==========================================================================
   7. FICHE D'ADRESSE — préfixe lals-s-, RÉSERVÉ au gabarit d'annonce
   --------------------------------------------------------------------------
   N'employez aucune de ces classes ailleurs. Sur un autre site du réseau, une
   classe de fiche réutilisée sur la page contact a fait s'effondrer cette page
   le jour où on lui a rendu son vrai rôle — un bouton de 38 px.
   Contrôle : grep -l 'class="[^"]*lals-s-' *.php ne doit lister que le gabarit.
   ========================================================================== */

.lals-s{ padding-bottom:60px; }
.lals-s-narrow{ width:min(880px,92vw); margin-inline:auto; }
.lals-s-band{ padding:52px 0; }
.lals-s-band--paper{ background:var(--la-paper); border-block:1px solid var(--la-line); }
.lals-s-band--ink{ background:var(--la-ink); color:#C3CCC5; }
.lals-s-band--ink h2,.lals-s-band--ink b{ color:var(--la-white); }
.lals-s-band--ink em{ color:#D9A3AC; }
.lals-s-band--ink .lals-eyebrow{ color:#9FACA3; }
.lals-s-h2{ font-size:clamp(23px,2.8vw,31px); margin:0 0 14px; }
.lals-s-sub{ color:var(--la-muted); font-size:14.5px; margin:0 0 22px; max-width:72ch; }

/* ---------- en-tête éditorial ---------- */
.lals-s-intro{ padding:34px 0 24px; }
.lals-s-title{ font-size:clamp(29px,4.2vw,44px); margin:6px 0 14px; }
.lals-s-intro__place{ margin-bottom:6px; }
.lals-s-intro__place a{ color:var(--la-vigne); text-decoration:none; }
.lals-s-intro__place a:hover{ text-decoration:underline; }
.lals-s-intro__meta{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.lals-s-mood{
  display:inline-flex; align-items:center; font-size:12px; border-radius:99px;
  padding:5px 13px; border:1px solid var(--la-line-fort); background:var(--la-white); color:var(--la-text);
}
.lals-s-mood--pimente{ background:#F6EAEC; border-color:#E3C6CB; color:var(--la-grenat); }
.lals-s-mood--doux{ background:var(--la-wash); border-color:#CFDCCB; color:var(--la-vigne); }

/* ---------- galerie ---------- */
.lals-s-strip{ display:grid; grid-template-columns:1fr 300px; gap:10px; }
/* Déclencheur de la visionneuse. La classe est posée sur le bouton de la grande
   photo ; le JavaScript s'y accroche par elle, pas par la classe de mise en page. */
.lals-s-lb{ cursor:zoom-in; }
.lals-s-strip__main{
  position:relative; display:block; padding:0; border:0; cursor:zoom-in;
  border-radius:10px; overflow:hidden; background:var(--la-wash); aspect-ratio:16/9;
}
.lals-s-strip__main img{ width:100%; height:100%; object-fit:cover; display:block; }
.lals-s-strip__count{
  position:absolute; right:12px; bottom:12px;
  background:rgba(26,33,28,.82); color:var(--la-white);
  font-size:12px; padding:5px 11px; border-radius:99px;
}
/* Quatre vignettes en 2×2, jamais davantage : à huit photos elles se
   partageaient la hauteur de la principale et tombaient à 59 px. */
.lals-s-strip__thumbs{ display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:10px; }
.lals-s-strip__thumb{
  padding:0; border:0; cursor:pointer; border-radius:8px; overflow:hidden;
  background:var(--la-wash); position:relative;
}
.lals-s-strip__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lals-s-strip__thumb.is-on{ outline:2px solid var(--la-vigne); outline-offset:-2px; }

/* ---------- barre de repères ---------- */
.lals-s-facts{
  display:flex; flex-wrap:wrap; align-items:center; gap:0; margin:26px 0 0;
  border-top:1px solid var(--la-line); border-bottom:1px solid var(--la-line); padding:16px 0;
}
.lals-s-facts > div{ padding-right:28px; margin-right:28px; border-right:1px solid var(--la-line); }
.lals-s-facts > div:last-of-type{ border-right:0; }
.lals-s-facts dt{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--la-muted); font-weight:600; }
.lals-s-facts dd{ margin:3px 0 0; font-size:15px; color:var(--la-ink); }
.lals-s-facts dd a{ color:var(--la-grenat); }
.lals-s-facts__price{ font-family:var(--la-serif); font-size:20px !important; font-weight:600; }
.lals-s-facts__cta{ margin-left:auto !important; padding-right:0 !important; border-right:0 !important; }

/* ---------- description + l'essentiel ---------- */
.lals-s-desc{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; align-items:start; }
.lals-s-content{ max-width:72ch; position:relative; }
.lals-s-content p{ margin:0 0 16px; }
.lals-s-content--collapsed{ max-height:420px; overflow:hidden; }
.lals-s-content__fade{ display:none; }
.lals-s-content--collapsed .lals-s-content__fade{
  display:block; position:absolute; left:0; right:0; bottom:0; height:120px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),var(--la-white));
}
.lals-s-know{
  background:var(--la-paper); border:1px solid var(--la-line); border-radius:10px; padding:22px 24px 24px;
}
.lals-s-know__title{ display:block; font-family:var(--la-serif); font-size:18px; color:var(--la-ink); margin-bottom:12px; }
.lals-s-know ul{ list-style:none; margin:0 0 18px; padding:0; }
.lals-s-know li{
  font-size:14px; color:var(--la-muted); padding:9px 0 9px 20px;
  border-bottom:1px solid var(--la-line); position:relative;
}
.lals-s-know li::before{
  content:""; position:absolute; left:0; top:16px;
  width:7px; height:7px; border-radius:50%; background:var(--la-vigne);
}
.lals-s-know li:last-child{ border-bottom:0; }
.lals-s-know__gift{ color:var(--la-grenat) !important; font-weight:500; }
.lals-s-know__gift::before{ background:var(--la-grenat) !important; }

/* ---------- équipements ---------- */
.lals-s-equips{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 26px; }
.lals-s-equip{ display:flex; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid var(--la-line); font-size:14.5px; }
.lals-s-equip__ico{ display:inline-flex; color:var(--la-muted); flex:0 0 auto; }
/* Un SVG qui n'a qu'un viewBox occupe 100 % de son conteneur : on dimensionne. */
.lals-s-equip__ico svg{ width:19px; height:19px; }
.lals-s-equip--top{ font-weight:500; color:var(--la-ink); }
.lals-s-equip--top .lals-s-equip__ico{ color:var(--la-vigne); }

/* ---------- carte de la fiche ---------- */
.lals-s-mapwrap{ border-radius:10px; overflow:hidden; border:1px solid var(--la-line); }
.lals-s-mapbox{ height:340px; background:var(--la-wash); }
.lals-s-mapframe{ width:100%; height:340px; border:0; display:block; }
.lals-s-mapbox .leaflet-tile-pane{ filter:grayscale(.65) brightness(1.06) contrast(.92) sepia(.08); }
/* Marqueur : couleurs EN DUR. Un marqueur qui dépend d'une variable héritée
   devient invisible sans lever la moindre erreur. */
.lals-s-marker span{
  display:block; width:16px; height:16px; border-radius:50%;
  background:#2E4A38; border:3px solid #FFFFFF; box-shadow:0 1px 5px rgba(26,33,28,.45);
}
.lals-s-map-link{ margin-top:16px; }

/* ---------- réserver ---------- */
.lals-s-book{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:44px; align-items:start; }
.lals-s-book__text{ min-width:0; }
.lals-s-book__price{ display:flex; align-items:baseline; gap:9px; margin:16px 0 14px; }
.lals-s-book__price b{ font-family:var(--la-serif); font-size:32px; font-weight:600; color:var(--la-white); }
.lals-s-book__price small{ font-size:13px; color:#9FACA3; }
.lals-s-book__gift{
  border-left:2px solid var(--la-grenat); padding-left:14px; margin:0 0 16px;
  font-size:14.5px; color:#C3CCC5;
}
.lals-s-book__gift .lals-eyebrow{ color:#D9A3AC; }
.lals-s-book__note{ font-size:14px; color:#9FACA3; max-width:60ch; margin:0; }
.lals-s-book__contact{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; }
.lals-s-book__phone{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  color:var(--la-white); border:1px solid rgba(255,255,255,.28); border-radius:6px;
  padding:9px 15px; font-size:14px;
}
.lals-s-book__phone:hover{ border-color:var(--la-white); }
.lals-s-book__social{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:6px; color:var(--la-white);
  border:1px solid rgba(255,255,255,.28);
}
.lals-s-book__social svg{ width:17px; height:17px; }
.lals-s-book__card{
  background:var(--la-white); border-radius:10px; padding:22px;
  display:flex; flex-direction:column; gap:11px;
}
.lals-s-dates__row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:11px; }
.lals-s-dates label{ display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--la-muted); }
.lals-s-dates input{
  height:42px; padding:0 11px; border:1px solid var(--la-line); border-radius:6px;
  font-family:var(--la-sans); font-size:14px; color:var(--la-ink); background:var(--la-white);
}
.lals-s-book__btn{ width:100%; }
.lals-s-book__ask{ font-size:13px; color:var(--la-grenat); text-align:center; text-decoration:none; }
.lals-s-book__ask:hover{ text-decoration:underline; }

/* ---------- formulaire de contact ---------- */
.lals-s-form{ display:flex; flex-direction:column; gap:16px; max-width:640px; }
.lals-s-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lals-s-form__field{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--la-muted); }
.lals-s-form__field small{ font-weight:400; opacity:.75; }
.lals-s-form__field input,.lals-s-form__field textarea{
  border:1px solid var(--la-line); border-radius:6px; padding:11px 13px;
  font-family:var(--la-sans); font-size:14.5px; color:var(--la-ink); background:var(--la-white);
}
.lals-s-form__field input{ height:44px; }
.lals-s-form__field input:focus,.lals-s-form__field textarea:focus{ outline:2px solid var(--la-vigne); outline-offset:1px; }
.lals-s-form__consent{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--la-muted); }
.lals-s-form__consent input{ margin-top:4px; flex:0 0 auto; }
.lals-s-form__consent a{ color:var(--la-grenat); }
/* Piège à robots : invisible pour un humain, hors du flux et hors du champ des
   lecteurs d'écran (le champ porte aussi aria-hidden dans le gabarit). */
.lals-s-form__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.lals-s-form__submit{ align-self:flex-start; }
.lals-s-form__feedback{ font-size:14px; margin:0; }
.lals-s-form__feedback.is-ok{ color:var(--la-vigne); }
.lals-s-form__feedback.is-error{ color:var(--la-grenat); }
.lals-s-form__msg{ font-size:14.5px; padding:12px 16px; border-radius:6px; margin:0 0 18px; }
.lals-s-form__msg--ok{ background:var(--la-wash); color:var(--la-vigne); border:1px solid #CFDCCB; }
.lals-s-form__msg--error{ background:#F6EAEC; color:var(--la-grenat); border:1px solid #E3C6CB; }

/* ---------- partage ---------- */
.lals-s-share .lals-s-copy.is-done{ border-color:var(--la-vigne); color:var(--la-vigne); }
.lals-s-copy{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:6px; cursor:pointer;
  border:1px solid var(--la-line); background:var(--la-white); color:var(--la-text);
}
.lals-s-copy:hover{ border-color:var(--la-vigne); color:var(--la-vigne); }

/* ---------- autres adresses ---------- */
.lals-s-related{ background:var(--la-paper); border-top:1px solid var(--la-line); }
.lals-s-carousel{ overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
.lals-s-carousel__track{ display:flex; gap:16px; }
.lals-s-rel{
  flex:0 0 262px; scroll-snap-align:start; text-decoration:none;
  background:var(--la-white); border:1px solid var(--la-line); border-radius:8px; overflow:hidden;
}
.lals-s-rel__img{ aspect-ratio:4/3; background:var(--la-wash); }
.lals-s-rel__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.lals-s-rel__body{ padding:13px 15px 16px; }
.lals-s-rel__body h3{ font-size:16px; margin:0 0 4px; }
.lals-s-rel__body span{ font-size:12.5px; color:var(--la-muted); }
.lals-s-rel__body b{ color:var(--la-ink); }

/* ---------- barre collante du bas ---------- */
.lals-s-dock{
  position:fixed; left:0; right:0; bottom:0; z-index:800;
  background:var(--la-white); border-top:1px solid var(--la-line);
  transform:translateY(100%); transition:transform .25s ease;
  box-shadow:0 -10px 30px -24px rgba(26,33,28,.8);
}
.lals-s-dock.is-visible{ transform:none; }
.lals-s-dock__inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; }
.lals-s-dock__price small{ font-size:12px; color:var(--la-muted); }
.lals-s-dock__price b{ font-family:var(--la-serif); font-size:21px; font-weight:600; color:var(--la-ink); }
.lals-s-dock__actions{ display:flex; gap:9px; }

/* ---------- visionneuse ---------- */
.lals-s-lightbox{
  display:none; position:fixed; inset:0; z-index:99999;
  background:rgba(15,20,17,.94); align-items:center; justify-content:center;
}
.lals-s-lightbox.is-open{ display:flex; }
.lals-s-lightbox__content{ max-width:92vw; max-height:88vh; display:flex; }
.lals-s-lightbox__content img{ max-width:92vw; max-height:88vh; object-fit:contain; border-radius:6px; }
.lals-s-lightbox__close,.lals-s-lightbox__nav{
  position:absolute; background:rgba(255,255,255,.12); color:#fff; border:0; cursor:pointer;
  width:44px; height:44px; border-radius:50%; font-size:22px; line-height:1;
}
.lals-s-lightbox__close{ top:22px; right:22px; font-size:17px; }
.lals-s-lightbox__prev{ left:22px; top:50%; transform:translateY(-50%); }
.lals-s-lightbox__next{ right:22px; top:50%; transform:translateY(-50%); }
.lals-s-lightbox__close:hover,.lals-s-lightbox__nav:hover{ background:rgba(255,255,255,.24); }
.lals-s-lightbox__counter{
  position:absolute; top:26px; left:50%; transform:translateX(-50%);
  color:#fff; font-size:13px; letter-spacing:.06em;
}


/* ==========================================================================
   8. RECHERCHE, 404, CONTACT, PAGES LÉGALES
   ========================================================================== */

.lals-rch-count{ color:var(--la-muted); font-size:15.5px; margin:0 0 22px; max-width:70ch; }
.lals-rch-form{ display:flex; gap:10px; max-width:620px; }
.lals-rch-form input{
  flex:1 1 auto; min-width:0; height:46px; padding:0 14px;
  border:1px solid var(--la-line); border-radius:6px; background:var(--la-white);
  font-family:var(--la-sans); font-size:15px; color:var(--la-ink);
}
.lals-rch-form input:focus{ outline:2px solid var(--la-vigne); outline-offset:1px; }
.lals-rch-jump{ margin-top:20px; }
.lals-rch-more{ margin-top:26px; }
/* Section « aucun résultat » : le fond papier la sépare des résultats du dessus. */
.lals-rch-empty{ background:var(--la-paper); border-top:1px solid var(--la-line); }
.lals-rch-empty__box{
  background:var(--la-paper); border:1px solid var(--la-line); border-radius:10px;
  padding:24px 26px; max-width:72ch;
}
.lals-rch-empty__box b{ display:block; font-family:var(--la-serif); font-size:19px; color:var(--la-ink); margin-bottom:8px; }
.lals-rch-empty__box p{ margin:0; color:var(--la-muted); font-size:14.5px; }
.lals-rch-empty__h2{ margin:44px 0 18px; text-align:center; }

.lals-404{ padding:76px 0 56px; text-align:center; }
.lals-404__code{
  font-family:var(--la-serif); font-size:64px; font-weight:600;
  color:var(--la-line-fort); margin:0; line-height:1;
}
.lals-404__title{ margin:10px 0 14px; }
.lals-404__text{ color:var(--la-muted); max-width:56ch; margin:0 auto 28px; }
.lals-404__search{ display:flex; gap:10px; max-width:520px; margin:0 auto 20px; }
.lals-404__search input{
  flex:1 1 auto; min-width:0; height:46px; padding:0 14px;
  border:1px solid var(--la-line); border-radius:6px; background:var(--la-white);
  font-family:var(--la-sans); font-size:15px; color:var(--la-ink);
}
.lals-404__actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.lals-404-envies{ padding:52px 0; background:var(--la-paper); border-block:1px solid var(--la-line); }
.lals-404-envies .lals-section-title{ text-align:center; margin-bottom:20px; }
.lals-404-envies__second{ margin-top:44px !important; }
.lals-404-articles{ padding:60px 0; }

.lals-contact-layout{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; align-items:start; }
.lals-contact-form{ margin-top:22px; }
.lals-contact-aside{ display:flex; flex-direction:column; gap:18px; }
.lals-aside-box{ background:var(--la-paper); border:1px solid var(--la-line); border-radius:10px; padding:20px 22px; }
.lals-aside-box__title{
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--la-vigne); font-weight:600; margin:0 0 12px;
}
.lals-aside-box ul{ list-style:none; margin:0; padding:0; }
.lals-aside-box li{ font-size:14px; color:var(--la-muted); padding:9px 0; border-bottom:1px solid var(--la-line); }
.lals-aside-box li:last-child{ border-bottom:0; }
.lals-aside-box b{ color:var(--la-ink); }
.lals-aside-box a{ color:var(--la-grenat); }

/* Contact Form 7, si le plugin est actif. */
.lals-contact-form .wpcf7-form p{ margin:0 0 16px; }
.lals-contact-form input[type=text],
.lals-contact-form input[type=email],
.lals-contact-form input[type=tel],
.lals-contact-form textarea{
  width:100%; border:1px solid var(--la-line); border-radius:6px; padding:11px 13px;
  font-family:var(--la-sans); font-size:14.5px; color:var(--la-ink); background:var(--la-white);
}
.lals-contact-form input[type=submit]{
  height:46px; padding:0 26px; border-radius:6px; cursor:pointer;
  background:var(--la-vigne); color:var(--la-white); border:1px solid var(--la-vigne);
  font-family:var(--la-sans); font-size:15px; font-weight:500;
}
.lals-contact-form input[type=submit]:hover{ background:var(--la-vigne-d); }

/* Pages légales : registre neutre, lecture continue, pas d'ornement. */
.lals-legal h2{ font-size:21px; margin:34px 0 10px; padding-top:20px; border-top:1px solid var(--la-line); }
.lals-legal h2:first-of-type{ border-top:0; padding-top:0; margin-top:0; }
.lals-legal h2 em{ font-style:normal; color:inherit; }
.lals-legal p{ font-size:15px; }
.lals-legal ul{ margin:0 0 18px; padding-left:22px; }
.lals-legal li{ margin-bottom:8px; font-size:15px; }


/* ==========================================================================
   5 bis. ACCUEIL — LE GUIDE (texte du client, 2026-09-11)
   La forme suit le nom de la piste : une ROUTE. Ouverture en grand corps, un
   itinéraire pour sommaire, puis les deux départements parcourus du nord au sud,
   halte par halte, le long d'un tracé en pointillé. Aucune ombre, des filets.
   ========================================================================== */

.lals-guide{ padding:72px 0 10px; }
.lals-ouverture{
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:18px 56px; align-items:end;
}
.lals-ouverture .lals-eyebrow{ grid-column:1 / -1; margin:0; }
.lals-ouverture__lead{
  margin:0; font-family:var(--la-serif); font-size:clamp(19px,1.9vw,23px); line-height:1.55; color:var(--la-ink);
}
/* Lettrine : trois lignes de hauteur, en grenat, comme l'initiale d'une carte des vins. */
.lals-ouverture__lead::first-letter{
  float:left; font-size:3.3em; line-height:.86; font-weight:600; color:var(--la-grenat); padding:7px 10px 0 0;
}
.lals-ouverture__suite{
  margin:0; padding-left:22px; border-left:2px solid var(--la-grenat); color:var(--la-muted); font-size:15.5px;
}

/* L'itinéraire : une ligne verte, une borne par étape. Défile à l'horizontale sur mobile.
   La ligne est un FOND, pas une bordure : overflow-x:auto rogne tout ce qui dépasse du bord
   du bloc, et des bornes posées à cheval sur une border-top étaient coupées en deux.
   background-attachment:local la fait courir sur toute la largeur défilable. */
.lals-itineraire{
  display:flex; margin-top:40px; overflow-x:auto; scrollbar-width:none;
  background:linear-gradient(var(--la-vigne),var(--la-vigne)) left 5px / 100% 2px no-repeat local;
}
.lals-itineraire::-webkit-scrollbar{ display:none; }
.lals-itineraire a{
  flex:1 0 auto; position:relative; padding:22px 22px 6px 0;
  font-size:13.5px; font-weight:500; color:var(--la-ink); text-decoration:none; white-space:nowrap;
}
.lals-itineraire a::before{
  content:""; position:absolute; top:0; left:0; width:12px; height:12px; border-radius:50%;
  background:var(--la-white); border:2px solid var(--la-vigne); transition:background .15s, border-color .15s;
}
.lals-itineraire a:hover{ color:var(--la-grenat); }
.lals-itineraire a:hover::before{ background:var(--la-grenat); border-color:var(--la-grenat); }

/* Tête de chapitre : le titre à gauche, son chapeau à droite, alignés sur leur pied. */
.lals-chapitre-tete{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 56px; align-items:end;
  margin-bottom:34px;
}
.lals-chapitre-tete p{ margin:0; color:var(--la-muted); font-size:15.5px; max-width:62ch; }

/* Les trois étiquettes : double filet (bordure + contour intérieur), appellation en tête. */
.lals-etiquettes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.lals-etiquette{
  background:var(--la-white); border:1px solid var(--la-line-fort);
  outline:1px solid var(--la-line); outline-offset:-8px; padding:32px 30px 28px;
}
.lals-etiquette__cru{
  display:block; text-align:center; font-family:var(--la-serif); font-style:italic; font-size:16px;
  color:var(--la-grenat); padding-bottom:12px; margin-bottom:16px; border-bottom:1px solid var(--la-line);
}
.lals-etiquette h3{ font-size:19px; text-align:center; margin:0 0 14px; }
.lals-etiquette p{ margin:0 0 14px; font-size:15px; }
.lals-etiquette p:last-child{ margin-bottom:0; }

/* Le panneau de département : la direction en bandeau vertical, comme un panneau de route. */
.lals-panneau{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 28px; align-items:start; margin-bottom:44px;
}
.lals-panneau__dir{
  grid-row:span 3; align-self:stretch; display:flex; align-items:center; justify-content:center;
  writing-mode:vertical-rl; transform:rotate(180deg);
  background:var(--la-vigne); color:var(--la-white); border-radius:4px; padding:16px 10px;
  font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
}
.lals-panneau h2{ margin:0; }
.lals-panneau p{ margin:4px 0 0; color:var(--la-muted); max-width:72ch; }
.lals-panneau__lien{ margin-top:12px !important; }

/* La route : un tracé en pointillé vert, une borne grenat par halte. */
.lals-route{ list-style:none; margin:0; padding:0 0 0 34px; position:relative; }
.lals-route::before{
  content:""; position:absolute; left:7px; top:12px; bottom:12px; width:2px;
  background:repeating-linear-gradient(to bottom,var(--la-vigne) 0 14px,transparent 14px 22px);
}
.lals-halte{
  position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);
  gap:10px 52px; padding:0 0 38px;
}
.lals-halte + .lals-halte{ padding-top:36px; border-top:1px solid var(--la-line); }
.lals-halte:last-child{ padding-bottom:0; }
.lals-halte::before{
  content:""; position:absolute; left:-34px; top:4px; width:16px; height:16px; border-radius:50%;
  background:var(--la-white); border:3px solid var(--la-grenat);
}
.lals-halte + .lals-halte::before{ top:40px; }
.lals-halte__tete,.lals-halte__texte{ min-width:0; }
.lals-halte__lieux{
  margin:0 0 8px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:600; color:var(--la-vigne);
}
.lals-halte h3{ font-size:22px; margin:0 0 16px; }
.lals-halte__lien{
  display:inline-flex; align-items:baseline; gap:10px; font-size:14px; font-weight:500;
  color:var(--la-grenat); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px;
}
.lals-halte__lien:hover{ color:#65212E; }
.lals-halte__lien b{ font-family:var(--la-serif); font-size:18px; font-weight:600; }
.lals-halte__texte p{ margin:0 0 16px; }
.lals-halte__texte p:last-child{ margin:0; }

/* Les ambiances : trois panneaux de couleur accolés, la douceur, la passion, la nature. */
.lals-ambiances{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-radius:8px; overflow:hidden; }
.lals-ambiance{ display:flex; flex-direction:column; padding:34px 30px 30px; }
.lals-ambiance h3{ font-size:21px; margin:0 0 14px; }
.lals-ambiance p{ margin:0 0 16px; font-size:15px; }
.lals-ambiance__liens{ margin:auto 0 0 !important; padding-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.lals-ambiance--douceur{ background:var(--la-white); border:1px solid var(--la-line); border-right:0; }
.lals-ambiance--passion{ background:var(--la-grenat); color:#F3E6E8; }
.lals-ambiance--nature{ background:var(--la-vigne); color:#E4ECE6; }
.lals-ambiance--passion h3,.lals-ambiance--nature h3{ color:var(--la-white); }
.lals-ambiance--passion .lals-chip,.lals-ambiance--nature .lals-chip{
  background:transparent; color:var(--la-white); border-color:rgba(255,255,255,.5);
}
.lals-ambiance--passion .lals-chip:hover,.lals-ambiance--nature .lals-chip:hover{
  background:var(--la-white); color:var(--la-ink); border-color:var(--la-white);
}

/* Pourquoi l'Alsace : la table à gauche, les saisons en marge à droite. */
.lals-alsace{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:48px; align-items:start; }
.lals-gourmet{ background:var(--la-wash); border-radius:8px; padding:30px 30px 26px; }
.lals-gourmet h3,.lals-saisons h3{ font-size:21px; margin:0 0 14px; }
.lals-gourmet p{ margin:0 0 14px; }
.lals-gourmet p:last-child{ margin:0; }
.lals-saisons > p{ margin:0 0 18px; color:var(--la-muted); }
.lals-saison{
  display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:16px 0; border-top:1px solid var(--la-line);
}
.lals-saison__nom{ font-family:var(--la-serif); font-style:italic; font-size:22px; line-height:1.2; color:var(--la-grenat); }
.lals-saison p{ margin:0; font-size:15px; }

/* Les clés : un registre, filet fort en tête, titre à gauche, conseil à droite. */
.lals-cles{ border-top:2px solid var(--la-ink); }
.lals-cle{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr); gap:10px 52px;
  padding:26px 0; border-bottom:1px solid var(--la-line-fort);
}
.lals-cle h3{ font-size:20px; margin:0; }
.lals-cle p{ margin:0; }

/* L'épilogue : un large filet vert en tête, la chute en grand corps, l'appel à la collection. */
.lals-epilogue{ border-top:6px solid var(--la-vigne); }
.lals-epilogue__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 64px; align-items:start; }
.lals-epilogue__lead{ margin:18px 0 0; font-family:var(--la-serif); font-size:19px; line-height:1.6; color:var(--la-ink); }
.lals-epilogue__grille > div:last-child p{ margin:0; }
.lals-epilogue__grille > div:last-child .lals-inline-cta{ margin-top:26px; }

@media (max-width:1000px){
  .lals-ouverture,.lals-chapitre-tete,.lals-alsace,.lals-epilogue__grille{ grid-template-columns:1fr; }
  .lals-etiquettes,.lals-ambiances{ grid-template-columns:1fr; }
  .lals-ambiance--douceur{ border-right:1px solid var(--la-line); border-bottom:0; }
  .lals-halte,.lals-cle{ grid-template-columns:1fr; }
}
@media (max-width:700px){
  .lals-guide{ padding-top:48px; }
  .lals-itineraire{ margin-top:30px; }
  .lals-panneau{ grid-template-columns:1fr; }
  .lals-panneau__dir{
    grid-row:auto; justify-self:start; writing-mode:horizontal-tb; transform:none; padding:6px 12px;
  }
  .lals-route{ padding-left:28px; }
  .lals-halte::before{ left:-28px; }
  .lals-saison{ grid-template-columns:1fr; gap:4px; }
  .lals-etiquette,.lals-ambiance,.lals-gourmet{ padding:24px 20px; }
}


/* ==========================================================================
   5 ter. PAGE STRASBOURG — formes propres à son guide (2026-09-11)
   Le guide réutilise les briques de l'accueil (5 bis). S'ajoutent ici : les
   étiquettes par deux, les fiches d'équipement, les mentions, les quartiers dans
   une halte, les scénarios numérotés, les ambiances par quatre, les horaires.
   ========================================================================== */

.lals-etiquettes--duo{ grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Fiche d'équipement : le titre et son chapeau à gauche, les lignes à droite. */
.lals-equip{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:14px 52px;
  padding:34px 0; border-top:1px solid var(--la-line-fort);
}
.lals-chapitre-tete + .lals-equip{ border-top:2px solid var(--la-ink); }
.lals-equip > *{ min-width:0; }
.lals-equip__tete h3{ font-size:22px; margin:0 0 12px; }
.lals-equip__tete p{ margin:0; color:var(--la-muted); font-size:15px; }
.lals-specs{ margin:0; }
.lals-specs > div{
  display:grid; grid-template-columns:200px minmax(0,1fr); gap:6px 26px;
  padding:14px 0; border-bottom:1px solid var(--la-line);
}
.lals-specs > div:first-child{ padding-top:2px; }
.lals-specs > div:last-child{ border-bottom:0; padding-bottom:0; }
.lals-specs dt{ font-family:var(--la-serif); font-weight:600; font-size:16.5px; line-height:1.35; color:var(--la-ink); }
.lals-specs dd{ margin:0; font-size:15px; }

/* Mentions : une énumération sans description, en étiquettes pointillées. */
.lals-mentions{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.lals-mentions li{
  font-family:var(--la-serif); font-style:italic; font-size:16px; line-height:1.3; color:var(--la-grenat);
  background:var(--la-white); border:1px dashed var(--la-line-fort); border-radius:99px; padding:8px 16px;
}
.lals-equip__liens{ margin:22px 0 0; }

/* Plusieurs quartiers dans une même halte de la route. */
.lals-quartier + .lals-quartier,.lals-halte__texte > p + .lals-quartier{
  margin-top:22px; padding-top:20px; border-top:1px dashed var(--la-line-fort);
}
.lals-quartier h4{ font-size:18px; margin:0 0 8px; color:var(--la-grenat); }
.lals-quartier p{ margin:0 !important; }

/* Bloc titré à l'intérieur d'un chapitre. */
.lals-bloc{ margin-top:52px; }
.lals-bloc > h3{ font-size:22px; margin:0 0 10px; }
.lals-bloc__intro{ margin:0 0 24px; color:var(--la-muted); max-width:72ch; }
.lals-equip.lals-bloc{ margin-top:52px; border-top:2px solid var(--la-ink); }

/* Les scénarios, numérotés comme le client les a numérotés. */
.lals-scenarios{
  list-style:none; margin:0; padding:0; counter-reset:lals-scen;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;
}
.lals-scenarios li{
  counter-increment:lals-scen; background:var(--la-paper); border:1px solid var(--la-line);
  border-top:3px solid var(--la-grenat); border-radius:0 0 8px 8px; padding:24px 24px 22px;
}
.lals-scenarios li::before{
  content:counter(lals-scen); display:block; margin-bottom:10px;
  font-family:var(--la-serif); font-size:42px; font-weight:600; line-height:1; color:var(--la-grenat);
}
.lals-scenarios h4{ font-size:18px; margin:0 0 10px; }
.lals-scenarios p{ margin:0; font-size:15px; }

/* Les ambiances par quatre : deux fois deux, avec un quatrième ton, la nuit. */
.lals-ambiances--quatre{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.lals-ambiances--quatre .lals-ambiance--douceur{ border:1px solid var(--la-line); }
.lals-ambiance h4{ font-size:20px; margin:0 0 12px; }
.lals-ambiance--nuit{ background:var(--la-ink); color:#DDE3DE; }
.lals-ambiance--passion h4,.lals-ambiance--nature h4,.lals-ambiance--nuit h3,.lals-ambiance--nuit h4{ color:var(--la-white); }
.lals-ambiance--nuit .lals-chip{ background:transparent; color:var(--la-white); border-color:rgba(255,255,255,.5); }
.lals-ambiance--nuit .lals-chip:hover{ background:var(--la-white); color:var(--la-ink); border-color:var(--la-white); }

/* Deux colonnes, dont un encart teinté. */
.lals-duo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.lals-duo h3{ font-size:21px; margin:0 0 14px; }
.lals-duo p{ margin:0 0 14px; }
.lals-duo p:last-child{ margin:0; }
.lals-encart{ background:var(--la-wash); border-radius:8px; padding:30px 30px 26px; }

/* Les horaires en grand, repris de la phrase qui les donne. */
.lals-horaires{ display:flex; margin:0 0 20px; border:1px solid var(--la-line-fort); border-radius:8px; overflow:hidden; background:var(--la-white); }
.lals-horaires > div{ flex:1; padding:14px 18px; }
.lals-horaires > div + div{ border-left:1px solid var(--la-line-fort); }
.lals-horaires span{ display:block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--la-muted); }
.lals-horaires b{ display:block; margin-top:4px; font-family:var(--la-serif); font-size:26px; font-weight:600; line-height:1.1; color:var(--la-vigne); }

.lals-epilogue__fin{ margin-top:16px !important; font-family:var(--la-serif); font-style:italic; font-size:17px; color:var(--la-ink); }

@media (max-width:1000px){
  .lals-etiquettes--duo,.lals-equip,.lals-scenarios,.lals-ambiances--quatre,.lals-duo{ grid-template-columns:1fr; }
}
@media (max-width:700px){
  .lals-specs > div{ grid-template-columns:1fr; gap:4px; }
  .lals-scenarios li,.lals-encart{ padding:22px 20px; }
  .lals-horaires b{ font-size:22px; }
}


/* ==========================================================================
   5 quater. PAGE MULHOUSE — deux formes de plus (2026-09-11)
   Le texte sur deux colonnes, le registre logistique pleine largeur, et les
   saisons en pleine largeur. Le reste vient de 5 bis et 5 ter.
   ========================================================================== */

.lals-deux-colonnes{ columns:2; column-gap:52px; }
.lals-deux-colonnes p{ margin:0 0 16px; break-inside:avoid-column; }
.lals-deux-colonnes p:last-child{ margin-bottom:0; }

.lals-specs--registre{ border-top:2px solid var(--la-ink); padding-top:22px; }
.lals-specs--registre > div{ grid-template-columns:280px minmax(0,1fr); gap:6px 52px; padding:20px 0; }
.lals-specs--registre dt{ font-size:19px; }

.lals-saisons--large .lals-saison{ grid-template-columns:200px minmax(0,1fr); gap:30px; padding:22px 0; }
.lals-saisons--large .lals-saison:last-child{ border-bottom:1px solid var(--la-line); }
.lals-saisons--large .lals-saison__nom{ font-size:26px; }

.lals-mentions--haut{ margin-bottom:18px; }

@media (max-width:1000px){
  .lals-deux-colonnes{ columns:1; }
  .lals-specs--registre > div{ grid-template-columns:1fr; gap:6px; }
}
@media (max-width:700px){
  .lals-saisons--large .lals-saison{ grid-template-columns:1fr; gap:4px; }
}


/* ==========================================================================
   5 quinquies. PAGE COLMAR — ajustements (2026-09-11)
   Une ouverture dont la colonne de droite porte deux paragraphes, un épilogue sans
   titre, une halte qui porte deux liens, des cartes numérotées titrées en h3.
   ========================================================================== */

/* Quand la colonne de droite est la plus haute, l'alignement par le pied laisserait un grand
   vide au-dessus du paragraphe d'ouverture : on aligne alors par le haut. */
.lals-ouverture:has(> div.lals-ouverture__suite){ align-items:start; }
div.lals-ouverture__suite p{ margin:0 0 12px; }
div.lals-ouverture__suite p:last-child{ margin:0; }
.lals-epilogue__seul{ max-width:840px; }
.lals-epilogue__seul .lals-epilogue__lead{ margin-top:8px; }
.lals-halte__liens{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.lals-scenarios h3{ font-size:18px; margin:0 0 10px; }


/* ==========================================================================
   9. RESPONSIVE
   Deux ruptures seulement : 1000 px (les colonnes tombent) et 700 px (mobile).
   ========================================================================== */

@media (max-width:1000px){
  .lals-hero__inner{ grid-template-columns:1fr; gap:32px; }
  .lals-hero__visual{ order:-1; }
  .lals-article-layout,.lals-contact-layout,.lals-s-desc,.lals-s-book{ grid-template-columns:1fr; gap:32px; }
  .lals-article-aside{ position:static; }
  .lals-envies,.lals-cards,.lals-blog-grid,.lals-steps,.lals-territoires{ grid-template-columns:1fr 1fr; }
  /* Sur deux colonnes, cinq vignettes tombent juste : la première reprend sa taille normale. */
  .lals-envies:has(> :nth-child(5):last-child) > .lals-envie:first-child{
    grid-column:span 2; aspect-ratio:16/7;
  }
  .lals-footer__grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .lals-s-strip{ grid-template-columns:1fr; }
  .lals-s-strip__thumbs{ grid-template-columns:repeat(4,1fr); grid-auto-rows:80px; }
  .lals-featured__media{ flex:1 1 100%; max-width:100%; aspect-ratio:16/9; }

  /* Le menu devient un tiroir. Il n'est plus déplié au survol : sur un écran
     tactile, le survol n'existe pas et les sous-menus resteraient inaccessibles. */
  .lals-nav{
    display:none; position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0; padding:10px 4vw 18px;
    background:var(--la-white); border-bottom:1px solid var(--la-line);
    box-shadow:0 20px 40px -30px rgba(26,33,28,.8);
  }
  .lals-nav.is-open{ display:flex; }
  .lals-nav > a,.lals-nav__toggle{ padding:12px 0; border-bottom:1px solid var(--la-line); }
  .lals-nav__drop{ position:static; }
  .lals-nav__menu{
    position:static; display:flex; border:0; box-shadow:none; padding:0 0 8px 14px;
    min-width:0; background:transparent;
  }
  .lals-nav__menu a{ padding:8px 0; font-size:13.5px; color:var(--la-muted); }
  .lals-burger{ display:inline-flex; }
  .lals-header__cta{ display:none; }
}

@media (max-width:700px){
  .lals-section,.lals-faq,.lals-related{ padding:44px 0; }
  .lals-envies,.lals-cards,.lals-blog-grid,.lals-steps,.lals-territoires{ grid-template-columns:1fr; }
  /* Une seule colonne : plus de vignette large, sinon elle s'aplatit en bandeau. */
  .lals-envies:has(> :nth-child(5):last-child) > .lals-envie:first-child{
    grid-column:auto; aspect-ratio:4/3;
  }
  .lals-footer__grid{ grid-template-columns:1fr; }
  .lals-section-head{ flex-direction:column; align-items:flex-start; gap:14px; }
  .lals-hero__trust{ gap:20px; }
  .lals-hero__trust li{ max-width:none; flex:1 1 40%; }
  .lals-s-form__row,.lals-s-dates__row{ grid-template-columns:1fr; }
  .lals-s-equips{ grid-template-columns:1fr; }
  .lals-s-facts{ gap:14px 0; }
  .lals-s-facts > div{ padding-right:18px; margin-right:18px; }
  .lals-s-facts__cta{ margin-left:0 !important; flex:1 1 100%; }
  .lals-s-strip__thumbs{ grid-template-columns:repeat(4,1fr); grid-auto-rows:64px; }
  .lals-owners__inner{ align-items:flex-start; }
  .lals-404__code{ font-size:48px; }
  .lals-searchbar form{ flex-direction:column; }
  .lals-rch-form,.lals-404__search{ flex-direction:column; }
  /* La barre collante du bas laisse la place au contenu de fin de page. */
  .lals-s{ padding-bottom:84px; }
}
