/* ==========================================================================
   APULIA — Séjour / Travel Social
   Identité : orange #F6A623, bleu profond, turquoise, mer Adriatique/Ionienne,
   villages blancs, ambiance premium méditerranéenne.
   Interdits : overlay rose, halo rose, boutons flottants sur la carte.
   ========================================================================== */

#apulia-ss-root{
	--ass-orange:#F6A623;
	--ass-orange-soft:rgba(246,166,35,.28);
	--ass-deep:#001D26;       /* bleu profond */
	--ass-teal:#003F52;       /* turquoise foncé */
	--ass-turquoise:#00A8A8;  /* turquoise */
	--ass-blue:#173B74;
	--ass-card:#fffaf3;       /* blanc cassé villages */
	--ass-line:#eadfce;
	--ass-muted:#7d7468;
	--ass-text:#001D26;

	/* Fond de carte APULIA : dégradé 90° bleu profond → turquoise mer.
	   Texte/labels/bordures clairs associés pour préserver la lisibilité. */
	--ass-card-grad:linear-gradient(90deg,#001D26 0%,#005E75 100%);
	--ass-on-card:#EAF3F5;
	--ass-on-card-muted:rgba(234,243,245,.66);
	--ass-on-card-line:rgba(255,255,255,.16);
	--ass-close-size:40px;

	/* Système de design — grille 8 px (espacements, rayons, tailles homogènes).
	   Base réutilisable pour toute la refonte UI (boutons, sheets, cartes). */
	--ass-s1:4px; --ass-s2:8px; --ass-s3:12px; --ass-s4:16px; --ass-s5:24px; --ass-s6:32px; --ass-s7:40px;
	--ass-radius-sm:12px; --ass-radius:16px; --ass-radius-lg:24px;
	--ass-btn-h:52px;
	--ass-title:22px; --ass-title-lg:26px;
	--ass-ease:cubic-bezier(.22,.61,.36,1);
	--ass-panel-desktop-w:520px;
	/* Hauteur de la barre de navigation fixe du site (Plages / Explorer /
	   Apulia / Séjour / Compte). Sert à remonter le bouton flottant « + »
	   au-dessus d'elle. Ajuste cette valeur si le bouton est trop haut/bas. */
	--ass-nav-clear:88px;

	position:relative;
	width:100%;
	min-height:100vh;
	min-height:100dvh;
	overflow:hidden;
	background:var(--ass-deep);
	color:var(--ass-text);
	font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Roboto,system-ui,sans-serif;
}

/* Aucun halo / overlay rose (tap highlight, focus, active) */
#apulia-ss-root,
#apulia-ss-root *{ -webkit-tap-highlight-color:transparent; }
#apulia-ss-root button,
#apulia-ss-root select,
#apulia-ss-root input,
#apulia-ss-root textarea{ -webkit-appearance:none; appearance:none; }
#apulia-ss-root button:focus,
#apulia-ss-root button:focus-visible,
#apulia-ss-root button:active{ outline:none; box-shadow:none; }
#apulia-ss-root button::-moz-focus-inner{ border:0; }
/* Focus unifié des champs : bordure turquoise APULIA, jamais l'outline natif
   (rose/violet/bleu) du navigateur, ni le liseré « invalide » rouge. */
#apulia-ss-root input:focus,
#apulia-ss-root select:focus,
#apulia-ss-root textarea:focus,
#apulia-ss-root input:focus-visible,
#apulia-ss-root select:focus-visible,
#apulia-ss-root textarea:focus-visible{
	outline:none; border-color:var(--ass-turquoise);
	box-shadow:0 0 0 3px rgba(0,168,168,.16);
}
#apulia-ss-root input:invalid,
#apulia-ss-root select:invalid,
#apulia-ss-root textarea:invalid{ box-shadow:none; }

/* ===== Carte ===== */
.apulia-ss-map-bg{ position:absolute; inset:0; z-index:1; background:var(--ass-deep); }
.apulia-ss-map{ position:absolute; inset:0; width:100%; height:100%; min-height:100vh; min-height:100dvh; z-index:1; }

/* Pas de contrôles flottants ni attribution visible */
.apulia-ss-map .maplibregl-ctrl-attrib,
.apulia-ss-map .maplibregl-ctrl-logo,
.apulia-ss-map .maplibregl-ctrl-top-right,
.apulia-ss-map .maplibregl-ctrl-top-left,
.apulia-ss-stats-map .maplibregl-ctrl-attrib,
.apulia-ss-stats-map .maplibregl-ctrl-logo{ display:none !important; }

.maplibregl-popup-content{
	border-radius:18px; padding:12px 14px;
	background:linear-gradient(135deg,var(--ass-deep),var(--ass-teal),#005E75);
	color:#fff; box-shadow:0 14px 34px rgba(0,0,0,.38);
	overflow:hidden;
}
.maplibregl-popup-content:has(.apulia-ss-popup--discovery){
	padding:14px 16px 16px;
	max-width:min(300px, calc(100vw - 40px));
}
.maplibregl-popup-tip,
.maplibregl-popup-close-button{ display:none; }

.apulia-ss-popup{ width:220px; }
.apulia-ss-popup-img{
	width:calc(100% + 28px); height:104px; margin:-12px -14px 10px;
	overflow:hidden; border-radius:14px 14px 0 0; background:rgba(255,255,255,.06);
}
.apulia-ss-popup-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.apulia-ss-popup-img.is-ph{
	height:72px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,rgba(0,29,38,.55),rgba(0,98,122,.42));
}
.apulia-ss-popup-ph-mark{
	font-size:11px; font-weight:900; letter-spacing:.22em; color:rgba(255,255,255,.72);
}
.apulia-ss-popup small{
	display:inline-block; padding:4px 8px; border-radius:999px;
	background:var(--ass-orange); color:var(--ass-deep);
	font-weight:900; text-transform:uppercase; font-size:10px; margin-bottom:7px;
}
.apulia-ss-popup strong{ display:block; font-size:15px; margin-bottom:4px; }
.apulia-ss-popup .apulia-ss-popup-add{
	margin-top:8px; width:100%; border:none; border-radius:10px;
	background:var(--ass-orange); color:var(--ass-deep);
	font-weight:800; padding:8px; cursor:pointer; font-size:12px;
}

/* Popups carte — mode Découverte (titre d'abord, image recadrée) */
.apulia-ss-popup--discovery{
	width:100%; min-width:0; max-width:268px;
}
.apulia-ss-popup--discovery .apulia-ss-popup-head{
	display:flex; flex-wrap:wrap; align-items:baseline;
	gap:5px 8px; margin:0 0 12px;
}
.apulia-ss-popup--discovery .apulia-ss-popup-title{
	flex:1 1 auto; min-width:0; margin:0;
	font-size:clamp(15px, 4.2vw, 17px); font-weight:800; line-height:1.28;
	letter-spacing:-.01em; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge{
	flex:0 0 auto; align-self:center;
	display:inline-flex; align-items:center;
	padding:3px 9px; border-radius:999px;
	background:var(--ass-orange); color:var(--ass-deep);
	font-size:9px; font-weight:900; text-transform:uppercase;
	letter-spacing:.06em; white-space:nowrap;
}
.apulia-ss-popup--discovery .apulia-ss-popup-head.is-badge-below .apulia-ss-popup-title{
	flex-basis:100%;
}
.apulia-ss-popup--discovery .apulia-ss-popup-head.is-badge-below .apulia-ss-popup-badge{
	flex-basis:auto; margin-top:1px;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="plage"],
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="lido"]{
	background:#2F80ED; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="hebergement"]{
	background:#8E44AD; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="restaurant"]{
	background:#E74C3C; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="activite"]{
	background:#27AE60; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-badge[data-type="location"]{
	background:#00A8A8; color:#fff;
}
.apulia-ss-popup--discovery .apulia-ss-popup-media{
	width:100%; margin:0;
	aspect-ratio:5 / 3;
	height:auto; min-height:0;
	border-radius:12px;
	overflow:hidden;
	background:rgba(0,0,0,.22);
	position:relative; isolation:isolate;
}
.apulia-ss-popup--discovery .apulia-ss-popup-media.is-ph{
	display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,rgba(0,29,38,.62),rgba(0,98,122,.48));
}
.apulia-ss-popup--discovery .apulia-ss-popup-media img{
	width:100%; height:100%;
	object-fit:cover; object-position:center center;
	display:block; max-width:none; max-height:none;
	transform:scale(var(--popup-img-scale, 1.06));
	transform-origin:center center;
	-webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.apulia-ss-popup--discovery .apulia-ss-popup-media.is-framed img{
	will-change:transform;
}
@media (max-width:380px){
	.maplibregl-popup-content:has(.apulia-ss-popup--discovery){
		padding:12px 14px 14px;
		max-width:calc(100vw - 32px);
	}
	.apulia-ss-popup--discovery{ max-width:none; }
	.apulia-ss-popup--discovery .apulia-ss-popup-media{ border-radius:10px; }
}
@media (min-width:768px){
	.apulia-ss-popup--discovery{ max-width:272px; }
	.apulia-ss-popup--discovery .apulia-ss-popup-title{ font-size:17px; }
}
@media (min-width:1024px){
	.apulia-ss-popup--discovery .apulia-ss-popup-media{ border-radius:13px; }
}

/* ===== Markers ===== */
.apulia-ss-pin-wrap{ width:22px; height:22px; cursor:pointer; will-change:transform; }
.apulia-ss-pin{
	position:relative; display:block; width:16px; height:16px; margin:3px;
	border-radius:50%; background:var(--c,#F6A623); border:2px solid #fff;
	box-shadow:0 3px 9px rgba(0,0,0,.42);
	transform:scale(0); transition:transform .42s cubic-bezier(.18,.9,.32,1.5);
}
.apulia-ss-pin.is-in{ transform:scale(1); }
.apulia-ss-pin.is-step{ width:13px; height:13px; }
.apulia-ss-pin.is-fav::after{
	content:""; position:absolute; inset:-5px; border-radius:50%;
	border:2px solid var(--c,#F6A623); opacity:0;
	animation:assPinPulse 2.6s ease-out infinite; animation-delay:.5s;
}
/* Marqueur mis en avant par l'animation d'accueil : léger agrandissement +
   halo discret (même palette). Placé après .is-in pour prévaloir sur son scale. */
.apulia-ss-pin.is-spotlight{ transform:scale(1.32); }
.apulia-ss-pin.is-spotlight::after{
	content:""; position:absolute; inset:-6px; border-radius:50%;
	border:2px solid var(--c,#F6A623); opacity:0;
	animation:assPinPulse 2.8s ease-out infinite;
}
@keyframes assPinPulse{
	0%{ transform:scale(.55); opacity:.55; }
	70%{ opacity:0; }
	100%{ transform:scale(1.55); opacity:0; }
}

/* ===== Intro cinématique ===== */
.apulia-ss-intro{
	position:fixed; inset:0; z-index:99990; display:flex;
	align-items:center; justify-content:center; pointer-events:none;
}
.apulia-ss-intro.is-gone{ display:none; }
.apulia-ss-intro-bg{
	position:absolute; inset:0;
	background:radial-gradient(120% 92% at 50% 30%,#00627A 0%,var(--ass-teal) 44%,var(--ass-deep) 100%);
	opacity:1; transition:opacity 1s ease;
}
.apulia-ss-intro.bg-out .apulia-ss-intro-bg{ opacity:0; }
.apulia-ss-intro-inner{
	position:relative; text-align:center; transform:translateY(14px); opacity:0;
	animation:assIntroIn 1s cubic-bezier(.2,.7,.2,1) forwards .18s;
	transition:opacity .8s ease,transform .8s ease;
}
.apulia-ss-intro.logo-out .apulia-ss-intro-inner{ opacity:0; transform:translateY(-12px); }
.apulia-ss-intro-mark{
	font-size:48px; font-weight:900; letter-spacing:.18em; color:#fff;
	text-shadow:0 6px 26px rgba(0,0,0,.45);
}
.apulia-ss-intro-bar{
	width:56px; height:4px; border-radius:99px; background:var(--ass-orange);
	margin:14px auto 0; transform:scaleX(0); transform-origin:center;
	animation:assIntroBar 1.1s ease forwards .5s;
}
.apulia-ss-intro-tag{
	margin-top:16px; font-size:12.5px; letter-spacing:.16em;
	text-transform:uppercase; color:rgba(255,255,255,.82);
}
@keyframes assIntroIn{ to{ opacity:1; transform:translateY(0); } }
@keyframes assIntroBar{ to{ transform:scaleX(1); } }

/* ===== Panneau voyageur (carte flottante ANCRÉE + scroll interne) =====
   Modèle Polarsteps : la pancarte est fixée en bas de l'écran, ne se déplace
   pas quand on scrolle (le contenu défile À L'INTÉRIEUR), la carte reste
   interactive derrière et cadre la Puglia dans la zone visible au-dessus. */
.apulia-ss-panel{
	position:fixed; left:0; right:0; bottom:0; margin:0 auto;
	z-index:5; width:100%; max-width:760px;
	height:56vh; height:56dvh;
	background:#fff; border-radius:28px 28px 0 0;
	padding:14px 18px 24px; box-shadow:0 -14px 36px rgba(0,0,0,.32);
	overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
	transition:height .26s var(--ass-ease),transform .5s cubic-bezier(.2,.8,.2,1);
}
#apulia-ss-root.intro-cloak .apulia-ss-panel{ transform:translateY(110%); }
.apulia-ss-panel.is-expanded{ height:90vh; height:90dvh; }
.apulia-ss-panel.is-compact{ height:32vh; height:32dvh; }
.apulia-ss-panel.is-compact .apulia-ss-actions,
.apulia-ss-panel.is-compact .apulia-ss-filters,
.apulia-ss-panel.is-compact .apulia-ss-section-title,
.apulia-ss-panel.is-compact .apulia-ss-trip-list{ display:none; }

/* Poignée qui reste visible en haut de la pancarte pendant le scroll interne. */
.apulia-ss-handle{
	position:sticky; top:0; z-index:2;
	width:46px; height:5px; border-radius:99px; background:var(--ass-orange);
	margin:0 auto 16px; cursor:pointer;
}

/* En-tête profil : ligne unique Avatar → identité → icônes. */
.apulia-ss-profile{ margin:0; }
.apulia-ss-profile-header{
	display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center;
	gap:10px; margin:0 0 8px;
}
.apulia-ss-profile-header-identity{
	display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center;
	gap:8px; flex:0 1 auto; min-width:0;
}
.apulia-ss-profile-header-spacer{ flex:1 1 auto; min-width:8px; }
.apulia-ss-profile-header .apulia-ss-panel-top{
	display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center;
	justify-content:flex-end; gap:8px; margin:0; flex:0 0 auto;
}
.apulia-ss-profile-header .apulia-ss-panel-top .apulia-ss-icon-btn{
	width:46px; height:46px;
}
.apulia-ss-profile-header .apulia-ss-panel-top .apulia-ss-icon-btn svg{ width:24px; height:24px; }

.apulia-ss-avatar,
.apulia-ss-profile-mini-avatar{
	width:56px; height:56px; border-radius:999px; flex-shrink:0;
	background:transparent; color:#fff;
	display:flex; align-items:center; justify-content:center;
	background-size:cover; background-position:center;
	border:none; box-shadow:0 0 0 2px rgba(255,255,255,.72);
}
.apulia-ss-avatar svg,
.apulia-ss-profile-mini-avatar svg{ width:34px; height:34px; display:block; }

.apulia-ss-profile-name{
	margin:0; font-size:var(--ass-title); font-weight:900; line-height:1;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
	flex:0 1 auto; min-width:0;
}
.apulia-ss-profile-name:empty{ display:none; }
.apulia-ss-profile-header-status{
	margin:0 !important; padding:0; font-size:15px; font-weight:700; line-height:1;
	color:var(--ass-muted); white-space:nowrap; flex:0 0 auto;
}
.apulia-ss-profile-header .apulia-ss-flag{
	font-size:18px; line-height:1; flex:0 0 auto;
}
.apulia-ss-profile-text{ min-width:0; flex:1; }
.apulia-ss-name-row{ display:flex; align-items:center; gap:var(--ass-s2); flex-wrap:wrap; }
.apulia-ss-bio{ margin:6px 0 0; font-size:13px; color:var(--ass-muted); line-height:1.35; }
.apulia-ss-profile h2{
	margin:0; font-size:var(--ass-title); font-weight:900; line-height:1.15;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.apulia-ss-profile p{ margin:4px 0 0; font-size:13px; color:var(--ass-muted); }
.apulia-ss-profile + .apulia-ss-stats-row{ margin-top:8px; }

/* Notifications / paramètres : icône orange, aucun encadrement (demande produit). */
.apulia-ss-icon-btn{
	width:42px; height:42px; border-radius:var(--ass-radius-sm); border:0 !important;
	background:transparent !important; font-size:17px; cursor:pointer; color:var(--ass-orange); flex:0 0 auto;
	display:flex; align-items:center; justify-content:center;
	transition:transform .12s var(--ass-ease),opacity .15s var(--ass-ease);
}
.apulia-ss-icon-btn svg{ width:22px; height:22px; }
.apulia-ss-icon-btn:hover{ opacity:.8; }
.apulia-ss-icon-btn:active{ transform:scale(.94); }
.apulia-ss-icon-btn.danger{ color:#C0392B; }

/* Bloc Lieux / Abonnés / Abonnements — fond transparent, contour discret. */
.apulia-ss-stats-row{
	display:grid; grid-template-columns:repeat(3,1fr); text-align:center;
	margin:var(--ass-s4) 0; background:transparent !important;
	border:1px solid var(--ass-on-card-line) !important;
	border-radius:var(--ass-radius); padding:var(--ass-s3) var(--ass-s2); box-shadow:none !important;
}
.apulia-ss-stat{
	background:transparent !important; border:0 !important;
	cursor:pointer; padding:var(--ass-s1) var(--ass-s2); color:var(--ass-on-card);
	display:flex; flex-direction:column; align-items:center; gap:2px;
	transition:color .15s var(--ass-ease);
}
.apulia-ss-stat-ico{ width:20px; height:20px; color:#fff; margin-bottom:2px; }
.apulia-ss-stat:hover strong{ filter:brightness(1.08); }
.apulia-ss-stat:last-child{ border-right:none; }
.apulia-ss-stat strong{ display:block; font-size:22px; font-weight:900; line-height:1; color:var(--ass-orange); transition:filter .15s var(--ass-ease); }
.apulia-ss-stat > span:last-child{ display:block; margin-top:3px; font-size:12px; color:#fff; font-weight:700; }

/* Actions : CTA principal pleine largeur, secondaires 50/50 qui s'enroulent.
   Boutons fins + coins arrondis 20px (demande produit). */
.apulia-ss-actions{
	display:flex; flex-wrap:wrap; gap:var(--ass-s2); margin-bottom:var(--ass-s3);
	position:relative; z-index:2;
}
.apulia-ss-actions button{ pointer-events:auto; }
.apulia-ss-actions > .apulia-ss-btn-main{ flex:1 1 100%; }
.apulia-ss-actions > .apulia-ss-btn-second{ flex:1 1 calc(50% - var(--ass-s2)); }
.apulia-ss-actions .apulia-ss-btn-main,
.apulia-ss-actions .apulia-ss-btn-second{
	min-height:44px !important; border-radius:20px !important; font-size:14px;
}
/* Ligne dashboard : Ajouter 50% fixe / Statistiques flexible / Partager 44px. */
.apulia-ss-panel:not(.is-external):not(.is-guest) .apulia-ss-actions{ flex-wrap:nowrap; }
#apulia-ss-add-trip{
	flex:0 0 50% !important; max-width:50% !important; min-width:0;
	padding:0 8px;
}
#apulia-ss-add-trip > span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#apulia-ss-open-stats-btn{
	flex:1 1 auto !important; min-width:0; padding:0 6px;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
#apulia-ss-open-stats-btn svg{ display:none; }
#apulia-ss-share-profile{
	flex:0 0 44px !important; width:44px !important; min-width:44px !important; max-width:44px !important;
	min-height:44px !important; padding:0 !important; margin:0 !important; gap:0 !important;
	font-size:0 !important; line-height:0 !important;
	position:relative; z-index:4; touch-action:manipulation;
}
#apulia-ss-share-profile svg{
	width:22px; height:22px; display:block; margin:0 auto; pointer-events:none;
}
/* Fond transparent (Statistiques + Partager) — surcharge l'anti-thème blanc. */
#apulia-ss-root #apulia-ss-open-stats-btn,
#apulia-ss-root #apulia-ss-share-profile{
	background:transparent !important; border-color:transparent !important; color:var(--ass-orange) !important;
}
.apulia-ss-add-trip-plane{ display:none; }
.apulia-ss-guest-hint{
	flex:1 1 100%; margin:0; font-size:13px; color:var(--ass-on-card-muted); text-align:center;
}

/* CTA « Ajouter un voyage » : orange, fin, arrondi 20px + avion discret. */
.apulia-ss-add-trip{ position:relative; overflow:hidden; }
.apulia-ss-add-trip-plane{
	position:absolute; right:14px; top:50%; transform:translateY(-50%);
	width:40px; height:16px; color:rgba(255,255,255,.45); pointer-events:none;
}

/* Navigation Profil / Découvrir : 2 boutons colorés sur une ligne (plus de switch). */
.apulia-ss-nav-row{
	display:flex; gap:var(--ass-s2); margin-bottom:var(--ass-s4);
}
.apulia-ss-nav-btn{
	flex:1 1 50%; min-height:44px; border:0 !important; border-radius:20px; cursor:pointer;
	font-weight:800; font-size:14px; color:#fff !important;
	display:flex; align-items:center; justify-content:center; gap:var(--ass-s2);
	transition:transform .12s var(--ass-ease),filter .15s var(--ass-ease);
}
.apulia-ss-nav-btn.is-profile{ background:var(--ass-blue) !important; }
.apulia-ss-nav-btn.is-discover{ background:var(--ass-turquoise) !important; }
.apulia-ss-nav-btn:hover{ filter:brightness(1.06); }
.apulia-ss-nav-btn:active{ transform:scale(.97); }

/* Visibilité par mode profil */
.apulia-ss-panel.is-external .is-owner-only,
.apulia-ss-panel.is-guest .is-owner-only{ display:none !important; }
.apulia-ss-panel:not(.is-external) .is-external-only{ display:none !important; }
.apulia-ss-panel:not(.is-guest) .is-guest-only{ display:none !important; }

.apulia-ss-panel.is-external .apulia-ss-stats-row,
.apulia-ss-panel.is-guest .apulia-ss-stats-row{
	grid-template-columns:repeat(2,1fr);
}
.apulia-ss-panel.is-external .apulia-ss-stats-row .is-owner-only,
.apulia-ss-panel.is-guest .apulia-ss-stats-row .is-owner-only{ display:none; }

/* Lien public partagé : invité non connecté voit le profil voyageur (type Polarsteps) */
.apulia-ss-panel.is-public-share.is-guest .is-external-only{ display:flex !important; }
.apulia-ss-panel.is-public-share.is-guest .is-guest-only{ display:none !important; }

/* Composant bouton UNIQUE (style Polarsteps, identité APULIA) :
   hauteur constante (grille 8px), rayon, typo, états hover/active/disabled
   identiques pour le principal et le secondaire. Aucune bordure « rose ». */
.apulia-ss-btn-main,
.apulia-ss-btn-second{
	min-height:var(--ass-btn-h); border:1.5px solid transparent; border-radius:var(--ass-radius);
	padding:0 var(--ass-s4); font-weight:900; line-height:1;
	cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; gap:var(--ass-s2);
	transition:transform .12s var(--ass-ease),filter .15s var(--ass-ease),box-shadow .15s var(--ass-ease),background .15s var(--ass-ease);
	-webkit-tap-highlight-color:transparent;
}
.apulia-ss-btn-main{
	background:var(--ass-orange); color:#fff;
	box-shadow:0 6px 16px var(--ass-orange-soft);
}
.apulia-ss-btn-second{
	background:#fff; color:var(--ass-orange); border-color:var(--ass-orange);
}
.apulia-ss-btn-second.is-muted{
	color:var(--ass-muted); border-color:var(--ass-line); font-weight:700;
}
.apulia-ss-btn-main:hover{ filter:brightness(1.05); box-shadow:0 8px 20px var(--ass-orange-soft); }
.apulia-ss-btn-second:hover{ filter:brightness(1.02); box-shadow:0 6px 16px rgba(0,29,38,.08); }
.apulia-ss-btn-main:active,
.apulia-ss-btn-second:active{ transform:scale(.97); filter:brightness(.98); }
.apulia-ss-btn-main:focus-visible,
.apulia-ss-btn-second:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ass-orange-soft); }
.apulia-ss-btn-main:disabled,
.apulia-ss-btn-second:disabled,
.apulia-ss-btn-main[disabled],
.apulia-ss-btn-second[disabled]{
	opacity:.45; cursor:not-allowed; filter:none; box-shadow:none; transform:none;
}
.apulia-ss-follow-btn.is-following,
#apulia-ss-follow-user.is-following,
#apulia-ss-trip-follow-owner.is-following{
	background:#fff; color:var(--ass-deep); border:1.5px solid var(--ass-line);
}
.apulia-ss-btn-main.full,
.apulia-ss-btn-second.full{ width:100%; margin-top:var(--ass-s4); }
.apulia-ss-btn-main.small,
.apulia-ss-btn-second.small{ min-height:40px; padding:0 var(--ass-s3); font-size:13px; }
.apulia-ss-btn-second.small{ margin-top:var(--ass-s2); }

/* Anti-conflit thème WordPress : certains thèmes imposent aux <button> un fond
   blanc et une bordure colorée (d'où des boutons « sans couleur » / lisérés
   roses). On réaffirme l'identité APULIA avec une spécificité #id + !important
   sur les seules propriétés visuelles clés (fond / texte / bordure). */
/* Neutralise TOUTE bordure « rose » imposée par le thème sur les boutons du
   plugin : couleur de ligne APULIA par défaut, surchargée ensuite au besoin. */
#apulia-ss-root button{ border-color:var(--ass-line)!important; }
/* Icônes notif/paramètres : orange forcé (le thème imposait un rose). */
#apulia-ss-root .apulia-ss-icon-btn{ border:0!important; }
#apulia-ss-root #apulia-ss-notifications{ color:var(--ass-orange)!important; }
#apulia-ss-root #apulia-ss-privacy{ color:rgba(255,255,255,.8)!important; }
#apulia-ss-root .apulia-ss-icon-btn svg{ fill:currentColor; }
#apulia-ss-root .apulia-ss-icon-btn.danger{ color:#C0392B!important; }
/* Stats profil : aucun cadre/ligne grise imposée par le thème. */
#apulia-ss-root .apulia-ss-stat,
#apulia-ss-root .apulia-ss-mem-stat{ border:0!important; }
/* Onglets Profil : texte blanc, orange si actif (le thème mettait du rose). */
#apulia-ss-root .apulia-ss-mem-tab{ border:0!important; color:var(--ass-on-card)!important; }
#apulia-ss-root .apulia-ss-mem-tab.is-active{ color:#fff!important; }
#apulia-ss-root .apulia-ss-nav-seg{ border-color:transparent!important; }
#apulia-ss-root .apulia-ss-btn-main{ background:var(--ass-orange)!important; color:#fff!important; border-color:transparent!important; }
#apulia-ss-root .apulia-ss-btn-second{ background:#fff!important; color:var(--ass-orange)!important; border-color:var(--ass-orange)!important; }
#apulia-ss-root .apulia-ss-btn-second.is-muted{ color:var(--ass-muted)!important; border-color:var(--ass-line)!important; }
#apulia-ss-root .apulia-ss-btn-main.danger{ background:#E74C3C!important; }
#apulia-ss-root .apulia-ss-follow-btn.is-following,
#apulia-ss-root #apulia-ss-follow-user.is-following,
#apulia-ss-root #apulia-ss-trip-follow-owner.is-following{ background:#fff!important; color:var(--ass-deep)!important; border-color:var(--ass-line)!important; }
#apulia-ss-root .apulia-ss-pill{ background:var(--ass-blue)!important; color:#fff!important; border-color:transparent!important; }
#apulia-ss-root .apulia-ss-pill.is-active{ background:var(--ass-turquoise)!important; }
#apulia-ss-root .apulia-ss-head-create{ background:var(--ass-orange)!important; color:#fff!important; }

.apulia-ss-filters{
	display:flex; gap:7px; overflow-x:auto; padding:4px 0 16px; scrollbar-width:none;
}
.apulia-ss-filters::-webkit-scrollbar{ display:none; }
.apulia-ss-filters button{
	flex:0 0 auto; border-radius:999px; padding:9px 13px; background:#fff;
	color:var(--ass-deep); border:1px solid var(--ass-line); font-weight:700;
	font-size:13px; cursor:pointer; white-space:nowrap;
}
.apulia-ss-filters button.is-active{
	background:var(--ass-deep); color:#fff; border-color:var(--ass-deep);
}

.apulia-ss-section-title{ margin:8px 0 12px; font-size:15px; font-weight:900; }

/* Cartes séjour — style « carnet de voyage » (couverture + dégradé + méta) */
.apulia-ss-trip-list{ display:flex; flex-direction:column; gap:var(--ass-s3); }
.apulia-ss-trip-card{
	border:1px solid var(--ass-line); border-radius:var(--ass-radius-lg); overflow:hidden;
	background:#fff; cursor:pointer; box-shadow:0 2px 10px rgba(0,29,38,.05);
	transition:transform .15s var(--ass-ease),box-shadow .15s var(--ass-ease);
}
.apulia-ss-trip-card:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,29,38,.12); }
.apulia-ss-trip-card:active{ transform:scale(.99); }
.apulia-ss-trip-cover{
	position:relative; aspect-ratio:16/9; background-size:cover; background-position:center;
	display:flex; flex-direction:column; justify-content:flex-end;
}
.apulia-ss-trip-cover.is-placeholder{
	background-image:var(--ass-card-grad);
}
.apulia-ss-trip-vis{
	position:absolute; top:var(--ass-s3); left:var(--ass-s3);
	display:inline-flex; align-items:center; font-size:11px; font-weight:800; color:#fff;
	background:rgba(0,29,38,.42); backdrop-filter:blur(4px);
	padding:4px 10px; border-radius:999px; letter-spacing:.03em;
}
.apulia-ss-trip-cover-bar{
	position:absolute; top:0; left:0; right:0; z-index:2;
	display:flex; align-items:flex-start; justify-content:space-between;
	padding:var(--ass-s3); pointer-events:none;
}
.apulia-ss-trip-cover-bar > *{ pointer-events:auto; }
.apulia-ss-trip-cover-bar .apulia-ss-trip-vis{
	position:static; top:auto; left:auto; flex:0 0 auto;
}
.apulia-ss-trip-del{
	position:relative; flex:0 0 32px !important; align-self:flex-start;
	width:32px !important; height:32px !important;
	min-width:32px !important; max-width:32px !important;
	min-height:32px !important; max-height:32px !important;
	padding:0 !important; margin:0; border:none !important; border-radius:0;
	cursor:pointer; background:transparent !important; background-image:none !important;
	box-shadow:none !important; overflow:visible;
	transition:transform .12s var(--ass-ease), opacity .15s var(--ass-ease);
	-webkit-tap-highlight-color:transparent;
}
.apulia-ss-trip-del::before{
	content:""; position:absolute; top:50%; left:50%;
	width:20px; height:20px; transform:translate(-50%,-50%);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFFFFF'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:center; background-size:contain;
	filter:drop-shadow(0 1px 3px rgba(0,29,38,.45)); pointer-events:none;
}
.apulia-ss-trip-del:hover{ opacity:.85; transform:scale(1.06); }
.apulia-ss-trip-del:active{ transform:scale(.92); opacity:.7; }
.apulia-ss-trip-cover-txt{ padding:var(--ass-s4); color:#fff; }
.apulia-ss-trip-card h4{ margin:0; font-size:20px; font-weight:900; line-height:1.15; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.apulia-ss-trip-dest{ margin-top:2px; font-size:13px; font-weight:700; opacity:.92; text-shadow:0 1px 4px rgba(0,0,0,.35); }
.apulia-ss-trip-dest::before{ content:"📍 "; }
.apulia-ss-trip-body{ padding:var(--ass-s3) var(--ass-s4) var(--ass-s4); }
/* Badge de visibilité encore utilisé dans l'en-tête du détail séjour. */
.apulia-ss-trip-badge{
	display:inline-block; font-size:11px; font-weight:800; color:var(--ass-turquoise);
	text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px;
}
.apulia-ss-trip-dates{ font-size:13px; font-weight:700; color:var(--ass-muted); margin-bottom:var(--ass-s3); }
.apulia-ss-trip-meta{ display:flex; gap:var(--ass-s5); }
.apulia-ss-trip-meta span{ font-size:18px; font-weight:800; display:flex; flex-direction:column; color:var(--ass-text); }
.apulia-ss-trip-meta small{ font-size:11px; font-weight:600; color:var(--ass-muted); margin-top:2px; }

.apulia-ss-empty{ padding:24px 8px; text-align:center; color:var(--ass-muted); font-size:14px; }

/* ===== Modales (centrées) ===== */
.apulia-ss-modal{
	position:fixed; inset:0; z-index:99995; display:none;
	align-items:center; justify-content:center; padding:18px;
	background:rgba(0,29,38,.55); backdrop-filter:blur(3px);
}
.apulia-ss-modal.is-open{ display:flex; }
.apulia-ss-modal-card{
	position:relative; width:100%; max-width:440px; max-height:88vh; overflow-y:auto;
	background:var(--ass-card); border-radius:24px; padding:24px 20px 22px;
	box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.apulia-ss-modal-card h2{ margin:0 0 16px; font-size:21px; font-weight:900; }
.apulia-ss-modal-card label{
	display:block; margin:12px 0 6px; font-size:13px; font-weight:700; color:var(--ass-text);
}
.apulia-ss-modal-card input,
.apulia-ss-modal-card select,
.apulia-ss-modal-card textarea{
	width:100%; border:1px solid var(--ass-line); border-radius:14px;
	padding:12px 14px; font-size:15px; background:#fff; color:var(--ass-text);
	box-sizing:border-box;
}
.apulia-ss-modal-card textarea{ resize:vertical; }
.apulia-ss-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.apulia-ss-modal-close{
	position:absolute; top:12px; right:12px; z-index:5;
}

/* Bouton « fermer » UNIQUE : croix ORANGE, aucun encadrement, partout
   (modales, feuilles, Story, Réel). Ombre portée légère pour rester lisible
   sur photo/vidéo claires. */
#apulia-ss-root .apulia-ss-modal-close,
#apulia-ss-root .apulia-ss-story-close,
#apulia-ss-root .apulia-ss-reel-close{
	width:var(--ass-close-size); height:var(--ass-close-size); border-radius:50%;
	border:0 !important; padding:0; flex:0 0 auto; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	background:transparent !important; color:var(--ass-orange) !important;
	font-size:26px; line-height:1; font-weight:700;
	text-shadow:0 1px 4px rgba(0,0,0,.35);
	transition:transform .12s var(--ass-ease),opacity .15s var(--ass-ease);
}
#apulia-ss-root .apulia-ss-modal-close:hover,
#apulia-ss-root .apulia-ss-story-close:hover,
#apulia-ss-root .apulia-ss-reel-close:hover{ opacity:.8; }
#apulia-ss-root .apulia-ss-modal-close:active,
#apulia-ss-root .apulia-ss-story-close:active,
#apulia-ss-root .apulia-ss-reel-close:active{ transform:scale(.92); }

.apulia-ss-media-rows{ display:flex; flex-direction:column; gap:8px; }
.apulia-ss-media-row{ display:flex; gap:8px; align-items:center; }
.apulia-ss-media-row select{ flex:0 0 92px; }
.apulia-ss-media-row input{ flex:1; }
.apulia-ss-media-row button{
	flex:0 0 36px; height:38px; border:none; border-radius:10px; background:#f0e6d6;
	cursor:pointer; font-size:16px; color:#C0392B;
}

/* ===== Sheets (bottom-sheets alignés sur #apulia-ss-panel / Carnet de voyage) =====
   Carte toujours visible au-dessus, ancrage bas, scroll interne, poignée sticky. */
.apulia-ss-sheet{
	position:fixed; inset:0; z-index:6; display:none;
	align-items:flex-end; justify-content:center;
	background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
	pointer-events:none;
}
.apulia-ss-sheet.is-open{ display:flex; z-index:8; }
.apulia-ss-sheet-card{
	pointer-events:auto;
	position:relative; width:100%; max-width:760px; margin:0 auto;
	height:56vh; height:56dvh; max-height:56vh; max-height:56dvh;
	overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
	background:var(--ass-card); border-radius:28px 28px 0 0;
	padding:14px 18px 24px;
	box-shadow:0 -14px 36px rgba(0,0,0,.32);
	transition:height .26s var(--ass-ease);
}
.apulia-ss-sheet.is-open .apulia-ss-sheet-card{
	animation:apulia-ss-panel-in .5s cubic-bezier(.2,.8,.2,1);
}
@keyframes apulia-ss-panel-in{
	from{ transform:translateY(110%); }
	to{ transform:none; }
}
.apulia-ss-sheet .apulia-ss-handle{
	position:sticky; top:0; z-index:2;
	width:46px; height:5px; border-radius:99px; background:var(--ass-orange);
	margin:0 auto 16px;
}
.apulia-ss-sheet-card h2{ margin:6px 0 4px; font-size:22px; font-weight:900; }
.apulia-ss-stats-subtitle{ margin:0 0 16px; font-size:13px; color:var(--ass-muted); }

/* ===== Feuille « Modifier mon profil » (roue dentée) ===== */
/* Hauteur/position inchangées. En-tête fixe + formulaire scrollable : on reprend
   le pattern des feuilles fonctionnelles (colonne flex, corps overflow-y:auto). */
.apulia-ss-profile-edit-card{
	height:auto; max-height:82vh; max-height:82dvh;
	display:flex; flex-direction:column;
	overflow:hidden;
	padding-bottom:0;
}
/* En-tête maintenu visible (le bouton fermer est déjà position:absolute). */
.apulia-ss-profile-edit-card > .apulia-ss-handle,
.apulia-ss-profile-edit-card > h2,
.apulia-ss-profile-edit-card > .apulia-ss-stats-subtitle{
	flex:0 0 auto;
}
/* Corps scrollable : min-height:0 + overflow-y:auto + overscroll-behavior:contain
   (comme .apulia-ss-place-body). L'espace bas dégage la barre de navigation
   (--ass-nav-clear) pour que le dernier bouton remonte entièrement au-dessus. */
.apulia-ss-profile-edit-card .apulia-ss-edit-body{
	flex:1 1 auto; min-height:0;
	overflow-y:auto; overflow-x:hidden;
	-webkit-overflow-scrolling:touch; overscroll-behavior:contain;
	padding-bottom:calc(var(--ass-nav-clear) + 24px + env(safe-area-inset-bottom, 0px));
}
.apulia-ss-edit-photo{
	display:flex; align-items:center; gap:14px; margin:4px 0 8px;
}
.apulia-ss-edit-photo .apulia-ss-profile-mini-avatar{
	box-shadow:0 0 0 2px var(--ass-orange-soft);
}
.apulia-ss-edit-photo-actions{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.apulia-ss-edit-photo-actions .apulia-ss-btn-second.small{ margin-top:0; }
.apulia-ss-edit-photo-hint{ font-size:12px; color:var(--ass-muted); }
.apulia-ss-profile-edit-card label{
	display:block; margin:14px 0 6px; font-size:13px; font-weight:700; color:var(--ass-text);
}
#apulia-ss-root .apulia-ss-profile-edit-card input[type="text"],
#apulia-ss-root .apulia-ss-profile-edit-card select{
	width:100%; box-sizing:border-box; border:1px solid var(--ass-line); border-radius:14px;
	padding:12px 14px; font-size:15px; background:#fff; color:var(--ass-text);
}
.apulia-ss-edit-actions{
	display:flex; gap:12px; margin-top:20px;
}
.apulia-ss-edit-actions .apulia-ss-btn-main,
.apulia-ss-edit-actions .apulia-ss-btn-second{ flex:1 1 50%; margin-top:0; }

/* Détail séjour */
.apulia-ss-trip-owner-bar{
	margin:0 0 16px; padding:14px; border:1px solid var(--ass-line);
	border-radius:18px; background:#fff;
}
.apulia-ss-trip-owner-main{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.apulia-ss-trip-owner-text strong{ display:block; font-size:15px; }
.apulia-ss-trip-owner-text small{ color:var(--ass-muted); font-size:12px; }
.apulia-ss-trip-owner-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.apulia-ss-trip-owner-actions .apulia-ss-btn-main,
.apulia-ss-trip-owner-actions .apulia-ss-btn-second{ flex:1 1 auto; padding:10px 12px; font-size:13px; }

.apulia-ss-trip-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.apulia-ss-trip-head h2{ margin:4px 0; }
.apulia-ss-trip-head-actions{ display:flex; gap:8px; flex-shrink:0; }
.apulia-ss-tools, .apulia-ss-trip-tools{ display:flex; gap:10px; margin:16px 0; flex-wrap:wrap; }
.apulia-ss-trip-tools .apulia-ss-btn-main{ flex:1 1 auto; }

/* Étapes */
.apulia-ss-steps{ display:flex; flex-direction:column; }
.apulia-ss-step{ display:flex; gap:var(--ass-s3); align-items:stretch; }
.apulia-ss-step-rail{ display:flex; flex-direction:column; align-items:center; flex:0 0 20px; }
.apulia-ss-step-dot{
	width:14px; height:14px; border-radius:50%; margin-top:18px; flex:0 0 auto;
	background:var(--ass-orange); border:2px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.apulia-ss-step-dot[data-cat="plage"]{ background:#2F80ED; }
.apulia-ss-step-dot[data-cat="ville"],
.apulia-ss-step-dot[data-cat="village"]{ background:var(--ass-orange); }
.apulia-ss-step-dot[data-cat="restaurant"]{ background:#E74C3C; }
.apulia-ss-step-dot[data-cat="hebergement"]{ background:#8E44AD; }
.apulia-ss-step-dot[data-cat="activite"]{ background:#27AE60; }
.apulia-ss-step-dot[data-cat="location"]{ background:var(--ass-turquoise); }
.apulia-ss-step:not(:last-child) .apulia-ss-step-rail::after{
	content:""; flex:1; width:2px; background:linear-gradient(var(--ass-orange),var(--ass-turquoise)); margin:4px 0;
}
.apulia-ss-step-body{
	flex:1; min-width:0; margin-bottom:var(--ass-s3);
	background:#fff; border:1px solid var(--ass-line); border-radius:var(--ass-radius);
	padding:var(--ass-s3) var(--ass-s4); box-shadow:0 2px 8px rgba(0,29,38,.04);
}
.apulia-ss-step-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--ass-s2); }
.apulia-ss-step-cat{
	display:inline-block; font-size:10px; font-weight:800; text-transform:uppercase;
	letter-spacing:.04em; color:var(--ass-turquoise);
	background:rgba(0,168,168,.1); padding:2px 8px; border-radius:999px;
}
.apulia-ss-step-title{ margin:6px 0 2px; font-size:16px; font-weight:800; }
.apulia-ss-step-sub{ font-size:12px; color:var(--ass-muted); }
.apulia-ss-step-actions{ display:flex; gap:var(--ass-s1); flex-shrink:0; }
/* Mini-actions d'étape (édit/suppr) : chip discret sur carte sombre. */
.apulia-ss-mini-btn{
	width:30px; height:30px; border-radius:var(--ass-radius-sm); border:0;
	background:rgba(255,255,255,.12); cursor:pointer; font-size:12px; color:var(--ass-on-card);
	display:flex; align-items:center; justify-content:center;
	transition:color .15s var(--ass-ease),background .15s var(--ass-ease),transform .12s var(--ass-ease);
}
.apulia-ss-mini-btn:hover{ background:rgba(255,255,255,.2); color:var(--ass-orange); }
.apulia-ss-mini-btn:active{ transform:scale(.92); }
.apulia-ss-mini-btn.danger:hover{ color:#ff8a7a; }
.apulia-ss-step-note{ margin:var(--ass-s2) 0 0; font-size:14px; color:#3a3631; white-space:pre-wrap; }
.apulia-ss-step-note:empty{ display:none; }
.apulia-ss-step-media{ display:flex; gap:var(--ass-s2); flex-wrap:wrap; margin-top:var(--ass-s3); }
.apulia-ss-step-media img,
.apulia-ss-step-media video{
	width:88px; height:88px; object-fit:cover; border-radius:var(--ass-radius-sm); background:#000;
}

/* Stats */
.apulia-ss-stats-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.apulia-ss-stat-big{ border-radius:20px; padding:18px; text-align:center; }
.apulia-ss-stat-big.light{ background:#fff; border:1px solid var(--ass-line); }
.apulia-ss-stat-big.dark{ background:var(--ass-deep); color:#fff; }
.apulia-ss-stat-big strong{ display:block; font-size:34px; font-weight:900; line-height:1; }
.apulia-ss-stat-big span{ display:block; margin-top:6px; font-size:12px; opacity:.8; }
.apulia-ss-stats-map{
	height:180px; border-radius:18px; overflow:hidden; margin:16px 0; background:var(--ass-deep);
}
.apulia-ss-stats-bars{ display:flex; flex-direction:column; gap:10px; }
.apulia-ss-stats-bars > div{
	display:flex; justify-content:space-between; align-items:center;
	padding:12px 14px; background:#fff; border:1px solid var(--ass-line); border-radius:14px;
}
.apulia-ss-stats-bars strong{ font-size:18px; font-weight:900; }

/* Listes sociales */
.apulia-ss-tabs{ display:flex; gap:8px; margin:8px 0 16px; }
.apulia-ss-tab{
	flex:1; padding:11px; border:1px solid var(--ass-line); border-radius:12px;
	background:#fff; font-weight:800; cursor:pointer; color:var(--ass-text); font-size:14px;
}
.apulia-ss-tab.is-active{ background:var(--ass-deep); color:#fff; border-color:var(--ass-deep); }
.apulia-ss-user-list{ display:flex; flex-direction:column; gap:10px; max-height:60vh; overflow-y:auto; }
.apulia-ss-user{
	display:flex; align-items:center; gap:12px; padding:10px; border:1px solid var(--ass-line);
	border-radius:14px; background:#fff;
}
.apulia-ss-user-avatar{
	width:44px; height:44px; border-radius:50%; flex-shrink:0; background-size:cover;
	background-position:center; background-color:var(--ass-turquoise); color:#fff;
	display:flex; align-items:center; justify-content:center; font-weight:800;
}
.apulia-ss-user-info{ flex:1; min-width:0; }
.apulia-ss-user-info strong{ display:block; font-size:15px; }
.apulia-ss-user-info small{ color:var(--ass-muted); font-size:12px; }
.apulia-ss-follow-btn{
	border:none; border-radius:999px; padding:8px 16px; font-weight:800; font-size:13px;
	cursor:pointer; background:var(--ass-orange); color:var(--ass-deep);
}
.apulia-ss-follow-btn.is-following{ background:#fff; color:var(--ass-deep); border:1px solid var(--ass-line); }

/* Feed / Découvrir */
.apulia-ss-feed-list,.apulia-ss-discover-list{ display:flex; flex-direction:column; gap:14px; }
.apulia-ss-feed-card{
	border:1px solid var(--ass-line); border-radius:18px; padding:14px; background:#fff;
}
.apulia-ss-feed-card .apulia-ss-feed-author{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.apulia-ss-feed-author .apulia-ss-user-avatar{ width:36px; height:36px; font-size:14px; }
.apulia-ss-feed-card h4{ margin:0 0 4px; font-size:16px; }
.apulia-ss-feed-actions{ margin-top:10px; }

/* Profil : nom + pills Découvrir / Mes souvenirs */
.apulia-ss-name-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.apulia-ss-name-row h2{ margin:0; font-size:20px; }
.apulia-ss-flag{ font-size:18px; line-height:1; }
.apulia-ss-nav-pills{ display:flex; gap:6px; margin-left:auto; }
.apulia-ss-pill{
	border:none; border-radius:999px; padding:6px 13px; font-size:12px; font-weight:800;
	background:var(--ass-blue); color:#fff; cursor:pointer; transition:filter .15s, transform .1s;
}
.apulia-ss-pill:hover{ filter:brightness(1.12); }
.apulia-ss-pill:active{ transform:scale(.96); }
.apulia-ss-pill.is-active{ background:var(--ass-turquoise); }
.apulia-ss-badge{
	position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 5px;
	border-radius:999px; background:var(--ass-orange); color:var(--ass-deep);
	font-size:11px; font-weight:900; display:flex; align-items:center; justify-content:center;
}
.apulia-ss-icon-btn{ position:relative; }

/* Stories */
.apulia-ss-stories-row{ display:flex; gap:12px; overflow-x:auto; padding:8px 0 14px; }
.apulia-ss-story-bubble{ border:none; background:none; cursor:pointer; text-align:center; flex:0 0 64px; }
.apulia-ss-story-ring{
	display:block; width:56px; height:56px; border-radius:50%; margin:0 auto 4px;
	background-size:cover; background-position:center; background-color:var(--ass-line);
	box-shadow:0 0 0 2px var(--ass-orange);
}

/* Suggestions */
.apulia-ss-suggestions{ margin:12px 0; }
.apulia-ss-suggestions h3{ font-size:14px; margin:0 0 8px; color:var(--ass-muted); }
.apulia-ss-suggestions-list{ display:flex; flex-wrap:wrap; gap:8px; }
.apulia-ss-suggest-user{
	display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
	border:1px solid var(--ass-line); background:#fff; cursor:pointer; font-weight:700; font-size:13px;
}
.apulia-ss-suggest-user .apulia-ss-user-avatar{ width:28px; height:28px; font-size:12px; }

/* Mes souvenirs — grille Instagram */
.apulia-ss-memories-grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:3px;
}
.apulia-ss-mem-cell{ border:none; padding:0; cursor:pointer; aspect-ratio:1; background:var(--ass-line); }
.apulia-ss-mem-thumb{
	width:100%; height:100%; background-size:cover; background-position:center;
	display:flex; align-items:center; justify-content:center;
}
.apulia-ss-mem-thumb.is-placeholder{ background:linear-gradient(135deg,var(--ass-teal),var(--ass-deep)); color:#fff; font-weight:800; font-size:12px; }
video.apulia-ss-mem-thumb{ object-fit:cover; background:#000; }

/* Notifications */
.apulia-ss-notif-list{ display:flex; flex-direction:column; gap:10px; max-height:60vh; overflow-y:auto; }
.apulia-ss-notif-item{
	display:flex; gap:12px; padding:10px; border-radius:14px; border:1px solid var(--ass-line); background:#fff;
}
.apulia-ss-notif-item.is-unread{ border-color:var(--ass-orange); background:#fffaf2; }

/* Messagerie */
.apulia-ss-messages-thread{
	max-height:45vh; overflow-y:auto; display:flex; flex-direction:column; gap:8px; margin-bottom:12px;
}
.apulia-ss-msg{
	max-width:85%; padding:10px 14px; border-radius:16px; font-size:14px; line-height:1.4;
}
.apulia-ss-msg.is-mine{ align-self:flex-end; background:var(--ass-orange); color:var(--ass-deep); }
.apulia-ss-msg.is-theirs{ align-self:flex-start; background:#fff; border:1px solid var(--ass-line); }
.apulia-ss-messages-compose{ display:flex; flex-direction:column; gap:8px; }
.apulia-ss-messages-compose textarea{
	width:100%; border:1px solid var(--ass-line); border-radius:12px; padding:10px; resize:vertical; font-family:inherit;
}

/* Reel */
.apulia-ss-reel-card{ max-width:360px; padding:0; overflow:hidden; background:var(--ass-deep); }
.apulia-ss-reel-stage{
	position:relative; aspect-ratio:9/16; max-height:70vh;
	background:linear-gradient(160deg,var(--ass-teal),var(--ass-deep));
}
.apulia-ss-reel-slide{
	position:absolute; inset:0; display:none; flex-direction:column;
	align-items:center; justify-content:center; text-align:center; color:#fff; padding:24px;
	background-size:cover; background-position:center;
}
.apulia-ss-reel-slide.is-active{ display:flex; }
.apulia-ss-reel-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent,rgba(0,29,38,.7)); z-index:0; }
.apulia-ss-reel-slide > *{ position:relative; z-index:1; }
.apulia-ss-reel-mark{ font-size:34px; font-weight:900; letter-spacing:.16em; }
.apulia-ss-reel-sub{ margin-top:8px; font-size:14px; opacity:.85; }
.apulia-ss-reel-title{ font-size:26px; font-weight:900; }
.apulia-ss-reel-controls{ display:flex; gap:8px; padding:14px; background:var(--ass-deep); }
.apulia-ss-reel-controls .apulia-ss-btn-second{ flex:0 0 52px; }
.apulia-ss-reel-controls .apulia-ss-btn-main{ flex:1; }

/* Travel Book */
.apulia-ss-book{ padding:6px 0 16px; }
.apulia-ss-book h2{ font-size:24px; }
.apulia-ss-book-section{ margin:18px 0; }
.apulia-ss-book-section h3{ font-size:15px; font-weight:900; margin:0 0 10px; color:var(--ass-teal); }
.apulia-ss-book-cities{ display:flex; flex-wrap:wrap; gap:8px; }
.apulia-ss-book-chip{
	padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--ass-line);
	font-size:13px; font-weight:700;
}

/* Wizard « Ajouter un voyage » */
.apulia-ss-wizard-progress{ display:flex; gap:8px; justify-content:center; margin:4px 0 18px; }
.apulia-ss-wizard-progress span{
	width:28px; height:5px; border-radius:999px; background:var(--ass-line); transition:background .2s ease;
}
.apulia-ss-wizard-progress span.is-active{ background:var(--ass-orange); }
.apulia-ss-wizard-step{ display:flex; flex-direction:column; gap:6px; }
.apulia-ss-wizard-step h2{ font-size:20px; margin:0 0 8px; }
.apulia-ss-wizard-choices{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.apulia-ss-wizard-choice{
	display:flex; align-items:center; gap:14px; text-align:left; cursor:pointer;
	padding:16px; border:2px solid var(--ass-line); border-radius:16px; background:#fff;
	font-weight:700; color:var(--ass-text); font-size:15px; transition:border-color .15s ease,background .15s ease;
}
.apulia-ss-wizard-choice:hover{ border-color:var(--ass-turquoise); }
.apulia-ss-wizard-choice.is-selected{ border-color:var(--ass-orange); background:#fffaf2; }
.apulia-ss-wizard-choice-emoji{ font-size:24px; line-height:1; }
.apulia-ss-wizard-cover{
	width:100%; aspect-ratio:16/9; border-radius:14px; margin-bottom:10px;
	background-size:cover; background-position:center; background-color:var(--ass-line);
	display:flex; align-items:center; justify-content:center; color:var(--ass-muted); font-size:13px;
}
.apulia-ss-wizard-cover[data-empty="0"] span{ display:none; }
.apulia-ss-wizard-nav{ display:flex; gap:10px; margin-top:18px; }
.apulia-ss-wizard-nav .apulia-ss-btn-second{ flex:0 0 38%; }
.apulia-ss-wizard-nav .apulia-ss-btn-main{ flex:1; }

/* Assistant APULIA */
.apulia-ss-assistant .apulia-ss-modal-card{ text-align:center; }
.apulia-ss-assistant h2{ font-size:21px; margin:14px 0 6px; }
.apulia-ss-assistant-visuals{
	position:relative; display:flex; gap:10px; justify-content:center; padding:10px 0 4px;
}
.apulia-ss-assistant-card{
	flex:1; max-width:90px; aspect-ratio:3/4; border-radius:14px;
	background:linear-gradient(160deg,var(--ass-turquoise),var(--ass-deep));
	display:flex; align-items:flex-end; justify-content:center; padding-bottom:8px;
	transform:translateY(calc(var(--i) * -6px));
	position:relative; overflow:hidden;
}
.apulia-ss-assistant-photo{
	position:absolute; inset:0; width:100%; height:100%;
	object-fit:cover; border-radius:inherit;
}
.apulia-ss-assistant-num{
	position:relative; z-index:1;
	width:22px; height:22px; border-radius:50%; background:var(--ass-orange); color:var(--ass-deep);
	font-weight:900; font-size:12px; display:flex; align-items:center; justify-content:center;
}
.apulia-ss-assistant-trace{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.apulia-ss-assistant .apulia-ss-btn-second.full{ margin-top:8px; }

/* ==========================================================================
   Wizard « Ajouter un voyage » — refonte UI (style Polarsteps), scopée v2.
   Plein écran mobile, en-tête fixe + barre de progression, corps scrollable,
   footer d'action clair. Aucune règle globale modifiée. Grille 8 px.
   ========================================================================== */
.apulia-ss-wizard-v2{ align-items:flex-end; padding:0; }
.apulia-ss-wizard-v2 .apulia-ss-modal-card{
	max-width:520px; width:100%; max-height:100vh; height:100vh;
	border-radius:0; padding:0; display:flex; flex-direction:column;
	background:var(--ass-card); overflow:hidden;
	animation:apulia-ss-sheet-up .32s var(--ass-ease);
}
@keyframes apulia-ss-sheet-up{ from{ transform:translateY(3%); opacity:.6; } to{ transform:translateY(0); opacity:1; } }

/* En-tête fixe : fermer + intitulé + progression */
.apulia-ss-wizard-head{
	position:relative; flex:0 0 auto; padding:var(--ass-s5) var(--ass-s5) var(--ass-s3);
	display:flex; flex-direction:column; gap:var(--ass-s3);
	background:var(--ass-card); border-bottom:1px solid var(--ass-line);
}
.apulia-ss-wizard-v2 .apulia-ss-modal-close{ top:var(--ass-s4); right:var(--ass-s4); }
.apulia-ss-wizard-eyebrow{
	font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
	color:var(--ass-turquoise);
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-progress{ margin:0; gap:var(--ass-s2); justify-content:flex-start; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-progress span{ flex:1; height:4px; }

/* Corps scrollable + footer collé en bas de chaque étape */
.apulia-ss-wizard-body{ flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-step{
	display:none; min-height:100%; box-sizing:border-box;
	padding:var(--ass-s5); gap:0;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step.is-active{ display:flex; flex-direction:column; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-step h2{ font-size:var(--ass-title-lg); font-weight:900; margin:0 0 var(--ass-s2); line-height:1.2; }
.apulia-ss-wizard-sub{ margin:0 0 var(--ass-s5); font-size:14px; color:var(--ass-muted); line-height:1.4; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="2"] .apulia-ss-field-hint{ margin:var(--ass-s2) 0 var(--ass-s7); }
.apulia-ss-wizard-step-divider{ margin:0 0 var(--ass-s2); }
.apulia-ss-wizard-step-divider + .apulia-ss-wizard-sub{ margin-top:0; }

/* Champs homogènes (8 px) */
.apulia-ss-wizard-v2 label{ margin:var(--ass-s4) 0 var(--ass-s2); font-size:13px; font-weight:700; }
.apulia-ss-wizard-v2 input,
.apulia-ss-wizard-v2 select{
	border-radius:var(--ass-radius); padding:0 var(--ass-s4); height:var(--ass-btn-h);
	font-size:15px; border:1.5px solid var(--ass-line); background:#fff; width:100%; box-sizing:border-box;
	transition:border-color .15s var(--ass-ease);
}
.apulia-ss-wizard-v2 input:focus,
.apulia-ss-wizard-v2 select:focus{ border-color:var(--ass-turquoise); outline:none; }
.apulia-ss-wizard-v2 .apulia-ss-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--ass-s3); }
.apulia-ss-field-hint{ margin:var(--ass-s2) 0 0; font-size:12px; color:var(--ass-muted); }

/* Cartes de choix (type de voyage) */
.apulia-ss-wizard-v2 .apulia-ss-wizard-choices{ gap:var(--ass-s3); margin:0; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice{
	gap:var(--ass-s4); padding:var(--ass-s4); border-radius:var(--ass-radius);
	border:1.5px solid var(--ass-line); transition:border-color .15s var(--ass-ease),background .15s var(--ass-ease),box-shadow .15s var(--ass-ease);
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice-txt{ display:flex; flex-direction:column; gap:2px; flex:1; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice-txt strong{ font-size:15px; font-weight:800; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice-txt small{ font-size:12.5px; font-weight:500; color:var(--ass-muted); }
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice-emoji{ font-size:26px; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice-check{
	flex:0 0 24px; width:24px; height:24px; border-radius:50%; border:2px solid var(--ass-line);
	display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:900;
	background:transparent; transition:all .15s var(--ass-ease);
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice.is-selected{
	border-color:var(--ass-orange); background:#fffaf2; box-shadow:0 6px 18px var(--ass-orange-soft);
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-choice.is-selected .apulia-ss-wizard-choice-check{
	background:var(--ass-orange); border-color:var(--ass-orange);
}

/* Aperçu de couverture (héros dégradé) */
.apulia-ss-wizard-v2 .apulia-ss-wizard-cover{
	aspect-ratio:16/10; border-radius:var(--ass-radius); margin-bottom:var(--ass-s2);
	background-color:var(--ass-line);
	background-image:linear-gradient(160deg,var(--ass-turquoise),var(--ass-deep));
	color:#fff; font-weight:700; position:relative; overflow:hidden;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-cover[data-empty="0"]{ background-image:none; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-cover[data-empty="0"]::before{
	content:""; position:absolute; inset:0; z-index:0;
	background-image:var(--cover-image); background-size:cover; background-position:center;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-cover[data-empty="0"]::after{
	content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
	background:linear-gradient(to top,rgba(0,29,38,.45),transparent 55%);
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-cover span{ position:relative; z-index:2; }

/* Footer d'action : espace régulier + boutons homogènes */
.apulia-ss-wizard-foot{ margin-top:auto; padding-top:var(--ass-s5); display:flex; gap:var(--ass-s3); }
.apulia-ss-wizard-foot .apulia-ss-btn-main.full,
.apulia-ss-wizard-foot .apulia-ss-btn-second.full{ margin-top:0; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-nav .apulia-ss-btn-second{ flex:0 0 34%; }
.apulia-ss-wizard-v2 .apulia-ss-wizard-nav .apulia-ss-btn-main{ flex:1; }
.apulia-ss-wizard-v2 .apulia-ss-btn-main,
.apulia-ss-wizard-v2 .apulia-ss-btn-second{ height:var(--ass-btn-h); border-radius:var(--ass-radius); }

/* Étape 1 — page « type de voyage » (premier écran après « Ajouter un voyage ») :
   safe area, centrage, marges homogènes. Scopé à data-step="1" uniquement. */
.apulia-ss-wizard-v2:has(.apulia-ss-wizard-step[data-step="1"].is-active) .apulia-ss-modal-card{
	height:100dvh; max-height:100dvh;
}
.apulia-ss-wizard-v2:has(.apulia-ss-wizard-step[data-step="1"].is-active) .apulia-ss-wizard-head{
	padding-top:calc(var(--ass-s5) + env(safe-area-inset-top, 0px));
}
.apulia-ss-wizard-v2:has(.apulia-ss-wizard-step[data-step="1"].is-active) .apulia-ss-modal-close{
	top:calc(var(--ass-s4) + env(safe-area-inset-top, 0px));
}
.apulia-ss-wizard-v2:has(.apulia-ss-wizard-step[data-step="1"].is-active) .apulia-ss-wizard-body{
	display:flex; flex-direction:column; min-height:0;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="1"].is-active{
	flex:1 1 auto; min-height:0;
	display:flex; flex-direction:column; align-items:stretch;
	padding:var(--ass-s5) var(--ass-s5) calc(var(--ass-s5) + env(safe-area-inset-bottom, 0px));
	width:100%; max-width:100%; margin:0 auto; box-sizing:border-box;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="1"].is-active h2{
	margin:0 0 var(--ass-s3); flex-shrink:0;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="1"].is-active .apulia-ss-wizard-sub{
	margin:0 0 var(--ass-s5); flex-shrink:0;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="1"].is-active .apulia-ss-wizard-choices{
	flex:1 1 auto; width:100%; max-width:100%; margin:0; box-sizing:border-box;
}
.apulia-ss-wizard-v2 .apulia-ss-wizard-step[data-step="1"].is-active .apulia-ss-wizard-foot{
	flex-shrink:0; width:100%; margin-top:auto; padding-top:var(--ass-s5); box-sizing:border-box;
}

/* Assistant : plein écran centré, cohérent avec le wizard */
.apulia-ss-assistant.apulia-ss-wizard-v2 .apulia-ss-modal-card{
	justify-content:center; align-items:stretch; text-align:center; padding:var(--ass-s6) var(--ass-s5);
}
.apulia-ss-assistant.apulia-ss-wizard-v2 .apulia-ss-wizard-foot{ flex-direction:column; margin-top:var(--ass-s6); }

/* Desktop / tablette : redevient une carte centrée arrondie */
@media (min-width:768px){
	.apulia-ss-wizard-v2{ align-items:center; padding:var(--ass-s5); }
	.apulia-ss-wizard-v2 .apulia-ss-modal-card{
		height:auto; max-height:90vh; border-radius:var(--ass-radius-lg);
		box-shadow:0 24px 60px rgba(0,0,0,.4);
	}
	.apulia-ss-wizard-v2:has(.apulia-ss-wizard-step[data-step="1"].is-active) .apulia-ss-modal-card{
		height:auto; max-height:90vh;
	}
}

/* Toast */
.apulia-ss-toast{
	position:fixed; left:50%;
	bottom:max(26px, env(safe-area-inset-bottom, 0px));
	transform:translateX(-50%) translateY(20px);
	z-index:2147483646; background:var(--ass-deep); color:#fff; padding:12px 20px;
	border-radius:999px; font-size:14px; font-weight:700; opacity:0; pointer-events:none;
	transition:opacity .25s ease,transform .25s ease; box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.apulia-ss-toast.is-show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ==========================================================================
   ÉDITEUR D'ITINÉRAIRE CHRONOLOGIQUE (v0.4.0)
   ========================================================================== */

/* Statut du voyage dans l'en-tête */
.apulia-ss-trip-status{
	display:inline-block; margin-left:8px; padding:0;
	font-size:11px; font-weight:700; background:transparent; color:var(--ass-orange);
}

/* Résumé rapide */
.apulia-ss-trip-summary{
	display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 4px;
}
.apulia-ss-trip-summary span{
	flex:1 1 0; min-width:64px; text-align:center; background:#fff; border:1px solid var(--ass-line);
	border-radius:12px; padding:8px 6px; display:flex; flex-direction:column; gap:2px;
}
.apulia-ss-trip-summary strong{ font-size:18px; color:var(--ass-text); }
.apulia-ss-trip-summary small{ font-size:10px; color:var(--ass-muted); text-transform:uppercase; letter-spacing:.04em; }

/* Onglets Planifier / Suivre + autosave */
.apulia-ss-mode-tabs{
	display:flex; align-items:center; gap:6px; margin:10px 0; border-bottom:1px solid var(--ass-line); padding-bottom:8px;
}
.apulia-ss-mode-tab{
	border:0; background:transparent; font-weight:700; font-size:14px; color:var(--ass-muted);
	padding:8px 14px; border-radius:999px; cursor:pointer;
}
.apulia-ss-mode-tab.is-active{ background:var(--ass-orange); color:#fff; }
.apulia-ss-autosave{ margin-left:auto; font-size:11px; color:var(--ass-muted); min-height:14px; transition:opacity .2s; }
.apulia-ss-autosave.is-saving{ color:var(--ass-turquoise); }
.apulia-ss-autosave.is-saved{ color:#27AE60; }
.apulia-ss-autosave.is-offline{ color:#E67E22; }

/* Timeline — fil conducteur orange + axe photo */
.apulia-ss-timeline{
	--tl-photo:62px;
	--tl-child-photo:52px;
	--tl-axis:calc(var(--tl-photo) / 2);
	--tl-gap:10px;
	--tl-inset:calc(var(--tl-photo) + var(--tl-gap));
	--tl-dash:rgba(246,166,35,.78);
	--tl-dash-mini:rgba(246,166,35,.38);
	--tl-btn:34px;
	position:relative;
	margin-left:8px;
	padding-left:var(--tl-inset);
	display:flex; flex-direction:column; gap:2px;
}
.apulia-ss-timeline::before{
	content:""; position:absolute; left:var(--tl-axis); top:0; bottom:0;
	border-left:1.5px dashed var(--tl-dash); pointer-events:none; z-index:0;
}
.apulia-ss-timeline > *{ position:relative; z-index:1; }

.apulia-ss-tl-empty{ margin:8px 0; }

.apulia-ss-tl-plus{
	align-self:flex-start;
	width:var(--tl-btn); height:var(--tl-btn); min-width:var(--tl-btn); min-height:var(--tl-btn);
	margin:2px 0 2px calc(var(--tl-axis) - var(--tl-btn) / 2 - var(--tl-inset));
	border-radius:50%; border:none; background:var(--ass-orange); color:#fff;
	font-size:18px; line-height:1; font-weight:700; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	transition:transform .15s, filter .15s;
}
.apulia-ss-tl-plus:hover{ filter:brightness(1.05); transform:scale(1.08); }

.apulia-ss-tl-step{
	display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--ass-line);
	border-radius:14px; padding:10px; position:relative; transition:border-color .15s, box-shadow .15s;
}
.apulia-ss-tl-step.is-selected{ border-color:var(--ass-orange); box-shadow:0 0 0 3px var(--ass-orange-soft); }
.apulia-ss-tl-num{
	position:absolute; top:-6px; left:-6px;
	width:26px; height:26px; border-radius:50%;
	background:#27AE60; color:#fff; font-size:13px; font-weight:800; line-height:1;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 1px 5px rgba(0,0,0,.28); z-index:3; pointer-events:none;
	border:2px solid #fff;
}
.apulia-ss-tl-thumb{
	width:var(--tl-photo,62px); height:var(--tl-photo,62px); flex:0 0 var(--tl-photo,62px);
	border-radius:10px; background-size:cover; background-position:center;
	background-color:var(--ass-card); position:relative; z-index:1;
}
.apulia-ss-tl-thumb.is-placeholder{ display:flex; align-items:center; justify-content:center; font-size:22px; }
.apulia-ss-tl-body{ flex:1 1 auto; min-width:0; cursor:pointer; }
.apulia-ss-tl-type{ font-size:11px; color:var(--ass-muted); display:block; }
.apulia-ss-tl-title{ margin:1px 0; font-size:15px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.apulia-ss-tl-dates{ font-size:13px; color:var(--ass-muted); line-height:1.35; letter-spacing:.01em; }
.apulia-ss-tl-nights{ display:flex; align-items:center; gap:8px; font-size:11px; }
.apulia-ss-tl-nights.is-compact{
	background:transparent; color:inherit; border-radius:0; padding:0; gap:6px; flex:0 0 auto;
	align-items:center;
}
.apulia-ss-tl-nights.is-compact span{
	color:inherit; font-size:12px; font-weight:600; min-width:0; text-align:center; white-space:nowrap;
}
.apulia-ss-tl-nights.is-compact .apulia-ss-mini-btn{
	flex:0 0 var(--tl-btn,34px); width:var(--tl-btn,34px); height:var(--tl-btn,34px);
	font-size:16px; font-weight:700;
}
.apulia-ss-tl-nights.is-orange{
	background:var(--ass-orange); color:#fff; border-radius:999px;
	padding:4px 10px; gap:6px;
}
.apulia-ss-tl-nights.is-orange span{ color:#fff; font-size:12px; font-weight:700; }
.apulia-ss-tl-nights.is-orange .apulia-ss-night-btn{
	background:transparent; color:#fff; width:32px; height:32px; flex:0 0 32px; font-size:22px;
}
.apulia-ss-tl-nights span{ font-size:12px; font-weight:600; white-space:nowrap; text-align:center; min-width:72px; }
.apulia-ss-night-btn{
	width:36px; height:36px; border-radius:50%; border:none;
	background:var(--ass-orange); color:#fff;
	font-size:20px; font-weight:700; line-height:1; cursor:pointer;
	display:flex; align-items:center; justify-content:center; flex:0 0 36px;
	padding:0; transition:filter .15s, transform .12s;
}
.apulia-ss-night-btn:hover{ filter:brightness(1.08); }
.apulia-ss-night-btn:active{ transform:scale(.92); }
.apulia-ss-tl-right{ flex:0 0 auto; margin-left:auto; }
.apulia-ss-tl-actions{ display:flex; flex-direction:column; gap:4px; flex:0 0 auto; }
.apulia-ss-tl-actions.is-row{ flex-direction:row; align-items:center; justify-content:center; }
.apulia-ss-tl-leg{
	align-self:flex-start;
	margin:0 0 0 calc(var(--tl-axis) - var(--tl-inset));
	padding:2px 8px; border-radius:999px;
	background:rgba(255,255,255,.92); border:1px solid var(--ass-line);
	font-size:10px; font-weight:600; color:var(--ass-muted); line-height:1.3;
	white-space:nowrap;
}

/* Sheet compacte (choix du +) : grille 2×3, cartes standard APULIA */
.apulia-ss-sheet-card--compact{ height:56vh; height:56dvh; max-height:56vh; max-height:56dvh; }
#apulia-ss-add-element-sheet .apulia-ss-sheet-card{
	height:auto; max-height:min(78dvh,520px);
}
@media (min-width:768px){
	#apulia-ss-add-element-sheet .apulia-ss-sheet-card{
		height:auto !important; max-height:min(72dvh,480px) !important;
	}
}
.apulia-ss-add-stack{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.apulia-ss-add-list{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:10px; row-gap:10px; align-items:stretch;
}
.apulia-ss-add-list .apulia-ss-add-btn.apulia-ss-add-btn--card{
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	width:100%; height:100%; min-height:108px; box-sizing:border-box;
	margin:0; padding:14px 10px; gap:6px;
	text-align:center; cursor:pointer;
	border:1px solid var(--ass-line); border-radius:14px;
	background:transparent;
}
.apulia-ss-add-list .apulia-ss-add-btn--card .apulia-ss-add-btn-ic{
	font-size:22px; line-height:1; flex:0 0 auto;
}
.apulia-ss-add-list .apulia-ss-add-btn--card .apulia-ss-add-btn-label{
	font-size:14px; font-weight:700; line-height:1.25; width:100%;
}
.apulia-ss-add-list .apulia-ss-add-btn--card small{
	width:100%; margin:0; padding:0; font-size:11px; font-weight:500;
	line-height:1.35; color:var(--ass-muted);
}
.apulia-ss-add-list .apulia-ss-add-btn--card:hover{ border-color:var(--ass-orange); }
.apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia{
	background:transparent; border-color:var(--ass-orange);
}
.apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia small{
	color:var(--ass-muted);
}
.apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia:hover{
	border-color:var(--ass-orange);
}
.apulia-ss-add-block{ display:flex; flex-direction:column; gap:8px; }
.apulia-ss-add-block--indent{ margin-left:10px; padding-left:12px; border-left:2px solid var(--ass-line); }
.apulia-ss-add-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.apulia-ss-add-grid--child{ grid-template-columns:repeat(3,1fr); }
.apulia-ss-add-group-label{
	margin:4px 0 0; font-size:11px; font-weight:700; text-transform:uppercase;
	letter-spacing:.04em; color:var(--ass-muted);
}
.apulia-ss-add-btn{
	display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px 10px;
	border:1px solid var(--ass-line); border-radius:14px; background:#fff; cursor:pointer; font-weight:600; font-size:13px;
}
.apulia-ss-add-btn span{ font-size:26px; }
.apulia-ss-add-btn small{
	display:block; font-size:11px; font-weight:500; color:var(--ass-muted); line-height:1.35; margin-top:2px;
}
.apulia-ss-add-btn--stacked{ align-items:flex-start; text-align:left; padding:14px 12px; }
.apulia-ss-add-btn--stacked > span:first-child{ font-size:22px; }
.apulia-ss-add-btn-label{ font-size:14px; font-weight:700; }
.apulia-ss-add-btn:hover{ border-color:var(--ass-orange); }
.apulia-ss-add-btn--primary{
	width:100%; flex-direction:row; justify-content:center; padding:16px 14px;
	background:var(--ass-orange); border-color:var(--ass-orange); color:#fff; font-size:15px;
}
.apulia-ss-add-btn--primary:hover{ filter:brightness(1.05); color:#fff; }
.apulia-ss-add-btn--solo{ width:100%; flex-direction:row; justify-content:center; gap:10px; }
.apulia-ss-add-btn--apulia{ background:linear-gradient(120deg,#fff,var(--ass-orange-soft)); border-color:var(--ass-orange); }
.apulia-ss-pick-dest-list{ display:flex; flex-direction:column; gap:8px; margin-top:10px; max-height:50vh; overflow:auto; }
.apulia-ss-pick-dest-btn{
	display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px;
	border:1px solid var(--ass-line); border-radius:12px; background:#fff; cursor:pointer;
	font-weight:600; font-size:14px; text-align:left;
}
.apulia-ss-pick-dest-btn:hover{ border-color:var(--ass-orange); }
.apulia-ss-pick-dest-thumb{ width:40px; height:40px; flex:0 0 40px; border-radius:8px; background-size:cover; background-position:center; background-color:var(--ass-card); }
.apulia-ss-pick-dest-thumb.is-placeholder{ display:flex; align-items:center; justify-content:center; font-size:18px; }

/* Recherche de lieux */
.apulia-ss-search-bar input{
	width:100%; padding:12px 14px; border:1px solid var(--ass-line); border-radius:12px; font-size:15px; margin:8px 0;
}
.apulia-ss-search-results{ display:flex; flex-direction:column; gap:8px; max-height:46vh; overflow:auto; margin-bottom:10px; }
.apulia-ss-place-thumb{ width:46px; height:46px; flex:0 0 46px; border-radius:9px; background-size:cover; background-position:center; background-color:var(--ass-card); }
.apulia-ss-place-thumb.is-placeholder{ display:flex; align-items:center; justify-content:center; font-size:20px; }
.apulia-ss-place-info{ flex:1 1 auto; min-width:0; }
.apulia-ss-place-info strong{ display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.apulia-ss-place-info small{ font-size:11px; color:var(--ass-muted); }
.apulia-ss-place-add{ font-size:22px; color:var(--ass-orange); font-weight:700; }

/* Suggestions APULIA — carrousel horizontal (fiche destination) */
.apulia-ss-suggest-list{ display:block; }
.apulia-ss-suggest-carousel-wrap{ margin-top:8px; overflow:hidden; }
.apulia-ss-suggest-carousel{
	display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch; padding:2px 2px 8px;
}
.apulia-ss-suggest-slide{
	flex:0 0 72%; max-width:260px; scroll-snap-align:start;
}
.apulia-ss-suggest-slide-bg{
	position:relative; height:148px; border-radius:14px; overflow:hidden;
	background-size:cover; background-position:center;
	background-color:var(--ass-teal);
}
.apulia-ss-suggest-slide-bg.is-placeholder{
	background:linear-gradient(135deg,var(--ass-teal),var(--ass-deep));
}
.apulia-ss-suggest-slide-overlay{
	position:absolute; left:0; right:0; bottom:0; padding:12px;
	color:#fff; background:linear-gradient(to top,rgba(0,29,38,.82),transparent);
}
.apulia-ss-suggest-slide-overlay strong{ display:block; font-size:14px; font-weight:700; }
.apulia-ss-suggest-slide-overlay small{ display:block; font-size:11px; opacity:.9; margin-top:2px; }
.apulia-ss-suggest-slide-add{
	position:absolute; top:10px; right:10px; width:32px; height:32px; border-radius:50%;
	border:none; background:#fff; color:var(--ass-orange); font-size:22px; font-weight:700;
	line-height:1; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.apulia-ss-suggest-slide-add:hover{ filter:brightness(1.05); }
.apulia-ss-suggest-slide-add:disabled{ background:var(--ass-orange); color:#fff; font-size:14px; }

/* Champs vol / note */
.apulia-ss-field-row{ display:flex; gap:8px; }
.apulia-ss-field-row > div{ flex:1 1 0; }

/* Mode Suivre — compte à rebours */
.apulia-ss-countdown{ display:flex; gap:10px; justify-content:center; margin:18px 0 8px; }
.apulia-ss-cd-cell{ background:var(--ass-deep); color:#fff; border-radius:14px; padding:14px 8px; min-width:78px; text-align:center; }
.apulia-ss-cd-cell strong{ display:block; font-size:30px; font-weight:800; line-height:1; }
.apulia-ss-cd-cell small{ font-size:11px; opacity:.8; text-transform:uppercase; letter-spacing:.06em; }
.apulia-ss-follow-now{ text-align:center; padding:14px 0; }
.apulia-ss-badge-live{ display:inline-block; color:#fff; background:#27AE60; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:700; }
.apulia-ss-section-title{ margin:14px 0 6px; font-size:13px; color:var(--ass-muted); text-transform:uppercase; letter-spacing:.04em; }
.apulia-ss-follow-next{ padding:8px 10px; border:1px solid var(--ass-line); border-radius:10px; margin-bottom:6px; font-size:14px; }

/* Marqueurs d'étapes sur la carte */
.apulia-ss-step-marker{
	width:28px; height:28px; border-radius:50%; background:var(--ass-orange); color:#fff;
	font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center;
	border:2px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.3); cursor:pointer;
	transition:box-shadow .15s, background .15s;
}
.apulia-ss-step-marker.is-active:not(.apulia-ss-step-marker--photo){
	background:var(--ass-turquoise); z-index:5;
	box-shadow:0 0 0 3px var(--ass-turquoise), 0 2px 8px rgba(0,0,0,.35);
}
.apulia-ss-step-marker.is-child{
	width:16px; height:16px; background:#fff; border:2px solid var(--ass-turquoise); font-size:0;
}
.apulia-ss-step-marker.is-child.is-active{ background:var(--ass-turquoise); }
.apulia-ss-step-marker.is-flight{
	width:30px; height:30px; font-size:15px; line-height:1;
	background:var(--ass-deep); border:2px solid var(--ass-orange);
}
.apulia-ss-step-marker.is-flight.is-active{
	background:var(--ass-orange);
	box-shadow:0 0 0 3px var(--ass-orange), 0 2px 8px rgba(0,0,0,.35);
}

/* ==========================================================================
   v0.4.1 — Chronologie hiérarchique premium + fiche destination
   ========================================================================== */

.apulia-ss-tl-firstcta{ text-align:center; padding:10px 0; }
.apulia-ss-tl-plus.is-cta{
	width:auto; height:auto; border-radius:14px; padding:12px 18px; font-weight:700; font-size:14px;
	border-style:solid; background:var(--ass-orange); color:#fff; border-color:var(--ass-orange);
}
.apulia-ss-tl-plus.is-cta:hover{ filter:brightness(1.05); transform:scale(1.02); }

/* Bloc destination */
.apulia-ss-tl-dest{
	position:relative; background:#fff; border:1px solid var(--ass-line); border-radius:14px;
	padding:8px 10px 10px; margin:4px 0; transition:border-color .15s, box-shadow .15s;
}
.apulia-ss-tl-dest.is-selected{ border-color:var(--ass-orange); box-shadow:0 0 0 3px var(--ass-orange-soft); }
.apulia-ss-tl-dest-del{
	position:absolute; top:8px; right:8px; z-index:4;
	width:34px; height:34px; border-radius:var(--ass-radius-sm);
}
.apulia-ss-tl-dest-main{
	display:flex; align-items:flex-start; gap:var(--tl-gap,10px);
	padding-right:28px; margin-top:10px;
	margin-left:calc(-1 * var(--tl-inset,72px));
}
.apulia-ss-tl-dest-photo{ position:relative; flex:0 0 auto; z-index:2; }
.apulia-ss-tl-dest-body{ flex:1 1 auto; min-width:0; cursor:pointer; padding-top:2px; }
.apulia-ss-tl-dest-meta{
	display:flex; align-items:center; justify-content:space-between; gap:8px;
	margin-top:5px; min-width:0;
}
.apulia-ss-tl-dest-meta .apulia-ss-tl-dates{ flex:1 1 auto; min-width:0; }
.apulia-ss-tl-dest-top{ display:flex; align-items:flex-start; gap:12px; padding-right:32px; }
.apulia-ss-tl-dest-nights-row{ margin:10px 0 4px; padding:0 2px; }
.apulia-ss-tl-dest-head{ display:flex; align-items:center; gap:10px; flex-wrap:nowrap; }
.apulia-ss-tl-dest-close{ flex:0 0 auto; display:flex; align-items:center; }
.apulia-ss-tl-flat{
	position:relative; display:flex; align-items:center; gap:10px;
	background:#fbf7f0; border:1px dashed var(--ass-line);
	border-radius:12px; padding:10px 10px 8px; margin:4px 0; padding-right:30px;
	margin-left:calc(-1 * var(--tl-inset,72px));
	margin-top:10px;
}
.apulia-ss-tl-flat.is-selected{ border-color:var(--ass-orange); }
.apulia-ss-tl-flat-del{
	position:absolute; top:8px; right:8px; z-index:3;
	width:34px; height:34px; border-radius:var(--ass-radius-sm);
}
.apulia-ss-tl-flat-reorder{
	display:flex; flex-direction:row; gap:4px; flex:0 0 auto; align-self:flex-end;
}
.apulia-ss-tl-flat-ic{
	font-size:20px; flex:0 0 28px; width:28px; text-align:center;
	position:absolute; left:calc(var(--tl-axis,31px) - 14px); top:50%; transform:translateY(-50%);
}
.apulia-ss-tl-flat .apulia-ss-tl-body{ margin-left:calc(var(--tl-inset,72px)); min-width:0; }

/* Mini-timeline des éléments rattachés (sans cartes imbriquées) */
.apulia-ss-tl-children-wrap{
	margin:10px 0 0 calc(-1 * var(--tl-inset,72px) + var(--tl-axis,31px));
	padding:0 0 2px;
}
.apulia-ss-tl-mini-track{
	position:relative; margin:0; padding:2px 0 0 18px;
	border-left:1px dashed var(--tl-dash-mini,rgba(246,166,35,.38));
}
.apulia-ss-tl-mini-track::before{
	content:""; position:absolute; left:-1px; top:-10px;
	width:14px; height:10px;
	border-left:1px dashed var(--tl-dash-mini,rgba(246,166,35,.38));
	border-bottom:1px dashed var(--tl-dash-mini,rgba(246,166,35,.38));
	border-bottom-left-radius:8px;
}
.apulia-ss-tl-children-group{ margin:0; padding:0; }
.apulia-ss-tl-children-group + .apulia-ss-tl-children-group{ margin-top:0; }
.apulia-ss-tl-children-label{ display:none; }
.apulia-ss-tl-children{ margin:10px 0 2px 6px; padding-left:22px; border-left:2px solid var(--ass-line); display:flex; flex-direction:column; gap:6px; }
.apulia-ss-tl-child{
	position:relative; display:block;
	background:none; border:none; border-radius:0;
	padding:6px 0; margin:0; cursor:pointer;
}
.apulia-ss-tl-child::before{
	content:""; position:absolute; left:-18px; top:50%; width:12px;
	border-top:1px dashed var(--tl-dash-mini,rgba(246,166,35,.38));
}
.apulia-ss-tl-child:hover{ background:none; }
.apulia-ss-tl-child-row{
	display:flex; align-items:center; gap:10px; min-width:0;
}
.apulia-ss-tl-child-thumb{
	width:var(--tl-child-photo,52px); height:var(--tl-child-photo,52px);
	flex:0 0 var(--tl-child-photo,52px); border-radius:10px;
	background-size:cover; background-position:center; background-color:var(--ass-card);
}
.apulia-ss-tl-child-thumb.is-placeholder{ display:flex; align-items:center; justify-content:center; font-size:18px; }
.apulia-ss-tl-child-body{ flex:1 1 auto; min-width:0; }
.apulia-ss-tl-child-body strong{ display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.apulia-ss-tl-child-body small{ display:block; font-size:11px; color:var(--ass-muted); margin-top:2px; }
.apulia-ss-tl-child-actions{
	display:flex; flex-direction:row; align-items:center; justify-content:flex-end;
	gap:4px; flex:0 0 auto;
}
.apulia-ss-tl-child-actions .apulia-ss-mini-btn{
	width:34px; height:34px; font-size:12px;
}

.apulia-ss-tl-addto{
	margin-top:8px; width:100%; border:1px dashed var(--ass-line); background:transparent; color:var(--ass-muted);
	border-radius:10px; padding:8px; font-size:12px; font-weight:600; cursor:pointer;
}
.apulia-ss-tl-addto:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }

/* Indice contextuel (sheets) */
.apulia-ss-add-context{ font-size:12px; color:var(--ass-turquoise); margin:2px 0 8px; font-weight:600; }

/* Guide progressif (APULIA accompagne) */
.apulia-ss-dest-guide{
	background:linear-gradient(135deg,#fff,var(--ass-orange-soft));
	border:1px solid var(--ass-orange); border-radius:16px; padding:14px; margin-bottom:14px;
}
.apulia-ss-guide-label{ font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#8a5a00; margin-bottom:6px; }
.apulia-ss-guide-q{ margin:0 0 10px; font-size:16px; font-weight:700; color:var(--ass-text); }
.apulia-ss-guide-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.apulia-ss-guide-chips button{
	border:1px solid var(--ass-line); background:#fff; border-radius:999px; padding:9px 14px;
	font-size:13px; font-weight:600; cursor:pointer; color:var(--ass-text);
}
.apulia-ss-guide-chips button:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }
.apulia-ss-guide-cta{
	width:100%; border:0; background:var(--ass-orange); color:#fff; border-radius:12px;
	padding:13px; font-size:15px; font-weight:700; cursor:pointer;
}
.apulia-ss-guide-cta:hover{ filter:brightness(1.05); }
.apulia-ss-guide-skip{
	display:block; margin:8px auto 0; border:0; background:transparent; color:var(--ass-muted);
	font-size:13px; cursor:pointer; text-decoration:underline;
}

/* Mini-dashboard de l'étape : vue d'ensemble en un coup d'œil */
.apulia-ss-dash-stats{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.apulia-ss-dash-stat{
	display:inline-flex; align-items:center; gap:5px; background:#fff; border:1px solid var(--ass-line);
	border-radius:999px; padding:5px 11px; font-size:12.5px; font-weight:600; color:var(--ass-muted);
}
.apulia-ss-dash-stat.is-set{ border-color:var(--ass-orange); color:var(--ass-text); background:#fff; }

/* Progression libre (indicateur, jamais une obligation) */
.apulia-ss-progress{ display:flex; flex-wrap:wrap; gap:6px; }
.apulia-ss-prog{
	display:inline-flex; align-items:center; gap:5px; border:1px solid var(--ass-line); background:#fff;
	border-radius:999px; padding:6px 12px; font-size:12.5px; font-weight:600; color:var(--ass-muted); cursor:pointer;
	transition:border-color .15s, color .15s;
}
.apulia-ss-prog:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }
.apulia-ss-prog-mark{ font-weight:800; }
.apulia-ss-prog.is-done{ border-color:#1f9d72; color:#1f9d72; background:#f0faf6; }
.apulia-ss-prog.is-done .apulia-ss-prog-mark{ color:#1f9d72; }
.apulia-ss-progress-hint{ margin:8px 0 0; font-size:12px; color:var(--ass-muted); }

/* Ligne assistant : APULIA apporte de la valeur (vrais chiffres autour) */
.apulia-ss-insight{
	margin:12px 0 2px; padding:11px 13px; background:rgba(255,255,255,.6); border-radius:12px;
	font-size:13.5px; font-weight:600; color:#8a5a00; line-height:1.4;
}

/* Suggestion souple : oriente sans contraindre */
.apulia-ss-soft{ margin-top:12px; padding-top:12px; border-top:1px dashed var(--ass-orange); }
.apulia-ss-soft-note{ margin:8px 0 0; font-size:12px; color:var(--ass-muted); text-align:center; }

/* Fiche destination */
.apulia-ss-dest-sheet-card{ padding-top:0 !important; overflow:hidden; }
.apulia-ss-dest-hero{
	height:40vh; height:40dvh; max-height:320px; min-height:180px;
	border-radius:0; margin:0 -18px 12px; background-size:cover; background-position:center;
	background-color:var(--ass-teal); position:relative; display:flex; align-items:flex-end; overflow:hidden;
}
.apulia-ss-dest-hero.is-placeholder{ background:linear-gradient(135deg,var(--ass-teal),var(--ass-deep)); }
.apulia-ss-dest-hero-overlay{
	width:100%; padding:18px 16px 16px; color:#fff;
	background:linear-gradient(to top,rgba(0,29,38,.85),rgba(0,29,38,.15),transparent);
}
.apulia-ss-dest-hero-overlay h2{ margin:0 0 4px; font-size:22px; font-weight:800; }
.apulia-ss-dest-hero-overlay .apulia-ss-dest-cat{ display:block; font-size:12px; opacity:.92; margin-bottom:4px; }
.apulia-ss-dest-hero-overlay .apulia-ss-dest-dates{ display:block; font-size:13px; font-weight:600; opacity:.95; }

.apulia-ss-dest-acf{ margin:0 -18px 12px; padding:0 18px 4px; }
.apulia-ss-dest-tagline{
	margin:0 0 10px; font-size:15px; font-weight:600; color:var(--ass-text); line-height:1.45;
}
.apulia-ss-dest-acf-section{ margin-bottom:14px; }
.apulia-ss-dest-acf-h{
	margin:0 0 6px; font-size:11px; font-weight:800; text-transform:uppercase;
	letter-spacing:.04em; color:var(--ass-muted);
}
.apulia-ss-dest-acf-body{ font-size:14px; line-height:1.55; color:var(--ass-text); }
.apulia-ss-dest-acf-body p{ margin:0 0 8px; }
.apulia-ss-dest-acf-dl{ margin:0; display:flex; flex-direction:column; gap:8px; }
.apulia-ss-dest-acf-dl div{ display:grid; grid-template-columns:110px 1fr; gap:8px; font-size:13px; line-height:1.45; }
.apulia-ss-dest-acf-dl dt{ margin:0; font-weight:700; color:var(--ass-muted); }
.apulia-ss-dest-acf-dl dd{ margin:0; color:var(--ass-text); }
.apulia-ss-dest-acf-link{
	display:inline-block; margin-top:4px; font-size:13px; font-weight:700;
	color:var(--ass-orange); text-decoration:none;
}
.apulia-ss-dest-acf-link:hover{ text-decoration:underline; }

.apulia-ss-dest-dates-row.apulia-ss-dest-nights{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	flex-wrap:wrap;
	background:transparent; border:none; border-radius:0; padding:6px 0 12px; margin-bottom:4px;
	border-bottom:1px solid var(--ass-line);
}
.apulia-ss-dest-dates-val{ font-size:14px; font-weight:600; color:var(--ass-text); flex:1 1 auto; min-width:0; line-height:1.4; }
.apulia-ss-dest-nights-ctl{
	display:flex; align-items:center; gap:8px; flex:0 0 auto;
	background:transparent; color:inherit; border-radius:0; padding:0;
}
.apulia-ss-dest-nights-ctl strong{ min-width:64px; text-align:center; font-size:13px; font-weight:600; white-space:nowrap; color:var(--ass-text); }
.apulia-ss-dest-nights-ctl .apulia-ss-night-btn{
	background:var(--ass-orange); color:#fff; width:28px; height:28px; flex:0 0 28px; font-size:18px; border:none;
}
.apulia-ss-dest-add-btn{
	border:none; border-radius:999px; padding:7px 14px;
	background:var(--ass-orange); color:#fff; font-size:12px; font-weight:700; cursor:pointer;
}
.apulia-ss-dest-add-btn:hover{ filter:brightness(1.05); }
.apulia-ss-dest-insight-line{
	margin:0 0 12px; padding:0; background:transparent; border-radius:0;
	font-size:13px; font-weight:500; color:var(--ass-muted); line-height:1.45;
}
.apulia-ss-dest-lodging-progress{ margin-bottom:8px; }
.apulia-ss-dest-progress-label{ display:block; font-size:12px; font-weight:600; color:var(--ass-muted); margin-bottom:5px; }
.apulia-ss-dest-progress-bar{
	height:6px; border-radius:999px; background:var(--ass-line); overflow:hidden;
}
.apulia-ss-dest-progress-bar span{
	display:block; height:100%; border-radius:999px; background:var(--ass-orange);
	transition:width .25s var(--ass-ease);
}

.apulia-ss-dest-section{ margin-bottom:14px; }
.apulia-ss-dest-h{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ass-muted); }
.apulia-ss-dest-h-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.apulia-ss-dest-section textarea{ width:100%; border:1px solid var(--ass-line); border-radius:10px; padding:10px; font-size:14px; margin-top:6px; }
.apulia-ss-dest-section > div{ display:flex; flex-direction:column; gap:6px; }
.apulia-ss-dest-section .apulia-ss-tl-child{
	flex-direction:row; align-items:center; gap:10px;
}

/* ===== Fiche lieu APULIA complète (panneau Polarsteps) ===== */
.apulia-ss-sheet--place.is-open{ z-index:10; }
.apulia-ss-place-sheet-card{
	padding:14px 18px 0 !important;
	height:56vh; height:56dvh; max-height:56vh; max-height:56dvh;
	overflow:hidden; display:flex; flex-direction:column;
}
.apulia-ss-sheet--place .apulia-ss-handle{
	flex:0 0 auto;
	flex-shrink:0;
	position:relative;
	top:auto;
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	width:46px;
	height:5px;
	margin:0 auto 14px;
	z-index:4;
	cursor:pointer;
}
.apulia-ss-place-body{
	flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
	-webkit-overflow-scrolling:touch; overscroll-behavior:contain;
	padding:0 0 24px;
	scrollbar-width:none;
	-ms-overflow-style:none;
	max-width:100%;
}
.apulia-ss-place-body::-webkit-scrollbar{
	display:none;
	width:0;
	height:0;
}
.apulia-ss-place-loading,
.apulia-ss-place-body > .apulia-ss-empty{
	padding:32px 18px; text-align:center; color:var(--ass-muted); font-size:14px;
}
/* Contenu Explorer injecté : pas de surcharge visuelle — parité stricte avec la page single. */
.apulia-ss-explorer-render--parity{
	font-size:inherit; line-height:inherit; color:inherit;
	max-width:100%;
	min-width:0;
	box-sizing:border-box;
}
.apulia-ss-explorer-render--parity img{ max-width:100%; height:auto; }
#apulia-ss-place-body .apulia-ss-explorer-render--parity .e-con,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .elementor-section,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .elementor-container{
	min-width:0;
	max-width:100%;
	box-sizing:border-box;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity img,
#apulia-ss-place-body .apulia-ss-explorer-render--parity video,
#apulia-ss-place-body .apulia-ss-explorer-render--parity iframe{
	max-width:100%;
}

/* Fiches ville dans la pancarte : carrousels VP (inc/exp/dec/alt) — mode mobile uniforme. */
#apulia-ss-place-body .apulia-stay-cta{
	display:none !important;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-inc-scroll,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-exp-scroll,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-dec-scroll,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-alt-scroll{
	display:flex !important;
	grid-template-columns:unset !important;
	width:100% !important;
	max-width:100% !important;
	min-width:0 !important;
	gap:12px !important;
	overflow-x:auto !important;
	overflow-y:hidden !important;
	-webkit-overflow-scrolling:touch;
	scroll-snap-type:x mandatory;
	padding:0 14px 6px !important;
	margin:0 !important;
	scrollbar-width:none;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-inc-scroll::-webkit-scrollbar,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-exp-scroll::-webkit-scrollbar,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-dec-scroll::-webkit-scrollbar,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-alt-scroll::-webkit-scrollbar{
	display:none;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-inc-card,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-exp-card,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-dec-card,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-alt-card{
	flex:0 0 var(--apulia-sheet-card-w, 72%) !important;
	max-width:var(--apulia-sheet-card-w, 72%) !important;
	min-width:0 !important;
	width:auto !important;
	scroll-snap-align:start;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-inc-section,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-exp-section,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-dec-section,
#apulia-ss-place-body .apulia-ss-explorer-render--parity .apulia-alt-section{
	width:100% !important;
	max-width:100% !important;
	min-width:0 !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity [class*="apulia-inc-cols-"]{
	grid-template-columns:unset !important;
}
#apulia-ss-place-body .apulia-ss-explorer-render--parity .elementor-widget-shortcode{
	min-width:0 !important;
	max-width:100% !important;
	box-sizing:border-box !important;
}

/* Parité Explorer : désactive les surcharges Séjour sur le contenu injecté. */
#apulia-ss-root .apulia-ss-explorer-render--parity :where(button, a, input, textarea, select, h1, h2, h3, h4, h5, h6, p, strong, label, li){
	border-color:revert;
	color:revert;
	background:revert;
	font:revert;
	text-transform:revert;
	letter-spacing:revert;
	box-shadow:revert;
	text-decoration:revert;
}

/* Cartes recherche : corps = fiche, + = ajout */
.apulia-ss-place-card{
	display:flex; align-items:stretch; gap:0;
	border:1px solid var(--ass-line); border-radius:14px; overflow:hidden; background:#fff;
}
.apulia-ss-place-card-main{
	flex:1 1 auto; display:flex; align-items:center; gap:10px;
	border:none; background:transparent; padding:10px 12px; cursor:pointer; text-align:left;
}
.apulia-ss-place-card-main:hover{ background:var(--ass-orange-soft); }
.apulia-ss-place-card .apulia-ss-place-add{
	flex:0 0 44px; border:none; border-left:1px solid var(--ass-line);
	background:var(--ass-orange); color:#fff; font-size:20px; font-weight:700; cursor:pointer;
}
.apulia-ss-place-card .apulia-ss-place-add:hover{ filter:brightness(1.05); }

/* Popup carte : ouverture fiche */
.apulia-ss-popup-open{
	display:block; width:100%; margin-top:8px; padding:8px 12px;
	border:none; border-radius:999px; background:var(--ass-orange); color:#fff;
	font-size:13px; font-weight:700; cursor:pointer;
}
.apulia-ss-popup-title-link{ cursor:pointer; }
.apulia-ss-popup-title-link:hover{ text-decoration:underline; }
.apulia-ss-suggest-slide{ cursor:pointer; }

/* Invitation à planifier (étape vide) */
.apulia-ss-tl-hint{
	margin-top:8px; padding:8px 10px; border-radius:10px; cursor:pointer;
	background:var(--ass-orange-soft); color:#8a5a00; font-size:12px; font-weight:600; text-align:center;
}
.apulia-ss-tl-hint:hover{ filter:brightness(.98); }

/* Élément qui vient d'être ajouté : flash doux */
@keyframes assJustAdded{
	0%{ box-shadow:0 0 0 0 var(--ass-orange-soft); transform:scale(.98); }
	30%{ box-shadow:0 0 0 4px var(--ass-orange-soft); transform:scale(1); }
	100%{ box-shadow:0 0 0 0 rgba(246,166,35,0); }
}
.is-justadded{ animation:assJustAdded 1.2s ease; border-color:var(--ass-orange) !important; }

/* Saisie libre (remplace prompt) */
.apulia-ss-manual-row{ display:flex; gap:8px; margin-top:8px; }
.apulia-ss-manual-row input{ flex:1 1 auto; padding:12px 14px; border:1px solid var(--ass-line); border-radius:12px; font-size:15px; }
.apulia-ss-manual-row .apulia-ss-btn-main{ flex:0 0 auto; }

/* Confirmation in-app (remplace window.confirm) */
.apulia-ss-confirm-card{ text-align:center; }
.apulia-ss-confirm-card h3{ margin:6px 0 4px; font-size:18px; }
.apulia-ss-confirm-actions{ display:flex; gap:10px; margin-top:14px; }
.apulia-ss-confirm-actions button{ flex:1 1 0; }
.apulia-ss-btn-main.danger{ background:#E74C3C; }

/* ===== Responsive ===== */
@media (min-width:768px){
	.apulia-ss-panel{ height:52vh; height:52dvh; }
	.apulia-ss-sheet-card,
	.apulia-ss-sheet-card--compact{
		height:52vh; height:52dvh; max-height:52vh; max-height:52dvh;
	}
	.apulia-ss-add-grid{ grid-template-columns:repeat(3,1fr); }
	.apulia-ss-add-grid--child{ grid-template-columns:repeat(3,1fr); }
}

/* PC : le panneau devient une carte flottante ancrée à gauche (style Polarsteps
   desktop). La carte des Pouilles reste visible sur toute la partie droite. */
@media (min-width:1024px){
	.apulia-ss-panel{
		position:absolute; left:24px; top:24px; bottom:24px; margin:0 !important;
		width:var(--ass-panel-desktop-w); max-width:var(--ass-panel-desktop-w); min-height:0 !important; height:auto;
		max-height:calc(100dvh - 48px); overflow-y:auto;
		border-radius:var(--ass-radius-lg); padding:18px 20px 28px;
		box-shadow:0 24px 60px rgba(0,29,38,.28);
	}
	.apulia-ss-panel.is-compact,
	.apulia-ss-panel.is-expanded{ margin:0 !important; min-height:0 !important; }
	/* La poignée n'a plus de rôle d'états sur desktop : simple indicateur. */
	.apulia-ss-panel .apulia-ss-handle{ cursor:default; }

	.apulia-ss-sheet{
		align-items:flex-start; justify-content:flex-start; padding:24px;
	}
	.apulia-ss-sheet-card,
	.apulia-ss-sheet-card--compact{
		position:fixed; left:24px; top:24px; bottom:24px;
		width:var(--ass-panel-desktop-w); max-width:var(--ass-panel-desktop-w); height:auto;
		max-height:calc(100dvh - 48px);
		border-radius:var(--ass-radius-lg); margin:0;
		box-shadow:0 24px 60px rgba(0,29,38,.28);
	}

	.apulia-ss-modal-card{ max-width:var(--ass-panel-desktop-w); }

	#apulia-ss-add-element-sheet .apulia-ss-sheet-card{
		top:auto; bottom:32px; height:auto !important; min-height:0 !important;
		max-height:min(calc(100dvh - 64px),400px) !important;
	}
}

@media (prefers-reduced-motion: reduce){
	.apulia-ss-intro-inner{ animation:none; opacity:1; transform:none; }
	.apulia-ss-intro-bar{ animation:none; transform:scaleX(1); }
	.apulia-ss-pin{ transition:none; transform:scale(1); }
	.apulia-ss-sheet-card,
	.apulia-ss-sheet.is-open .apulia-ss-sheet-card{ animation:none; }
	.apulia-ss-compose{ animation:none; }
}

/* ======================================================================
   v0.5.0 — Moteur de création de contenu (éditeur unifié + FAB)
   ====================================================================== */

/* Pas de « + » flottant permanent (retiré) : la création est contextuelle,
   via les « + » d'en-tête ci-dessous et les boutons d'action dédiés. */

/* « + » CONTEXTUEL dans les en-têtes Découvrir / Profil (style Polarsteps :
   action de création en haut de l'écran concerné, jamais flottante). */
.apulia-ss-sheet-head-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--ass-s3); }
/* Bouton « créer » centré (jamais dans le coin, pour ne pas croiser la croix). */
.apulia-ss-create-row{ display:flex; justify-content:center; margin:var(--ass-s2) 0 var(--ass-s4); }
.apulia-ss-head-create{
	width:48px; height:48px; flex:0 0 auto; border-radius:50%; border:0; cursor:pointer;
	background:var(--ass-orange); color:#fff; font-size:26px; line-height:1;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 16px var(--ass-orange-soft); transition:transform .15s var(--ass-ease),filter .15s var(--ass-ease);
}
.apulia-ss-head-create:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.apulia-ss-head-create:active{ transform:scale(.94); }

/* Éditeur plein écran */
.apulia-ss-compose{
	position:fixed; inset:0; z-index:99997; display:none;
	background:var(--ass-card);
}
.apulia-ss-compose.is-open{ display:block; animation:assComposeIn .22s ease; }
@keyframes assComposeIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.apulia-ss-compose-shell{ display:flex; flex-direction:column; height:100%; max-width:680px; margin:0 auto; }

.apulia-ss-compose-head{
	display:flex; align-items:center; gap:12px; padding:14px 16px;
	border-bottom:1px solid var(--ass-line); background:#fff;
}
.apulia-ss-compose-back{
	width:38px; height:38px; border-radius:12px; border:1px solid var(--ass-line);
	background:#fff; font-size:20px; cursor:pointer; color:var(--ass-text); flex:0 0 auto;
}
.apulia-ss-compose-titlewrap{ flex:1; min-width:0; }
.apulia-ss-compose-titlewrap strong{ display:block; font-size:16px; font-weight:800; color:var(--ass-text); }
.apulia-ss-compose-save{ display:block; font-size:11px; color:var(--ass-turquoise); font-weight:600; margin-top:1px; }
.apulia-ss-compose-steps{ display:flex; gap:5px; flex:0 0 auto; }
.apulia-ss-compose-steps span{ width:18px; height:4px; border-radius:99px; background:var(--ass-line); transition:background .2s; }
.apulia-ss-compose-steps span.is-active{ background:var(--ass-orange); }

.apulia-ss-compose-body{ flex:1; overflow-y:auto; padding:18px 16px 20px; }
.apulia-ss-compose-step{ display:none; }
.apulia-ss-compose-step.is-active{ display:block; animation:assComposeIn .2s ease; }
.apulia-ss-compose-h{ margin:4px 0 16px; font-size:19px; font-weight:800; color:var(--ass-text); }

/* Étape 1 : type */
.apulia-ss-compose-types{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.apulia-ss-ctype{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
	padding:26px 12px; border:1px solid var(--ass-line); border-radius:18px; background:#fff;
	cursor:pointer; color:var(--ass-text); transition:border-color .15s, transform .1s;
}
.apulia-ss-ctype span{ font-size:30px; }
.apulia-ss-ctype strong{ font-size:14px; font-weight:700; }
.apulia-ss-ctype:hover{ border-color:var(--ass-orange); transform:translateY(-2px); }

/* Étape 2 : médias + texte */
.apulia-ss-compose-media{ display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:12px; }
.apulia-ss-compose-media.is-multi{ grid-template-columns:repeat(3,1fr); }
.apulia-ss-compose-mcell{ position:relative; border-radius:14px; overflow:hidden; background:var(--ass-teal); aspect-ratio:1/1; }
.apulia-ss-compose-media:not(.is-multi) .apulia-ss-compose-mcell{ aspect-ratio:4/5; }
.apulia-ss-compose-img{ display:block; width:100%; height:100%; background-size:cover; background-position:center; }
.apulia-ss-compose-mcell video{ width:100%; height:100%; object-fit:cover; }
.apulia-ss-compose-mdel{
	position:absolute; top:6px; right:6px; width:26px; height:26px; border-radius:50%;
	border:0; background:rgba(0,29,38,.7); color:#fff; font-size:16px; cursor:pointer;
}
.apulia-ss-compose-addmedia{
	width:100%; margin-bottom:12px; padding:11px; border:1px dashed var(--ass-line);
	background:transparent; border-radius:12px; color:var(--ass-muted); font-weight:600; cursor:pointer;
}
.apulia-ss-compose-text{
	width:100%; box-sizing:border-box; border:1px solid var(--ass-line); border-radius:14px;
	padding:14px; font-size:16px; line-height:1.45; background:#fff; color:var(--ass-text); resize:vertical;
}

.apulia-ss-compose-field{ margin-top:16px; }
.apulia-ss-compose-field > label{ display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--ass-muted); margin-bottom:7px; }
.apulia-ss-compose-pick{
	width:100%; display:flex; align-items:center; gap:8px; text-align:left;
	border:1px solid var(--ass-line); background:#fff; border-radius:14px; padding:13px 14px;
	font-size:15px; color:var(--ass-muted); cursor:pointer;
}
.apulia-ss-compose-pick.is-set{ color:var(--ass-text); border-color:var(--ass-orange); font-weight:600; }
.apulia-ss-compose-select{
	width:100%; box-sizing:border-box; border:1px solid var(--ass-line); border-radius:14px;
	padding:12px 14px; font-size:15px; background:#fff; color:var(--ass-text);
}

.apulia-ss-compose-suggest{ margin-top:10px; border:1px solid var(--ass-line); border-radius:14px; padding:12px; background:#fff; }
.apulia-ss-compose-search-input{
	width:100%; box-sizing:border-box; border:1px solid var(--ass-line); border-radius:12px;
	padding:11px 13px; font-size:15px; margin-bottom:10px; color:var(--ass-text);
}
.apulia-ss-compose-hint{ margin:0 0 8px; font-size:13px; font-weight:700; color:var(--ass-text); }
.apulia-ss-compose-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.apulia-ss-compose-chip{
	border:1px solid var(--ass-line); background:#fff; border-radius:999px; padding:8px 13px;
	font-size:13px; font-weight:600; color:var(--ass-text); cursor:pointer;
}
.apulia-ss-compose-chip:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }
.apulia-ss-compose-sep{ font-size:12px; color:var(--ass-muted); margin:12px 0 8px; }
.apulia-ss-compose-results{ display:flex; flex-direction:column; gap:6px; max-height:280px; overflow-y:auto; }
.apulia-ss-compose-result{
	display:flex; align-items:center; gap:10px; text-align:left; border:0; background:transparent;
	padding:7px; border-radius:12px; cursor:pointer; color:var(--ass-text);
}
.apulia-ss-compose-result:hover{ background:var(--ass-orange-soft); }
.apulia-ss-compose-result strong{ display:block; font-size:14px; }
.apulia-ss-compose-result small{ display:block; font-size:11px; color:var(--ass-muted); }
.apulia-ss-compose-rthumb{ width:42px; height:42px; border-radius:10px; background-size:cover; background-position:center; background-color:var(--ass-teal); flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
.apulia-ss-compose-rthumb.is-ph{ font-size:18px; }

.apulia-ss-compose-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.apulia-ss-compose-tag{
	display:inline-flex; align-items:center; gap:4px; background:var(--ass-orange-soft);
	color:#8a5a00; border-radius:999px; padding:5px 10px; font-size:13px; font-weight:600;
}
.apulia-ss-compose-tag button{ border:0; background:transparent; color:#8a5a00; cursor:pointer; font-size:15px; line-height:1; }
.apulia-ss-compose-taginput{
	width:100%; box-sizing:border-box; border:1px solid var(--ass-line); border-radius:12px;
	padding:10px 13px; font-size:14px; color:var(--ass-text);
}

/* Étape 3 : visibilité */
.apulia-ss-compose-vis{ display:flex; flex-direction:column; gap:10px; }
.apulia-ss-vis{
	display:flex; align-items:center; gap:14px; text-align:left; cursor:pointer;
	border:1.5px solid var(--ass-line); background:#fff; border-radius:16px; padding:15px 16px; color:var(--ass-text);
}
.apulia-ss-vis > span:first-child{ font-size:24px; }
.apulia-ss-vis strong{ display:block; font-size:15px; }
.apulia-ss-vis small{ display:block; font-size:12px; color:var(--ass-muted); margin-top:2px; }
.apulia-ss-vis.is-active{ border-color:var(--ass-orange); background:var(--ass-orange-soft); }

.apulia-ss-compose-foot{
	display:flex; gap:12px; padding:14px 16px calc(14px + env(safe-area-inset-bottom));
	border-top:1px solid var(--ass-line); background:#fff;
}
.apulia-ss-compose-foot .apulia-ss-btn-main{ flex:1; }
.apulia-ss-compose-foot .apulia-ss-btn-second{ flex:0 0 auto; }

body.apulia-ss-noscroll{ overflow:hidden; }

/* Carte de publication (Découvrir / Profil) — même composant partout */
.apulia-ss-post-card{
	background:#fff; border:1px solid var(--ass-line); border-radius:18px; overflow:hidden; margin-bottom:14px;
}
.apulia-ss-post-head{
	display:flex; align-items:center; gap:10px; padding:12px 14px; cursor:pointer; width:100%;
	border:0; background:transparent; text-align:left;
}
.apulia-ss-post-head .apulia-ss-user-avatar{ width:38px; height:38px; flex:0 0 auto; }
.apulia-ss-post-id{ flex:1; min-width:0; }
.apulia-ss-post-id strong{ display:block; font-size:14px; color:var(--ass-text); }
.apulia-ss-post-place{ display:block; font-size:12px; color:var(--ass-muted); }
.apulia-ss-post-kind{ font-size:11px; font-weight:700; color:var(--ass-turquoise); flex:0 0 auto; }
.apulia-ss-post-media{
	width:100%; aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--ass-teal);
}
.apulia-ss-post-media video{ width:100%; height:100%; object-fit:cover; display:block; }
.apulia-ss-post-body{ margin:0; padding:11px 14px; font-size:14px; line-height:1.45; color:var(--ass-text); }
.apulia-ss-post-actions{ display:flex; align-items:center; gap:16px; padding:8px 14px 13px; }
.apulia-ss-post-like{
	border:0; background:transparent; cursor:pointer; font-size:15px; color:var(--ass-muted); font-weight:600;
	display:inline-flex; align-items:center; gap:5px;
}
.apulia-ss-post-like.is-liked{ color:#e0245e; }
.apulia-ss-post-comments{ font-size:14px; color:var(--ass-muted); }

/* En-tête profil (feuille Profil) — même rendu que #apulia-ss-avatar */
.apulia-ss-profile-mini{ display:flex; align-items:center; gap:14px; margin:8px 0 6px; }
.apulia-ss-profile-mini-avatar{ font-size:0; line-height:0; }
.apulia-ss-profile-mini-stats{
	display:flex; flex:1; justify-content:space-around; gap:8px;
	background:rgba(0,0,0,.22); border-radius:var(--ass-radius); padding:10px 6px;
}
.apulia-ss-mem-stat{ border:0; background:transparent; cursor:pointer; text-align:center; color:var(--ass-on-card); }
.apulia-ss-mem-stat strong{ display:block; font-size:18px; font-weight:800; color:var(--ass-on-card); }
.apulia-ss-mem-stat span{ display:block; font-size:12px; color:var(--ass-on-card-muted); margin-top:2px; }
.apulia-ss-profile-mini-id{ display:flex; align-items:center; gap:8px; margin-top:2px; }
.apulia-ss-profile-mini-id strong{ font-size:16px; font-weight:800; color:var(--ass-text); }

/* Onglets Profil : Publications / Réels / Enregistrés */
/* Onglets en bulles : texte blanc sur bulle foncée, orange quand sélectionné. */
.apulia-ss-mem-tabs{
	display:flex; gap:var(--ass-s2); margin:14px 0 10px;
}
.apulia-ss-mem-tab{
	flex:1; border:0; border-radius:999px; cursor:pointer; padding:9px 6px;
	font-size:13px; font-weight:800; color:var(--ass-on-card);
	background:rgba(0,0,0,.22);
	transition:color .15s var(--ass-ease),background .15s var(--ass-ease);
}
.apulia-ss-mem-tab.is-active{ color:#fff; background:var(--ass-orange); }
.apulia-ss-mem-tab:hover:not(.is-active){ background:rgba(0,0,0,.32); }

/* Carte enregistrée : bouton « retirer » au survol */
.apulia-ss-mem-cell[data-saved]{ position:relative; }
.apulia-ss-saved-remove{
	position:absolute; top:6px; right:6px; z-index:2; border:0; cursor:pointer;
	width:24px; height:24px; border-radius:50%; line-height:1;
	background:rgba(0,29,38,.62); color:#fff; font-size:13px; font-weight:800;
	display:flex; align-items:center; justify-content:center;
	opacity:0; transition:opacity .15s;
}
.apulia-ss-mem-cell[data-saved]:hover .apulia-ss-saved-remove,
.apulia-ss-saved-remove:focus{ opacity:1; }
@media (hover:none){ .apulia-ss-saved-remove{ opacity:1; } }

/* Lieu cliquable dans la fiche publication */
.apulia-ss-post-place.is-clickable{ cursor:pointer; text-decoration:underline; }

/* Brouillons dans le Profil */
.apulia-ss-drafts-row{ grid-column:1 / -1; margin-bottom:6px; }
.apulia-ss-drafts-label{ margin:0 0 8px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--ass-muted); }
.apulia-ss-drafts-cells{ display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.apulia-ss-mem-cell{ position:relative; }
.apulia-ss-mem-cell.is-draft{ outline:2px dashed var(--ass-orange); outline-offset:-2px; }
.apulia-ss-draft-tag{
	position:absolute; left:6px; bottom:6px; background:var(--ass-orange); color:#fff;
	font-size:10px; font-weight:800; padding:2px 7px; border-radius:999px;
}

/* Détail d'une publication (modale) */
.apulia-ss-post-modal-card{ max-width:520px; padding:0; overflow:hidden; }
.apulia-ss-post-modal-card .apulia-ss-post-head{ padding:14px; }
.apulia-ss-post-modal-media{ width:100%; background:var(--ass-teal); }
.apulia-ss-post-modal-media video,
.apulia-ss-post-modal-img{ display:block; width:100%; }
.apulia-ss-post-modal-img{ aspect-ratio:4/5; background-size:cover; background-position:center; }
.apulia-ss-post-modal-body{ margin:0; padding:12px 16px; font-size:15px; line-height:1.5; color:var(--ass-text); }
.apulia-ss-post-modal-card .apulia-ss-post-actions{ padding:6px 16px 12px; }
.apulia-ss-post-save, .apulia-ss-post-share{
	margin-left:auto; border:0; background:transparent; cursor:pointer; font-size:18px; color:var(--ass-muted);
}
.apulia-ss-post-share{ margin-left:0; }
.apulia-ss-post-save.is-saved{ color:var(--ass-orange); }

.apulia-ss-comments{ max-height:220px; overflow-y:auto; padding:0 16px; }
.apulia-ss-comment{ display:flex; gap:9px; padding:8px 0; align-items:flex-start; }
.apulia-ss-comment .apulia-ss-user-avatar{ width:30px; height:30px; flex:0 0 auto; font-size:13px; }
.apulia-ss-comment div{ font-size:14px; line-height:1.4; color:var(--ass-text); }
.apulia-ss-comment-bar{ display:flex; gap:8px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--ass-line); }
.apulia-ss-comment-bar input{
	flex:1; border:1px solid var(--ass-line); border-radius:999px; padding:10px 14px; font-size:14px; color:var(--ass-text);
}

/* « + Publier » sur la fiche étape (hero) */
.apulia-ss-dest-publish{
	position:absolute; top:12px; right:12px; z-index:2; border:0; cursor:pointer;
	background:var(--ass-orange); color:#fff; border-radius:999px; padding:8px 14px;
	font-size:13px; font-weight:800; box-shadow:0 4px 12px rgba(0,29,38,.3);
}
.apulia-ss-dest-publish:hover{ filter:brightness(1.05); }

/* ============================ v0.6.0 — Stories + Réels ===================== */

/* Bulles Stories : anneau orange si non vue, gris si vue */
.apulia-ss-story-ring{ display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:18px; }
.apulia-ss-story-bubble small{ display:block; font-size:11px; color:var(--ass-muted); max-width:64px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.apulia-ss-story-bubble.is-seen .apulia-ss-story-ring{ box-shadow:0 0 0 2px var(--ass-line); }

/* Avatar profil avec story active */
.apulia-ss-profile-mini-avatar.has-story{
	box-shadow:0 0 0 2px rgba(255,255,255,.72), 0 0 0 4px var(--ass-orange);
}

/* Choix du type de contenu (Publication / Story / Réel) */
.apulia-ss-compose-kinds{ display:flex; gap:6px; background:var(--ass-teal); padding:4px; border-radius:999px; margin-bottom:10px; }
.apulia-ss-ckind{ flex:1; border:0; background:transparent; cursor:pointer; padding:9px 6px; border-radius:999px; font-size:13px; font-weight:800; color:var(--ass-muted); }
.apulia-ss-ckind.is-active{ background:#fff; color:var(--ass-blue); box-shadow:0 1px 4px rgba(0,29,38,.12); }
.apulia-ss-compose-kindhint{ margin:0 0 14px; font-size:13px; color:var(--ass-muted); }
.apulia-ss-ctype.is-active{ border-color:var(--ass-orange); color:var(--ass-orange); }
.apulia-ss-ctype[hidden]{ display:none; }

/* Vignette Réel (grille Profil) */
.apulia-ss-reel-badge{
	position:absolute; top:6px; right:6px; color:#fff; font-size:13px;
	text-shadow:0 1px 3px rgba(0,0,0,.5); pointer-events:none;
}

/* ---------------------------- Story viewer -------------------------------- */
.apulia-ss-story-viewer{
	position:fixed; inset:0; z-index:99998; display:none; background:#000;
	flex-direction:column; align-items:center; justify-content:center;
}
.apulia-ss-story-viewer.is-open{ display:flex; }
.apulia-ss-story-progress{
	position:absolute; top:10px; left:10px; right:10px; z-index:3; display:flex; gap:4px;
}
.apulia-ss-story-bar{ flex:1; height:3px; border-radius:99px; background:rgba(255,255,255,.3); overflow:hidden; }
.apulia-ss-story-bar > i{ display:block; height:100%; width:0; background:#fff; }
.apulia-ss-story-bar > i.is-done{ width:100%; }
.apulia-ss-story-top{
	position:absolute; top:24px; left:12px; right:12px; z-index:3;
	display:flex; align-items:center; gap:10px; color:#fff;
}
.apulia-ss-story-top .apulia-ss-user-avatar{ width:36px; height:36px; flex:0 0 auto; box-shadow:0 0 0 2px rgba(255,255,255,.6); }
.apulia-ss-story-id{ flex:1; min-width:0; }
.apulia-ss-story-id strong{ display:block; font-size:14px; }
.apulia-ss-story-id small{ display:block; font-size:12px; opacity:.85; }
.apulia-ss-story-close{ border:0; background:transparent; color:#fff; font-size:30px; line-height:1; cursor:pointer; padding:0 6px; }
.apulia-ss-story-stage{ width:100%; max-width:520px; height:100%; max-height:100vh; display:flex; align-items:center; justify-content:center; }
.apulia-ss-story-stage video, .apulia-ss-story-img{ width:100%; height:100%; }
.apulia-ss-story-stage video{ object-fit:contain; background:#000; }
.apulia-ss-story-img{ background-size:cover; background-position:center; }
.apulia-ss-story-text{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:32px; background:linear-gradient(135deg,#173B74,#0a6b7a); }
.apulia-ss-story-text p{ color:#fff; font-size:22px; font-weight:700; text-align:center; line-height:1.4; }
.apulia-ss-story-zone{ position:absolute; top:0; bottom:0; z-index:2; border:0; background:transparent; cursor:pointer; }
.apulia-ss-story-zone.is-prev{ left:0; width:33%; }
.apulia-ss-story-zone.is-next{ right:0; width:67%; }
.apulia-ss-story-foot{
	position:absolute; bottom:18px; left:12px; right:12px; z-index:3;
	display:flex; align-items:flex-end; gap:12px;
}
.apulia-ss-story-caption{ flex:1; margin:0; color:#fff; font-size:14px; text-shadow:0 1px 4px rgba(0,0,0,.6); }
.apulia-ss-story-like{ border:0; background:transparent; color:#fff; font-size:28px; cursor:pointer; opacity:.85; }
.apulia-ss-story-like.is-liked{ color:#ff4d6d; opacity:1; }

/* ----------------------------- Reel viewer -------------------------------- */
.apulia-ss-reel-viewer{ position:fixed; inset:0; z-index:99998; display:none; background:#000; }
.apulia-ss-reel-viewer.is-open{ display:block; }
.apulia-ss-reel-close{ position:absolute; top:16px; right:14px; z-index:5; border:0; background:rgba(0,0,0,.4); color:#fff; width:38px; height:38px; border-radius:50%; font-size:24px; cursor:pointer; }
.apulia-ss-reel-track{ height:100%; overflow-y:auto; scroll-snap-type:y mandatory; -webkit-overflow-scrolling:touch; }
.apulia-ss-rv-slide{ position:relative; height:100%; scroll-snap-align:start; display:flex; align-items:center; justify-content:center; background:#000; }
.apulia-ss-rv-slide video{ width:100%; height:100%; object-fit:contain; }
.apulia-ss-rv-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 60%,rgba(0,0,0,.65)); pointer-events:none; }
.apulia-ss-reel-overlay{ position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; align-items:flex-end; gap:12px; padding:16px; }
.apulia-ss-reel-meta{ flex:1; min-width:0; color:#fff; }
.apulia-ss-reel-author{ display:flex; align-items:center; gap:8px; border:0; background:transparent; color:#fff; cursor:pointer; font-weight:800; padding:0; }
.apulia-ss-reel-author .apulia-ss-user-avatar{ width:34px; height:34px; }
.apulia-ss-reel-caption{ margin:8px 0 0; font-size:14px; text-shadow:0 1px 4px rgba(0,0,0,.7); }
.apulia-ss-reel-place{ margin-top:8px; border:0; background:rgba(255,255,255,.18); color:#fff; padding:5px 11px; border-radius:999px; font-size:12px; font-weight:700; cursor:pointer; }
.apulia-ss-reel-rail{ display:flex; flex-direction:column; gap:18px; align-items:center; }
.apulia-ss-reel-act{ border:0; background:transparent; color:#fff; cursor:pointer; font-size:26px; display:flex; flex-direction:column; align-items:center; gap:2px; }
.apulia-ss-reel-act span{ font-size:12px; font-weight:700; }
.apulia-ss-reel-like.is-liked{ color:#ff4d6d; }
.apulia-ss-reel-save.is-saved{ color:var(--ass-orange); }

@media (min-width:760px){
	.apulia-ss-rv-slide video{ max-width:440px; }
	.apulia-ss-reel-overlay{ max-width:440px; margin:0 auto; }
}

/* ==========================================================================
   Surfaces APULIA — fond dégradé 90° (#001D26 → #005E75) sur toutes les cartes.
   Texte, libellés et séparateurs passent en clair pour rester lisibles ;
   les champs de saisie gardent un fond blanc + texte sombre (contraste net).
   ========================================================================== */
#apulia-ss-root .apulia-ss-panel,
#apulia-ss-root .apulia-ss-sheet-card,
#apulia-ss-root .apulia-ss-modal-card,
#apulia-ss-root .apulia-ss-compose,
#apulia-ss-root .apulia-ss-trip-card,
#apulia-ss-root .apulia-ss-trip-owner-bar,
#apulia-ss-root .apulia-ss-step-body,
#apulia-ss-root .apulia-ss-stat-big{
	background:var(--ass-card-grad);
	color:var(--ass-on-card);
	border-color:var(--ass-on-card-line);
}

/* En-têtes/corps de l'éditeur et du wizard : transparents (laissent voir le fond). */
#apulia-ss-root .apulia-ss-compose-head,
#apulia-ss-root .apulia-ss-compose-body{ background:transparent; }
#apulia-ss-root .apulia-ss-compose-head,
#apulia-ss-root .apulia-ss-wizard-head{ border-bottom-color:var(--ass-on-card-line); }
#apulia-ss-root .apulia-ss-wizard-head{ background:transparent; }

/* Texte principal clair (hors contrôles de formulaire). */
#apulia-ss-root :is(.apulia-ss-panel,.apulia-ss-sheet-card,.apulia-ss-modal-card,.apulia-ss-compose,.apulia-ss-trip-card,.apulia-ss-trip-owner-bar,.apulia-ss-step-body,.apulia-ss-stats-row,.apulia-ss-stat-big) :is(h1,h2,h3,h4,h5,h6,p,strong,label,li),
#apulia-ss-root .apulia-ss-stat,
#apulia-ss-root .apulia-ss-stat strong,
#apulia-ss-root .apulia-ss-stat-ico,
#apulia-ss-root .apulia-ss-trip-meta span,
#apulia-ss-root .apulia-ss-step-title,
#apulia-ss-root .apulia-ss-step-note,
#apulia-ss-root .apulia-ss-compose-h,
#apulia-ss-root .apulia-ss-compose-titlewrap strong,
#apulia-ss-root .apulia-ss-modal-card label,
#apulia-ss-root .apulia-ss-trip-owner-text strong{
	color:var(--ass-on-card);
}

/* Texte secondaire (atténué) clair. */
#apulia-ss-root .apulia-ss-bio,
#apulia-ss-root .apulia-ss-profile p,
#apulia-ss-root .apulia-ss-stat span,
#apulia-ss-root .apulia-ss-stats-subtitle,
#apulia-ss-root .apulia-ss-trip-dates,
#apulia-ss-root .apulia-ss-trip-meta small,
#apulia-ss-root .apulia-ss-step-sub,
#apulia-ss-root .apulia-ss-dest-h,
#apulia-ss-root .apulia-ss-trip-owner-text small,
#apulia-ss-root .apulia-ss-wizard-sub,
#apulia-ss-root .apulia-ss-field-hint,
#apulia-ss-root .apulia-ss-compose-hint,
#apulia-ss-root .apulia-ss-compose-sep,
#apulia-ss-root .apulia-ss-compose-kindhint,
#apulia-ss-root .apulia-ss-empty{
	color:var(--ass-on-card-muted);
}

/* Compteurs Profil / Séjour : chiffres orange, libellés et icônes blancs. */
#apulia-ss-root .apulia-ss-stats-row .apulia-ss-stat strong{ color:var(--ass-orange) !important; }
#apulia-ss-root .apulia-ss-stats-row .apulia-ss-stat > span:last-child{ color:#fff !important; }
#apulia-ss-root .apulia-ss-stats-row .apulia-ss-stat-ico{ color:#fff !important; }

/* Séparateurs / bordures internes en clair + séparation des sous-cartes. */
#apulia-ss-root .apulia-ss-stat{ border-right-color:var(--ass-on-card-line); }
#apulia-ss-root .apulia-ss-step-body,
#apulia-ss-root .apulia-ss-trip-owner-bar,
#apulia-ss-root .apulia-ss-trip-card{ border-color:var(--ass-on-card-line); }
#apulia-ss-root .apulia-ss-step-body,
#apulia-ss-root .apulia-ss-trip-owner-bar{
	box-shadow:inset 0 0 0 1px var(--ass-on-card-line), 0 6px 18px rgba(0,29,38,.26);
}

/* Couche sociale désactivée (apulia_ss_social_enabled = false) */
.is-social-off #apulia-ss-notifications { display:none !important; }
.is-social-off .apulia-ss-nav-row { display:none !important; }
.is-social-off .apulia-ss-stat[data-social] { pointer-events:none; cursor:default; }
.is-social-off [data-open-compose],
.is-social-off #apulia-ss-trip-publish,
.is-social-off #apulia-ss-dest-publish { display:none !important; }

/* Messagerie privée désactivée (apulia_ss_messaging_enabled = false) */
.is-messaging-off #apulia-ss-messages-panel,
.is-messaging-off #apulia-ss-message-user { display:none !important; }

/* Feed communautaire désactivé (apulia_ss_feed_enabled = false) :
   expérience recentrée « carnet de voyage » (Polarsteps). On masque Découvrir,
   Souvenirs, la création de contenu (compose), les notifications et les
   surfaces likes/commentaires. Le social léger (suivre, partager, abonnés)
   reste visible. Rien n'est supprimé : masquage réversible via le filtre. */
.is-feed-off .apulia-ss-nav-row,
.is-feed-off #apulia-ss-notifications,
.is-feed-off [data-open-compose],
.is-feed-off #apulia-ss-discover-panel,
.is-feed-off #apulia-ss-memories-panel,
.is-feed-off #apulia-ss-notifications-panel,
.is-feed-off #apulia-ss-feed-panel,
.is-feed-off #apulia-ss-post-modal,
.is-feed-off #apulia-ss-compose,
.is-feed-off #apulia-ss-story-viewer,
.is-feed-off #apulia-ss-reel-viewer,
.is-feed-off .apulia-ss-stories-row,
.is-feed-off #apulia-ss-trip-publish,
.is-feed-off #apulia-ss-dest-publish { display:none !important; }

/* ==========================================================================
   Panneau Statistiques — styles de contenu (layout sheet = .apulia-ss-sheet).
   ========================================================================== */

/* Cartes stats : fond foncé APULIA, texte clair, sans glow */
#apulia-ss-stats-panel .apulia-ss-stat-big{
	background:rgba(0,0,0,.22) !important;
	border:1px solid var(--ass-on-card-line) !important;
	box-shadow:none !important; text-shadow:none !important;
}
#apulia-ss-stats-panel .apulia-ss-stat-big strong{
	display:flex; flex-wrap:nowrap; align-items:baseline; justify-content:center;
	gap:.2em; white-space:nowrap;
	font-size:34px; font-weight:900; line-height:1;
	color:var(--ass-on-card);
}
/* Libellés sous les chiffres (pas le span #apulia-ss-stats-percent dans strong) */
#apulia-ss-stats-panel .apulia-ss-stat-big > span{
	display:block; margin-top:6px; font-size:12px;
	color:var(--ass-on-card-muted); opacity:1;
}
/* Carte % : chiffre = même taille que « lieux vus », symbole % plus petit */
#apulia-ss-stats-panel .apulia-ss-stat-big.dark strong{
	font-size:22px;
}
#apulia-ss-stats-panel #apulia-ss-stats-percent{
	font-size:34px; font-weight:900; line-height:1;
}

#apulia-ss-stats-panel .apulia-ss-sheet-card > .apulia-ss-btn-main.full{
	border-radius:20px !important;
}

#apulia-ss-stats-panel .apulia-ss-stats-bars > div{
	background:rgba(0,0,0,.22) !important;
	border:1px solid var(--ass-on-card-line) !important;
	box-shadow:none !important; text-shadow:none !important;
}
#apulia-ss-stats-panel .apulia-ss-stats-bars span{
	flex:1; min-width:0; font-size:14px; font-weight:600;
	color:var(--ass-on-card);
}
#apulia-ss-stats-panel .apulia-ss-stats-bars strong{
	flex:0 0 auto; margin-left:12px;
	font-size:18px; font-weight:900; color:var(--ass-on-card);
}

#apulia-ss-stats-panel .apulia-ss-stats-map{
	height:130px; margin:12px 0;
	border:1px solid var(--ass-on-card-line); box-shadow:none;
}
#apulia-ss-stats-panel .apulia-ss-stats-grid{ gap:10px; }

/* ==========================================================================
   TripShell — chrome carte, FAB, timeline (flux Polarsteps, identité APULIA)
   ========================================================================== */

.apulia-ss-trip-chrome{
	position:absolute; inset:0 auto auto 0; right:0; z-index:11;
	display:flex; align-items:flex-start; justify-content:space-between;
	padding:max(10px, env(safe-area-inset-top)) 12px 0;
	pointer-events:none;
}
.apulia-ss-chrome-btn{
	pointer-events:auto;
	width:42px; height:42px; border-radius:50%; border:none;
	background:var(--ass-orange); color:#fff;
	box-shadow:0 2px 12px rgba(0,29,38,.18);
	font-size:18px; line-height:1; font-weight:700; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	transition:transform .15s var(--ass-ease), filter .15s var(--ass-ease);
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
.apulia-ss-chrome-ic{
	width:20px; height:20px; flex:0 0 20px; display:block;
	stroke:currentColor; color:#fff;
}
.apulia-ss-chrome-btn:hover{ filter:brightness(1.05); }
.apulia-ss-chrome-btn:active{ transform:scale(.92); }

/* Menu voyage : au-dessus du panneau séjour (z-index 8) — flux Polarsteps */
#apulia-ss-trip-menu-sheet.is-open{ z-index:13; }
.apulia-ss-chrome-center{
	pointer-events:none; text-align:center; flex:1; min-width:0; padding:0 8px;
	color:#fff; text-shadow:0 1px 8px rgba(0,29,38,.55);
}
.apulia-ss-chrome-center small{ display:block; font-size:11px; opacity:.88; }
.apulia-ss-chrome-center strong{
	display:block; font-size:17px; font-weight:800;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.apulia-ss-trip-sheet{
	display:flex; flex-direction:column;
	padding-bottom:0;
	height:56vh; height:56dvh; max-height:56vh; max-height:56dvh;
	transition:height .26s var(--ass-ease), max-height .26s var(--ass-ease);
	overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
#apulia-ss-trip-detail.is-expanded .apulia-ss-trip-sheet{
	height:90vh !important; height:90dvh !important;
	max-height:90vh !important; max-height:90dvh !important;
}
#apulia-ss-trip-detail.is-compact .apulia-ss-trip-sheet{
	height:32vh !important; height:32dvh !important;
	max-height:32vh !important; max-height:32dvh !important;
}
#apulia-ss-trip-detail.is-compact .apulia-ss-trip-summary,
#apulia-ss-trip-detail.is-compact .apulia-ss-follow-view,
#apulia-ss-trip-detail.is-compact .apulia-ss-trip-footer,
#apulia-ss-trip-detail.is-compact .apulia-ss-steps-list,
#apulia-ss-trip-detail.is-compact .apulia-ss-trip-edit-tools,
#apulia-ss-trip-detail.is-compact .apulia-ss-timeline-shell,
#apulia-ss-trip-detail.is-compact .apulia-ss-plan-view{
	display:none !important;
}
/* Poignée grise — même comportement que le profil (zone tactile élargie). */
#apulia-ss-trip-detail #apulia-ss-trip-panel-toggle{
	cursor:pointer; position:sticky; top:0; z-index:3;
	flex:0 0 auto; width:100%; max-width:120px; height:28px;
	display:flex; align-items:center; justify-content:center;
	margin:0 auto 12px; padding:0; border:0; background:transparent;
	-webkit-tap-highlight-color:transparent;
}
#apulia-ss-trip-detail #apulia-ss-trip-panel-toggle::before{
	content:""; display:block; width:46px; height:5px; border-radius:99px; background:var(--ass-orange);
}
.apulia-ss-trip-strip{ margin-bottom:8px; flex:0 0 auto; }
.apulia-ss-trip-strip-main{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.apulia-ss-trip-meta{ margin:0; font-size:13px; color:var(--ass-on-card-muted); }

.apulia-ss-plan-view{
	flex:0 0 auto;
	display:flex; flex-direction:column;
}
.apulia-ss-timeline-shell{
	flex:0 0 auto;
	padding-bottom:16px;
}
.apulia-ss-timeline-header{ margin-bottom:12px; padding-left:2px; flex:0 0 auto; }
.apulia-ss-timeline-footer{ margin-top:12px; padding-left:2px; flex:0 0 auto; }
.apulia-ss-tl-start-row{ display:flex; align-items:center; gap:10px; }
.apulia-ss-tl-start-icon{
	width:38px; height:38px; border-radius:50%;
	background:var(--ass-deep); color:#fff;
	display:flex; align-items:center; justify-content:center;
	font-size:16px; flex:0 0 38px;
}
.apulia-ss-tl-start-icon.is-depart .apulia-ss-tl-flag-green{
	display:flex; align-items:center; justify-content:center;
	width:100%; height:100%;
	font-size:inherit; line-height:1;
	transform:scale(1.2);
	filter:hue-rotate(118deg) saturate(1.45) brightness(1.05);
}
.apulia-ss-tl-start-body{ flex:1 1 auto; min-width:0; }
.apulia-ss-tl-start-body strong{ display:block; font-size:14px; color:var(--ass-on-card); }
.apulia-ss-tl-start-body small{
	display:block; font-size:11px; color:var(--ass-on-card-muted);
	text-transform:uppercase; letter-spacing:.04em; margin-top:2px;
}
.apulia-ss-nights-pill{
	flex:0 0 auto; font-size:11px; font-weight:700;
	padding:6px 10px; border-radius:999px;
	background:#fff; border:1px solid var(--ass-line); color:var(--ass-muted);
	white-space:nowrap;
}
.apulia-ss-nights-pill.is-under,
.apulia-ss-nights-pill.is-over{
	border-color:var(--ass-orange); color:var(--ass-orange); background:#FFF6E8;
}
.apulia-ss-nights-pill.is-match{
	border-color:#27AE60; color:#27AE60; background:#EEFBF3;
}
.apulia-ss-tl-empty{ padding:8px 0 12px; }
.apulia-ss-tl-empty-msg{
	font-size:14px; color:var(--ass-on-card-muted); margin:0; line-height:1.55;
}
.apulia-ss-tl-empty-msg strong{ color:var(--ass-orange); }

.apulia-ss-trip-fab{
	position:fixed;
	right:max(20px, env(safe-area-inset-right, 0px));
	bottom:max(20px, env(safe-area-inset-bottom, 0px));
	z-index:12;
	width:56px; height:56px; border-radius:50%; border:none;
	background:#fff; color:var(--ass-orange);
	box-shadow:0 6px 22px rgba(0,29,38,.22);
	font-size:30px; line-height:1; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	pointer-events:auto;
	transition:transform .22s var(--ass-ease), background .22s var(--ass-ease), color .22s var(--ass-ease), box-shadow .22s var(--ass-ease);
}
#apulia-ss-trip-detail:not(.is-open) .apulia-ss-trip-fab{ display:none !important; }
.apulia-ss-trip-fab:active{ transform:scale(.94); }
.apulia-ss-trip-fab.is-open{
	transform:rotate(45deg); background:var(--ass-orange); color:#fff;
	box-shadow:0 8px 26px rgba(246,166,35,.35);
}

.apulia-ss-trip-footer{
	flex:0 0 auto; margin:8px -18px 0;
	padding:10px 18px calc(10px + env(safe-area-inset-bottom));
	background:var(--ass-deep); border-radius:0;
}
.apulia-ss-trip-footer .apulia-ss-mode-tabs{
	display:flex; gap:6px; margin:0;
	background:rgba(255,255,255,.08); border-radius:999px; padding:4px;
}
.apulia-ss-trip-footer .apulia-ss-mode-tab{
	flex:1; border:0; border-radius:999px; padding:10px 12px;
	background:transparent; color:rgba(255,255,255,.72);
	font-weight:700; font-size:14px; cursor:pointer;
}
.apulia-ss-trip-footer .apulia-ss-mode-tab.is-active{
	background:#fff; color:var(--ass-deep);
}
.apulia-ss-trip-footer .apulia-ss-autosave{
	display:block; text-align:center; font-size:11px;
	color:rgba(255,255,255,.55); margin-top:6px; min-height:14px;
}

.apulia-ss-trip-menu-list{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.apulia-ss-trip-menu-item{
	display:flex; align-items:center; gap:12px; width:100%;
	padding:14px 12px; border:1px solid var(--ass-line); border-radius:14px;
	background:#fff; font-weight:600; font-size:15px; cursor:pointer; text-align:left;
	transition:border-color .15s var(--ass-ease), background .15s var(--ass-ease);
}
.apulia-ss-trip-menu-item:hover{ border-color:var(--ass-orange); background:#fffaf2; }
.apulia-ss-trip-menu-item.danger{ color:#C0392B; border-color:rgba(231,76,60,.35); }
.apulia-ss-trip-menu-item.danger:hover{ background:#fff5f5; }
.apulia-ss-trip-menu-item span:first-child{ font-size:18px; width:24px; text-align:center; flex:0 0 24px; }

/* Menu « Votre voyage » — même grille/cartes que « Planifier votre voyage » */
#apulia-ss-trip-menu-sheet .apulia-ss-add-stack{ margin-top:8px; }
#apulia-ss-trip-menu-sheet .apulia-ss-add-list{
	grid-auto-rows:1fr; align-items:stretch;
}
#apulia-ss-trip-menu-sheet .apulia-ss-add-list .apulia-ss-add-btn--card{
	background:transparent !important; border:1px solid var(--ass-on-card-line) !important;
	color:#fff !important;
}
#apulia-ss-trip-menu-sheet .apulia-ss-add-list .apulia-ss-add-btn--card:hover{
	border-color:var(--ass-orange) !important;
}
#apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-label,
#apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-ic{
	color:#F6A623 !important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list .apulia-ss-add-btn--card{
	display:flex !important; flex-direction:column !important; align-items:center !important;
	justify-content:center !important; text-align:center !important;
	width:100% !important; height:100% !important; min-height:108px !important;
	margin:0 !important; padding:14px 10px !important; gap:6px !important;
	font-size:inherit !important; font-weight:inherit !important;
	border-radius:14px !important; box-sizing:border-box !important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-btn-ic{
	font-size:22px !important; line-height:1 !important; margin:0 !important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-label,
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-ic{
	color:#F6A623 !important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-btn-label{
	font-size:14px !important; font-weight:700 !important; line-height:1.25 !important;
	width:100% !important; white-space:normal !important; overflow:visible !important;
}

#apulia-ss-add-element-sheet.is-open .apulia-ss-sheet-card{
	animation:apulia-ss-menu-in .26s var(--ass-ease);
}
#apulia-ss-trip-menu-sheet.is-open .apulia-ss-sheet-card{
	animation:apulia-ss-menu-in .26s var(--ass-ease);
}
@keyframes apulia-ss-menu-in{
	from{ transform:translateY(20px); opacity:.75; }
	to{ transform:translateY(0); opacity:1; }
}

#apulia-ss-root.is-trip-open #apulia-ss-panel{
	transform:translateY(110%);
	pointer-events:none;
}

/* ==========================================================================
   ARMURE ANTI-THÈME (Elementor / Hello Elementor)
   Duplication des composants interactifs avec préfixe #apulia-ss-root pour
   battre les règles globales du kit (.elementor-kit-XX button, a, etc.).
   Ne modifie AUCUNE règle existante ci-dessus.
   ========================================================================== */

#apulia-ss-root button,
#apulia-ss-root a{
	font-family:inherit;
	text-transform:none;
	letter-spacing:normal;
	text-decoration:none;
	box-shadow:none;
}

#apulia-ss-root .apulia-ss-btn-main,
#apulia-ss-root .apulia-ss-btn-second{
	min-height:var(--ass-btn-h); border:1.5px solid transparent; border-radius:var(--ass-radius);
	padding:0 var(--ass-s4); font-weight:900; line-height:1;
	cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; gap:var(--ass-s2);
	transition:transform .12s var(--ass-ease),filter .15s var(--ass-ease),box-shadow .15s var(--ass-ease),background .15s var(--ass-ease);
	-webkit-tap-highlight-color:transparent;
}
#apulia-ss-root .apulia-ss-btn-main{
	background:var(--ass-orange); color:#fff;
	box-shadow:0 6px 16px var(--ass-orange-soft);
}
#apulia-ss-root .apulia-ss-btn-second{
	background:#fff; color:var(--ass-orange); border-color:var(--ass-orange);
}
#apulia-ss-root .apulia-ss-btn-second.is-muted{
	color:var(--ass-muted); border-color:var(--ass-line); font-weight:700;
}
#apulia-ss-root .apulia-ss-btn-main:hover{ filter:brightness(1.05); box-shadow:0 8px 20px var(--ass-orange-soft); }
#apulia-ss-root .apulia-ss-btn-second:hover{ filter:brightness(1.02); box-shadow:0 6px 16px rgba(0,29,38,.08); }
#apulia-ss-root .apulia-ss-btn-main:active,
#apulia-ss-root .apulia-ss-btn-second:active{ transform:scale(.97); filter:brightness(.98); }
#apulia-ss-root .apulia-ss-btn-main:focus-visible,
#apulia-ss-root .apulia-ss-btn-second:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ass-orange-soft); }
#apulia-ss-root .apulia-ss-btn-main:disabled,
#apulia-ss-root .apulia-ss-btn-second:disabled,
#apulia-ss-root .apulia-ss-btn-main[disabled],
#apulia-ss-root .apulia-ss-btn-second[disabled]{
	opacity:.45; cursor:not-allowed; filter:none; box-shadow:none; transform:none;
}
#apulia-ss-root .apulia-ss-btn-main.full,
#apulia-ss-root .apulia-ss-btn-second.full{ width:100%; margin-top:var(--ass-s4); }
#apulia-ss-root .apulia-ss-btn-main.small,
#apulia-ss-root .apulia-ss-btn-second.small{ min-height:40px; padding:0 var(--ass-s3); font-size:13px; }
#apulia-ss-root .apulia-ss-btn-second.small{ margin-top:var(--ass-s2); }
#apulia-ss-root .apulia-ss-btn-main.danger{ background:#E74C3C; }

#apulia-ss-root .apulia-ss-add-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }
#apulia-ss-root .apulia-ss-add-btn{
	display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px 10px;
	border:1px solid var(--ass-line); border-radius:14px; background:#fff; cursor:pointer; font-weight:600; font-size:13px;
}
#apulia-ss-root .apulia-ss-add-btn span{ font-size:26px; }
#apulia-ss-root .apulia-ss-add-btn:hover{ border-color:var(--ass-orange); }
#apulia-ss-root .apulia-ss-add-btn--apulia{ grid-column:1 / -1; background:linear-gradient(120deg,#fff,var(--ass-orange-soft)); border-color:var(--ass-orange); }

#apulia-ss-root .apulia-ss-place-card{
	display:flex; align-items:stretch; gap:0;
	border:1px solid var(--ass-line); border-radius:14px; overflow:hidden; background:#fff; width:100%;
}
#apulia-ss-root .apulia-ss-place-card-main{
	flex:1 1 auto; display:flex; align-items:center; gap:10px;
	border:none; background:transparent; padding:10px 12px; cursor:pointer; text-align:left;
}
#apulia-ss-root .apulia-ss-place-card .apulia-ss-place-add{
	flex:0 0 44px; border:none; border-left:1px solid var(--ass-line);
	background:var(--ass-orange); color:#fff; font-size:20px; font-weight:700; cursor:pointer;
}
#apulia-ss-root .apulia-ss-place-thumb{ width:46px; height:46px; flex:0 0 46px; border-radius:9px; background-size:cover; background-position:center; background-color:var(--ass-card); }
#apulia-ss-root .apulia-ss-place-thumb.is-placeholder{ display:flex; align-items:center; justify-content:center; font-size:20px; }
#apulia-ss-root .apulia-ss-place-info{ flex:1 1 auto; min-width:0; }
#apulia-ss-root .apulia-ss-place-info strong{ display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#apulia-ss-root .apulia-ss-place-info small{ font-size:11px; color:var(--ass-muted); }

#apulia-ss-root .apulia-ss-trip-summary{
	display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 4px;
}
#apulia-ss-root .apulia-ss-trip-summary span{
	flex:1 1 0; min-width:64px; text-align:center; background:#fff; border:1px solid var(--ass-line);
	border-radius:12px; padding:8px 6px; display:flex; flex-direction:column; gap:2px;
}
#apulia-ss-root .apulia-ss-trip-summary strong{ font-size:18px; color:var(--ass-text); }
#apulia-ss-root .apulia-ss-trip-summary small{ font-size:10px; color:var(--ass-muted); text-transform:uppercase; letter-spacing:.04em; }

#apulia-ss-root .apulia-ss-dash-stats{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
#apulia-ss-root .apulia-ss-dash-stat{
	display:inline-flex; align-items:center; gap:5px; background:#fff; border:1px solid var(--ass-line);
	border-radius:999px; padding:5px 11px; font-size:12.5px; font-weight:600; color:var(--ass-muted);
}
#apulia-ss-root .apulia-ss-dash-stat.is-set{ border-color:var(--ass-orange); color:var(--ass-text); background:#fff; }

#apulia-ss-root .apulia-ss-progress{ display:flex; flex-wrap:wrap; gap:6px; }
#apulia-ss-root .apulia-ss-prog{
	display:inline-flex; align-items:center; gap:5px; border:1px solid var(--ass-line); background:#fff;
	border-radius:999px; padding:6px 12px; font-size:12.5px; font-weight:600; color:var(--ass-muted); cursor:pointer;
	transition:border-color .15s, color .15s;
}
#apulia-ss-root .apulia-ss-prog:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }
#apulia-ss-root .apulia-ss-prog-mark{ font-weight:800; }
#apulia-ss-root .apulia-ss-prog.is-done{ border-color:#1f9d72; color:#1f9d72; background:#f0faf6; }
#apulia-ss-root .apulia-ss-prog.is-done .apulia-ss-prog-mark{ color:#1f9d72; }
#apulia-ss-root .apulia-ss-progress-hint{ margin:8px 0 0; font-size:12px; color:var(--ass-muted); }

#apulia-ss-root .apulia-ss-guide-chips{ display:flex; flex-wrap:wrap; gap:8px; }
#apulia-ss-root .apulia-ss-guide-chips button{
	border:1px solid var(--ass-line); background:#fff; border-radius:999px; padding:9px 14px;
	font-size:13px; font-weight:600; cursor:pointer; color:var(--ass-text);
}
#apulia-ss-root .apulia-ss-guide-chips button:hover{ border-color:var(--ass-orange); color:var(--ass-orange); }
#apulia-ss-root .apulia-ss-guide-cta{
	width:100%; border:0; background:var(--ass-orange); color:#fff; border-radius:12px;
	padding:13px; font-size:15px; font-weight:700; cursor:pointer;
}
#apulia-ss-root .apulia-ss-guide-cta:hover{ filter:brightness(1.05); }
#apulia-ss-root .apulia-ss-guide-skip{
	display:block; margin:8px auto 0; border:0; background:transparent; color:var(--ass-muted);
	font-size:13px; cursor:pointer; text-decoration:underline;
}
#apulia-ss-root .apulia-ss-guide-q{ margin:0 0 10px; font-size:16px; font-weight:700; color:var(--ass-text); }

#apulia-ss-root .apulia-ss-soft{ margin-top:12px; padding-top:12px; border-top:1px dashed var(--ass-orange); }
#apulia-ss-root .apulia-ss-soft-note{ margin:8px 0 0; font-size:12px; color:var(--ass-muted); text-align:center; }

#apulia-ss-root .apulia-ss-insight{
	margin:12px 0 2px; padding:11px 13px; background:rgba(255,255,255,.6); border-radius:12px;
	font-size:13.5px; font-weight:600; color:#8a5a00; line-height:1.4;
}

#apulia-ss-root .apulia-ss-trip-fab{
	position:fixed;
	right:max(20px, env(safe-area-inset-right, 0px));
	bottom:max(20px, env(safe-area-inset-bottom, 0px));
	z-index:12;
	width:56px; height:56px; border-radius:50%; border:none;
	background:#fff; color:var(--ass-orange);
	box-shadow:0 6px 22px rgba(0,29,38,.22);
	font-size:30px; line-height:1; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	pointer-events:auto;
	transition:transform .22s var(--ass-ease), background .22s var(--ass-ease), color .22s var(--ass-ease), box-shadow .22s var(--ass-ease);
}
#apulia-ss-root .apulia-ss-trip-fab:active{ transform:scale(.94); }
#apulia-ss-root .apulia-ss-trip-fab.is-open{
	transform:rotate(45deg); background:var(--ass-orange); color:#fff;
	box-shadow:0 8px 26px rgba(246,166,35,.35);
}

#apulia-ss-root .apulia-ss-tl-plus{
	align-self:flex-start;
	width:34px; height:34px; min-width:34px; min-height:34px;
	margin:2px 0 2px calc(var(--tl-axis,31px) - 17px - var(--tl-inset,72px));
	border-radius:50%; border:none; background:var(--ass-orange); color:#fff;
	font-size:18px; line-height:1; font-weight:700; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	transition:transform .15s, filter .15s;
}
#apulia-ss-root .apulia-ss-tl-plus:hover{ filter:brightness(1.05); transform:scale(1.08); }
#apulia-ss-root .apulia-ss-tl-plus.is-cta{
	width:auto; height:auto; border-radius:14px; padding:12px 18px; font-weight:700; font-size:14px;
	border-style:solid; background:var(--ass-orange); color:#fff; border-color:var(--ass-orange);
}
#apulia-ss-root .apulia-ss-tl-plus.is-cta:hover{ filter:brightness(1.05); transform:scale(1.02); }

#apulia-ss-root .apulia-ss-mini-btn{
	width:30px; height:30px; border-radius:var(--ass-radius-sm); border:0;
	background:rgba(255,255,255,.12); cursor:pointer; font-size:12px; color:var(--ass-on-card);
	display:flex; align-items:center; justify-content:center;
	transition:color .15s var(--ass-ease),background .15s var(--ass-ease),transform .12s var(--ass-ease);
}
#apulia-ss-root .apulia-ss-mini-btn:hover{ background:rgba(255,255,255,.2); color:var(--ass-orange); }
#apulia-ss-root .apulia-ss-mini-btn:active{ transform:scale(.92); }
#apulia-ss-root .apulia-ss-mini-btn.danger:hover{ color:#ff8a7a; }

#apulia-ss-root .apulia-ss-trip-footer .apulia-ss-mode-tabs{
	display:flex; gap:6px; margin:0;
	background:rgba(255,255,255,.08); border-radius:999px; padding:4px;
}
#apulia-ss-root .apulia-ss-trip-footer .apulia-ss-mode-tab{
	flex:1; border:0; border-radius:999px; padding:10px 12px;
	background:transparent; color:rgba(255,255,255,.72);
	font-weight:700; font-size:14px; cursor:pointer;
}
#apulia-ss-root .apulia-ss-trip-footer .apulia-ss-mode-tab.is-active{
	background:#fff; color:var(--ass-deep);
}

#apulia-ss-root .apulia-ss-modal-close{
	position:absolute; top:12px; right:12px; z-index:5;
	width:var(--ass-close-size); height:var(--ass-close-size); border-radius:50%;
	border:0 !important; padding:0; flex:0 0 auto; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	background:transparent !important; color:var(--ass-orange) !important;
	font-size:26px; line-height:1; font-weight:700;
	text-shadow:0 1px 4px rgba(0,0,0,.35);
	transition:transform .12s var(--ass-ease),opacity .15s var(--ass-ease);
}
#apulia-ss-root .apulia-ss-modal-close:hover{ opacity:.8; }
#apulia-ss-root .apulia-ss-modal-close:active{ transform:scale(.92); }

#apulia-ss-root .apulia-ss-tl-nights.is-compact .apulia-ss-night-btn,
#apulia-ss-root .apulia-ss-dest-nights-ctl .apulia-ss-night-btn{
	width:28px; height:28px; border:none; background:var(--ass-orange); color:#fff;
	font-size:18px; font-weight:700;
}
#apulia-ss-root .apulia-ss-tl-nights.is-compact .apulia-ss-night-btn:hover,
#apulia-ss-root .apulia-ss-dest-nights-ctl .apulia-ss-night-btn:hover{
	filter:brightness(1.08); color:#fff;
}

#apulia-ss-root .apulia-ss-dest-publish{
	position:absolute; top:12px; right:12px; z-index:2; border:0; cursor:pointer;
	background:var(--ass-orange); color:#fff; border-radius:999px; padding:8px 14px;
	font-size:13px; font-weight:800; box-shadow:0 4px 12px rgba(0,29,38,.3);
}
#apulia-ss-root .apulia-ss-dest-publish:hover{ filter:brightness(1.05); }

#apulia-ss-root .apulia-ss-search-bar input{
	width:100%; padding:12px 14px; border:1px solid var(--ass-line); border-radius:12px; font-size:15px; margin:8px 0;
}
#apulia-ss-root .apulia-ss-manual-row input{ flex:1 1 auto; padding:12px 14px; border:1px solid var(--ass-line); border-radius:12px; font-size:15px; }

#apulia-ss-root .apulia-ss-tl-empty{ margin:8px 0; }
#apulia-ss-root .apulia-ss-tl-empty{ padding:8px 0 12px; }
#apulia-ss-root .apulia-ss-tl-empty-msg{
	font-size:14px; color:var(--ass-on-card-muted); margin:0; line-height:1.55;
}
#apulia-ss-root .apulia-ss-tl-empty-msg strong{ color:var(--ass-orange); }

#apulia-ss-root .apulia-ss-nights-pill{
	flex:0 0 auto; font-size:11px; font-weight:700;
	padding:6px 10px; border-radius:999px;
	background:#fff; border:1px solid var(--ass-line); color:var(--ass-muted);
	white-space:nowrap;
}
#apulia-ss-root .apulia-ss-nights-pill.is-under,
#apulia-ss-root .apulia-ss-nights-pill.is-over{
	border-color:var(--ass-orange); color:var(--ass-orange); background:#FFF6E8;
}
#apulia-ss-root .apulia-ss-nights-pill.is-match{
	border-color:#27AE60; color:#27AE60; background:#EEFBF3;
}

#apulia-ss-root .apulia-ss-trip-cover-bar{
	position:absolute; top:0; left:0; right:0; z-index:2;
	display:flex; align-items:flex-start; justify-content:space-between;
	padding:var(--ass-s3); pointer-events:none;
}
#apulia-ss-root .apulia-ss-trip-cover-bar > *{ pointer-events:auto; }
#apulia-ss-root .apulia-ss-trip-cover-bar .apulia-ss-trip-vis{
	position:static; top:auto; left:auto; flex:0 0 auto;
}
#apulia-ss-root .apulia-ss-trip-del{
	position:relative; flex:0 0 32px !important; align-self:flex-start;
	width:32px !important; height:32px !important;
	min-width:32px !important; max-width:32px !important;
	min-height:32px !important; max-height:32px !important;
	padding:0 !important; margin:0; border:none !important; border-radius:0;
	cursor:pointer; background:transparent !important; background-image:none !important;
	box-shadow:none !important; overflow:visible;
	transition:transform .12s var(--ass-ease), opacity .15s var(--ass-ease);
	-webkit-tap-highlight-color:transparent;
}
#apulia-ss-root .apulia-ss-trip-del::before{
	content:""; position:absolute; top:50%; left:50%;
	width:20px; height:20px; transform:translate(-50%,-50%);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFFFFF'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important; background-position:center !important; background-size:contain !important;
	filter:drop-shadow(0 1px 3px rgba(0,29,38,.45)); pointer-events:none;
}
#apulia-ss-root .apulia-ss-trip-del:hover{ opacity:.85; transform:scale(1.06); }
#apulia-ss-root .apulia-ss-trip-del:active{ transform:scale(.92); opacity:.7; }

/* ==========================================================================
   Carnet de voyage — correctifs ciblés (cartes du profil uniquement)
   ========================================================================== */

/* Reflet latéral supprimé : le dégradé horizontal brillant (côté droit) est
   remplacé par un dégradé vertical discret. L'identité teal (design global de
   la carte) est conservée, sans effet de brillance/reflet latéral. */
#apulia-ss-root .apulia-ss-trip-card{
	background:linear-gradient(180deg,#013341 0%,#001D26 100%) !important;
}
#apulia-ss-root .apulia-ss-trip-cover.is-placeholder{
	background-image:linear-gradient(180deg,#013341 0%,#001D26 100%);
}

/* Photo du voyage : rendu propre type object-fit:cover, image centrée,
   jamais écrasée ni mal cadrée. Hauteur garantie si aspect-ratio n'est pas
   pris en compte. */
#apulia-ss-root .apulia-ss-trip-cover{
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat;
	min-height:150px;
}

/* Espace de sécurité en bas du carnet : les stats (jours/nuits/km/étapes) du
   dernier voyage restent visibles au-dessus de la barre de navigation basse. */
#apulia-ss-root .apulia-ss-trip-list{
	padding-bottom:calc(90px + env(safe-area-inset-bottom, 0px));
}

/* Espacement vertical du SEUL titre « Carnet de voyage » (id ciblé : les autres
   .apulia-ss-section-title restent strictement identiques). Un peu plus d'air
   au-dessus (bouton « + Ajouter un voyage ») et en-dessous (1re carte). */
#apulia-ss-trips-title{ margin-top:26px; margin-bottom:16px; }

/* ==========================================================================
   TripShell — correctifs visuels (Séjour / éditeur planifier)
   ========================================================================== */

/* — Compteurs Séjour (alignés Profil : transparent + contour discret) — */
#apulia-ss-trip-detail .apulia-ss-trip-summary.apulia-ss-stats-row{
	display:grid; grid-template-columns:repeat(4,1fr);
	margin:10px 0 24px;
	background:transparent !important;
	border:1px solid var(--ass-on-card-line) !important;
}
#apulia-ss-trip-detail .apulia-ss-trip-summary .apulia-ss-stat{
	background:transparent !important; border:0 !important;
	cursor:default; pointer-events:none;
}
#apulia-ss-trip-detail .apulia-ss-trip-summary .apulia-ss-stat strong{
	color:var(--ass-orange) !important; font-size:26px !important;
}
#apulia-ss-trip-detail .apulia-ss-trip-summary .apulia-ss-stat > span:last-child{
	color:#fff !important; font-size:11px; text-transform:uppercase; letter-spacing:.04em;
}
#apulia-ss-trip-detail .apulia-ss-trip-summary .apulia-ss-stat span{
	flex:unset !important; min-width:unset !important; background:none !important;
	border:none !important; border-radius:0 !important; padding:0 !important;
}

/* — En-tête voyage — */
#apulia-ss-trip-detail .apulia-ss-trip-strip-main{
	display:flex; flex-direction:column; align-items:stretch; gap:4px;
	margin-top:2px; padding-right:40px; width:100%;
}
#apulia-ss-trip-detail .apulia-ss-trip-strip-row{
	display:flex; flex-direction:row; align-items:baseline;
	justify-content:space-between; gap:12px; width:100%;
}
#apulia-ss-root #apulia-ss-trip-detail #apulia-ss-detail-name.apulia-ss-trip-name{
	display:block !important; visibility:visible !important; opacity:1 !important;
	flex:1 1 auto; min-width:0; margin:0; padding:0;
	font-size:20px !important; font-weight:800 !important; line-height:1.2 !important;
	color:#fff !important; text-align:left !important;
}
#apulia-ss-trip-detail #apulia-ss-detail-meta{
	display:block; flex:1 1 auto; min-width:0;
	margin:0; padding:0;
	font-size:13px; font-weight:600; line-height:1.3;
	color:var(--ass-on-card-muted) !important; text-align:left !important;
}
#apulia-ss-trip-detail .apulia-ss-trip-strip-row .apulia-ss-trip-badge{
	flex:0 0 auto; margin:0; text-align:right;
}
#apulia-ss-trip-detail .apulia-ss-trip-strip-row .apulia-ss-trip-status{
	flex:0 0 auto; margin:0; text-align:right;
}

/* — Espace compteurs → timeline — */
#apulia-ss-trip-detail .apulia-ss-timeline-header{ margin-bottom:18px; }
#apulia-ss-trip-detail .apulia-ss-timeline-footer{ margin-top:18px; }
#apulia-ss-trip-detail .apulia-ss-timeline{ margin-top:8px; }
#apulia-ss-trip-detail .apulia-ss-timeline > .apulia-ss-tl-plus:first-child{
	margin-top:2px; margin-bottom:8px;
}
#apulia-ss-trip-detail .apulia-ss-nights-pill{
	background:transparent !important; border-color:var(--ass-on-card-line); color:var(--ass-on-card-muted);
}
#apulia-ss-trip-detail .apulia-ss-nights-pill.is-under,
#apulia-ss-trip-detail .apulia-ss-nights-pill.is-over{
	border-color:var(--ass-orange) !important; color:var(--ass-orange) !important;
}
#apulia-ss-trip-detail .apulia-ss-nights-pill.is-match{
	border-color:#27AE60 !important; color:#27AE60 !important;
}

/* — Cartes d'étapes — */
#apulia-ss-trip-detail .apulia-ss-tl-dest,
#apulia-ss-trip-detail .apulia-ss-tl-flat{
	background:transparent !important; border-color:var(--ass-on-card-line);
}
#apulia-ss-trip-detail .apulia-ss-tl-child{
	background:none !important; border:none !important; border-radius:0 !important;
	padding:6px 0 !important;
}
#apulia-ss-trip-detail .apulia-ss-tl-child:hover{ background:none !important; }
#apulia-ss-trip-detail .apulia-ss-tl-child-body strong{ color:#fff !important; font-size:14px; }
#apulia-ss-trip-detail .apulia-ss-tl-child-thumb{
	flex:0 0 52px; width:52px; height:52px; min-width:52px; min-height:52px;
	background-color:rgba(0,29,38,.35); border:1px solid var(--ass-on-card-line);
	border-radius:10px;
}
#apulia-ss-trip-detail .apulia-ss-tl-title{ color:#fff !important; font-size:15px; font-weight:800; margin:0; line-height:1.25; }
#apulia-ss-trip-detail .apulia-ss-tl-dates{ color:var(--ass-on-card-muted) !important; font-size:12px; font-weight:500; }
#apulia-ss-trip-detail .apulia-ss-tl-type,
#apulia-ss-trip-detail .apulia-ss-tl-nights span,
#apulia-ss-trip-detail .apulia-ss-tl-child-body small{ color:var(--ass-on-card-muted) !important; }
#apulia-ss-trip-detail .apulia-ss-tl-thumb{
	flex:0 0 62px; width:62px; height:62px; min-width:62px; min-height:62px;
	background-color:rgba(0,29,38,.35); border:1px solid var(--ass-on-card-line);
}
#apulia-ss-trip-detail .apulia-ss-tl-hint{
	background:rgba(246,166,35,.18) !important; color:#fff !important; border:1px solid rgba(246,166,35,.35);
}
#apulia-ss-trip-detail .apulia-ss-tl-addto{
	background:transparent !important; color:var(--ass-on-card-muted); border-color:var(--ass-on-card-line);
}
#apulia-ss-trip-detail .apulia-ss-tl-addto:hover{ color:var(--ass-orange); border-color:var(--ass-orange); }
#apulia-ss-trip-detail .apulia-ss-timeline::before{
	border-left-color:rgba(246,166,35,.82);
}
#apulia-ss-trip-detail .apulia-ss-tl-mini-track,
#apulia-ss-trip-detail .apulia-ss-tl-mini-track::before,
#apulia-ss-trip-detail .apulia-ss-tl-child::before{
	border-color:rgba(246,166,35,.35);
}
#apulia-ss-trip-detail .apulia-ss-tl-nights.is-compact{ background:transparent !important; }
#apulia-ss-trip-detail .apulia-ss-tl-nights.is-compact span{ color:var(--ass-on-card-muted) !important; font-size:12px !important; }
#apulia-ss-trip-detail .apulia-ss-tl-dest-del,
#apulia-ss-trip-detail .apulia-ss-tl-flat-del{ top:8px; right:8px; width:34px; height:34px; }
#apulia-ss-trip-detail .apulia-ss-tl-num{
	top:-6px; left:-6px; right:auto; bottom:auto; transform:none;
	width:26px !important; height:26px !important;
	background:#27AE60 !important; border:2px solid var(--ass-deep) !important;
	box-shadow:0 1px 5px rgba(0,0,0,.35) !important;
	color:#fff !important; font-size:13px !important; font-weight:800 !important;
	text-shadow:none !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
}
#apulia-ss-trip-detail .apulia-ss-tl-plus:not(.is-cta){
	width:34px !important; height:34px !important; min-width:34px !important; min-height:34px !important;
	font-size:18px !important;
}
#apulia-ss-trip-detail .apulia-ss-tl-leg{
	background:rgba(255,255,255,.08) !important; border-color:var(--ass-on-card-line) !important;
	color:var(--ass-on-card-muted) !important;
}
#apulia-ss-trip-detail .apulia-ss-tl-nights.is-compact .apulia-ss-mini-btn,
#apulia-ss-trip-detail .apulia-ss-tl-child-actions .apulia-ss-mini-btn,
#apulia-ss-trip-detail .apulia-ss-tl-dest-del,
#apulia-ss-trip-detail .apulia-ss-tl-flat-del{
	width:34px !important; height:34px !important; font-size:16px !important;
}
#apulia-ss-trip-detail .apulia-ss-tl-actions{ display:none !important; }
#apulia-ss-trip-detail .apulia-ss-tl-child-actions{
	display:flex !important; flex-direction:row !important; justify-content:flex-end !important;
	align-items:center !important; gap:4px !important; flex:0 0 auto !important; width:auto !important;
}

/* — FAB principal : fond orange, croix blanche — */
#apulia-ss-trip-detail .apulia-ss-trip-fab{
	background:var(--ass-orange) !important; color:#fff !important;
	box-shadow:0 6px 22px rgba(246,166,35,.4) !important;
}
#apulia-ss-trip-detail .apulia-ss-trip-fab.is-open{
	transform:rotate(45deg); background:var(--ass-orange) !important; color:#fff !important;
	box-shadow:0 8px 26px rgba(246,166,35,.45) !important;
}

/* — Menu d'ajout (+) : grille centrée, cartes identiques — */
#apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card{
	background:transparent !important; border:1px solid var(--ass-on-card-line) !important;
	color:#fff !important;
}
#apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card small{
	color:var(--ass-on-card-muted) !important;
}
#apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card:hover{
	border-color:var(--ass-orange) !important;
}
#apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia{
	background:transparent !important; border-color:var(--ass-orange) !important;
	color:#fff !important;
}
#apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia small{
	color:var(--ass-on-card-muted) !important;
}

/* Armure anti-thème : grille « Planifier votre voyage » (bat #apulia-ss-root .apulia-ss-add-btn) */
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card{
	display:flex !important; flex-direction:column !important; align-items:center !important;
	justify-content:center !important; text-align:center !important;
	width:100% !important; height:100% !important; min-height:108px !important;
	margin:0 !important; padding:14px 10px !important; gap:6px !important;
	font-size:inherit !important; font-weight:inherit !important;
	border-radius:14px !important; box-sizing:border-box !important;
}
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-btn-ic{
	font-size:22px !important; line-height:1 !important; margin:0 !important;
}
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-btn-label{
	font-size:14px !important; font-weight:700 !important; line-height:1.25 !important;
	width:100% !important; white-space:normal !important; overflow:visible !important;
}
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card small{
	display:block !important; font-size:11px !important; font-weight:500 !important;
	line-height:1.35 !important; margin:0 !important; padding:0 !important;
	width:100% !important; white-space:normal !important; overflow:visible !important;
}
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia{
	background:transparent !important; border-color:var(--ass-orange) !important;
	color:#fff !important; grid-column:auto !important;
}
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-add-list .apulia-ss-add-btn--card.apulia-ss-add-btn--apulia small{
	color:var(--ass-on-card-muted) !important;
}

/* Recherche hébergement — « Où allez-vous dormir ? » : champs et cartes transparents */
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement .apulia-ss-search-bar input{
	background:#fff !important;
	background-color:#fff !important;
	border:1px solid var(--ass-line) !important;
	color:var(--ass-text) !important;
	caret-color:var(--ass-orange);
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
}
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input:focus,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input:focus-visible,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement .apulia-ss-search-bar input:focus,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement .apulia-ss-search-bar input:focus-visible{
	border-color:var(--ass-line) !important;
	outline:none !important;
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
}
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input::-webkit-search-decoration,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input::-webkit-search-cancel-button,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input::-webkit-search-results-button,
#apulia-ss-root #apulia-ss-search-sheet.is-hebergement #apulia-ss-search-input::-webkit-search-results-decoration{
	-webkit-appearance:none;
	appearance:none;
	display:none;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-search-bar input::placeholder{
	color:var(--ass-muted);
	opacity:1;
}
#apulia-ss-search-sheet.is-hebergement #apulia-ss-search-manual{
	background:var(--ass-orange) !important;
	color:#fff !important;
	border-color:transparent !important;
	box-shadow:0 6px 16px var(--ass-orange-soft);
}
#apulia-ss-search-sheet.is-hebergement #apulia-ss-search-manual:hover{
	filter:brightness(1.05);
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-manual-row input{
	background:transparent !important;
	border:1px solid var(--ass-on-card-line) !important;
	color:#fff !important;
	caret-color:var(--ass-orange);
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-manual-row input::placeholder{
	color:var(--ass-on-card-muted);
	opacity:1;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-manual-row input:focus{
	border-color:var(--ass-on-card-line) !important;
	outline:none;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-card{
	background:transparent !important;
	border-color:var(--ass-on-card-line) !important;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-card:hover{
	border-color:var(--ass-orange) !important;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-info strong{
	color:var(--ass-on-card);
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-info small{
	color:#F6A623;
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-thumb{
	width:72px; height:72px; flex:0 0 72px;
	background-color:rgba(0,29,38,.35);
	border:1px solid var(--ass-on-card-line);
}
#apulia-ss-search-sheet.is-hebergement .apulia-ss-place-thumb.is-placeholder{
	font-size:28px;
}

/* Recherche destination — « Par où passez-vous ? » : visuel uniquement */
#apulia-ss-search-sheet:not(.is-hebergement) .apulia-ss-place-card{
	background:transparent !important;
	border-color:var(--ass-on-card-line) !important;
}
#apulia-ss-search-sheet:not(.is-hebergement) .apulia-ss-place-info strong{
	color:#fff !important;
}
#apulia-ss-search-sheet:not(.is-hebergement) #apulia-ss-search-manual{
	background:var(--ass-orange) !important;
	color:#fff !important;
	border-color:transparent !important;
	box-shadow:0 6px 16px var(--ass-orange-soft);
}
#apulia-ss-search-sheet:not(.is-hebergement) #apulia-ss-search-manual:hover{
	filter:brightness(1.05);
}
#apulia-ss-search-sheet:not(.is-hebergement) .apulia-ss-place-thumb{
	width:72px; height:72px; flex:0 0 72px;
	background-color:rgba(0,29,38,.35);
	border:1px solid var(--ass-on-card-line);
}
#apulia-ss-search-sheet:not(.is-hebergement) .apulia-ss-place-thumb.is-placeholder{
	font-size:28px;
}

/* Feuille de recherche — texte secondaire orange, bouton + transparent */
#apulia-ss-search-sheet .apulia-ss-place-info small{
	color:#F6A623 !important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card .apulia-ss-place-add{
	background:transparent !important;
	background-color:transparent !important;
	background-image:none !important;
	color:#F6A623 !important;
	box-shadow:none !important;
	display:flex;
	align-items:center;
	justify-content:center;
	line-height:1;
	text-align:center;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card .apulia-ss-place-add[data-place-view]{
	flex:0 0 48px;
	font-size:11px;
	font-weight:600;
	letter-spacing:0.01em;
	padding:0 8px;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card .apulia-ss-place-add[data-place-add]{
	flex:0 0 44px;
	font-size:20px;
	font-weight:700;
	padding:0;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card .apulia-ss-place-add:hover{
	background:transparent !important;
	background-color:transparent !important;
	filter:none;
}

/* Modale Vol — fond APULIA + champs transparents (cohérent avec les autres panneaux) */
#apulia-ss-flight-modal .apulia-ss-modal-card{
	background:var(--ass-card-grad) !important;
	color:var(--ass-on-card);
}
#apulia-ss-flight-modal .apulia-ss-modal-card h2,
#apulia-ss-flight-modal .apulia-ss-modal-card label{
	color:var(--ass-on-card) !important;
}
#apulia-ss-flight-modal .apulia-ss-modal-card input,
#apulia-ss-flight-modal .apulia-ss-modal-card textarea{
	background:transparent !important;
	border:1px solid var(--ass-on-card-line) !important;
	color:var(--ass-on-card) !important;
	box-shadow:none !important;
}
#apulia-ss-flight-modal .apulia-ss-modal-card input::placeholder,
#apulia-ss-flight-modal .apulia-ss-modal-card textarea::placeholder{
	color:var(--ass-on-card-muted);
	opacity:1;
}
#apulia-ss-flight-modal .apulia-ss-modal-card input:focus,
#apulia-ss-flight-modal .apulia-ss-modal-card textarea:focus{
	border-color:var(--ass-orange) !important;
	outline:none;
}
#apulia-ss-flight-modal .apulia-ss-modal-card input[type="date"],
#apulia-ss-flight-modal .apulia-ss-modal-card input[type="time"]{
	color-scheme:dark;
}

/* Feuille de recherche — champ « Rechercher un lieu des Pouilles » : fond blanc */
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input{
	background:#fff !important;
	background-color:#fff !important;
	border:1px solid var(--ass-line) !important;
	color:var(--ass-text) !important;
	caret-color:var(--ass-orange);
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
}
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input:focus,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input:focus-visible{
	border-color:var(--ass-line) !important;
	outline:none !important;
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
}
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input::placeholder{
	color:var(--ass-muted);
	opacity:1;
}
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input::-webkit-search-decoration,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input::-webkit-search-cancel-button,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input::-webkit-search-results-button,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input::-webkit-search-results-decoration{
	-webkit-appearance:none;
	appearance:none;
	display:none;
}
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input:-webkit-autofill,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input:-webkit-autofill:hover,
#apulia-ss-root #apulia-ss-search-sheet #apulia-ss-search-input:-webkit-autofill:focus{
	-webkit-box-shadow:0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color:var(--ass-text) !important;
	caret-color:var(--ass-orange);
}

/* ===== Séjour — contextualisation fiche lieu (#apulia-ss-place-body) ===== */
#apulia-ss-place-body svg.e-font-icon-svg.e-fas-heart,
#apulia-ss-place-body .elementor-widget-icon:has(svg.e-font-icon-svg.e-fas-heart){
	display:none !important;
}
#apulia-ss-place-body .ap-card-note-inline,
#apulia-ss-place-body .ap-card-apulia-label,
#apulia-ss-place-body a.apulia-inc-map,
#apulia-ss-place-body .apulia-ss-hide-map-link{
	display:none !important;
}
#apulia-ss-place-body a.apulia-ss-cta-add,
#apulia-ss-place-body button.apulia-ss-cta-add,
#apulia-ss-place-body .elementor-button.apulia-ss-cta-add,
#apulia-ss-place-body .apulia-single-fav-toggle.apulia-ss-cta-add,
#apulia-ss-place-body a.apulia-ss-cta-book,
#apulia-ss-place-body button.apulia-ss-cta-book,
#apulia-ss-place-body .apulia-availability-button.apulia-ss-cta-book{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:46px !important;
	padding:12px 20px !important;
	border-radius:999px !important;
	background:#F6A623 !important;
	background-color:#F6A623 !important;
	background-image:none !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:.02em !important;
	text-decoration:none !important;
	border:none !important;
	box-shadow:none !important;
	cursor:pointer !important;
	box-sizing:border-box !important;
}
#apulia-ss-place-body .apulia-ss-cta-add .elementor-button-text,
#apulia-ss-place-body .apulia-ss-cta-add .elementor-button-content-wrapper,
#apulia-ss-place-body .apulia-ss-cta-book .elementor-button-text{
	color:#fff !important;
}
#apulia-ss-place-body a.apulia-ss-cta-add:hover,
#apulia-ss-place-body a.apulia-ss-cta-add:focus,
#apulia-ss-place-body button.apulia-ss-cta-add:hover,
#apulia-ss-place-body button.apulia-ss-cta-add:focus,
#apulia-ss-place-body a.apulia-ss-cta-book:hover,
#apulia-ss-place-body a.apulia-ss-cta-book:focus,
#apulia-ss-place-body button.apulia-ss-cta-book:hover,
#apulia-ss-place-body button.apulia-ss-cta-book:focus{
	background:#F6A623 !important;
	background-color:#F6A623 !important;
	color:#fff !important;
	filter:brightness(1.04);
}
#apulia-ss-place-body .apulia-ss-cta-book.is-disabled{
	opacity:.72 !important;
	pointer-events:none !important;
}
.apulia-ss-popup .apulia-ss-popup-open{
	display:block !important;
	width:100% !important;
	margin-top:8px !important;
	padding:10px 16px !important;
	border:none !important;
	border-radius:999px !important;
	background:#F6A623 !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:700 !important;
	cursor:pointer !important;
	text-align:center !important;
}

/* Fiche lieu : bottom-sheet Polarsteps (pas panneau gauche desktop) */
.apulia-ss-sheet.apulia-ss-sheet--place{
	align-items:flex-end !important;
	justify-content:center !important;
	padding:0 !important;
}
.apulia-ss-sheet.apulia-ss-sheet--place .apulia-ss-place-sheet-card{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	bottom:0 !important;
	width:100% !important;
	max-width:760px !important;
	height:56vh !important;
	height:56dvh !important;
	max-height:56dvh !important;
	margin:0 auto !important;
	padding:14px 18px 0 !important;
	border-radius:28px 28px 0 0 !important;
	overflow:hidden !important;
}
#apulia-ss-place-body .apulia-ss-place-hero{
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	height:min(26vh, 200px) !important;
	min-height:0 !important;
	max-height:200px !important;
	margin-top:24px !important;
	flex:0 0 auto !important;
	background-color:#05364a !important;
	background-size:cover !important;
	background-position:center 52% !important;
	background-repeat:no-repeat !important;
	overflow:hidden !important;
}
@media (min-width:768px){
	.apulia-ss-place-sheet-card,
	.apulia-ss-sheet.apulia-ss-sheet--place .apulia-ss-place-sheet-card{
		height:52vh !important;
		height:52dvh !important;
		max-height:52dvh !important;
	}
}
#apulia-ss-place-body.apulia-ss-has-injected-hero .apulia-ss-explorer-render--parity .apulia-housing-img-wrap{
	display:none !important;
}

/* Fiche ouverte : empêcher les CSS Explorer globaux de révéler le titre page /sejour/ */
body.apulia-ss-noscroll .elementor-widget-theme-post-title,
body.apulia-ss-noscroll .elementor-page-title,
body.apulia-ss-noscroll header .entry-title,
body.apulia-ss-noscroll .page-header h1{
	display:none !important;
	visibility:hidden !important;
	height:0 !important;
	overflow:hidden !important;
	margin:0 !important;
	padding:0 !important;
}

/* ===== Boutons flottants carte (retour + menu) — priorité max, fin de fichier ===== */
#apulia-ss-root #apulia-ss-trip-chrome{
	z-index:11!important;
	pointer-events:none!important;
}
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-back,
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-menu{
	width:42px!important; height:42px!important; min-width:42px!important; min-height:42px!important;
	border-radius:50%!important; border:0!important; padding:0!important;
	background:#F6A623!important; background-color:#F6A623!important; background-image:none!important;
	color:#fff!important;
	box-shadow:0 2px 12px rgba(0,29,38,.18)!important;
	display:flex!important; align-items:center!important; justify-content:center!important;
	cursor:pointer!important; pointer-events:auto!important;
	touch-action:manipulation!important;
	-webkit-tap-highlight-color:transparent!important;
}
#apulia-ss-root #apulia-ss-trip-chrome .apulia-ss-chrome-ic{
	width:20px!important; height:20px!important; stroke:#fff!important; color:#fff!important;
}
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-back:hover,
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-menu:hover{ filter:brightness(1.05); }
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-back:active,
#apulia-ss-root #apulia-ss-trip-chrome #apulia-ss-trip-menu:active{ transform:scale(.92); }
#apulia-ss-root #apulia-ss-trip-menu-sheet.is-open{ z-index:13!important; }

/* Menu « Votre voyage » : hauteur standard (Profil / Carnet), grille 2 col, orange Supprimer */
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-sheet-card{
	height:56vh!important; height:56dvh!important;
	max-height:56dvh!important; min-height:56dvh!important;
}
@media (min-width:768px){
	#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-sheet-card{
		height:52vh!important; height:52dvh!important;
		max-height:52dvh!important; min-height:52dvh!important;
	}
}
@media (min-width:1024px){
	#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-sheet-card{
		height:auto!important; min-height:0!important;
		max-height:calc(100dvh - 48px)!important;
	}
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list{
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	column-gap:10px!important; row-gap:10px!important;
	grid-auto-rows:1fr!important; align-items:stretch!important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list .apulia-ss-add-btn--card .apulia-ss-add-btn-label,
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list .apulia-ss-add-btn--card .apulia-ss-add-btn-ic{
	color:#fff!important;
}
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"],
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-label,
#apulia-ss-root #apulia-ss-trip-menu-sheet .apulia-ss-add-list [data-trip-action="delete"] .apulia-ss-add-btn-ic{
	color:#F6A623!important;
}

/* Croix pancarte lieu : fond transparent (ne pas hériter du orange bouton) */
#apulia-ss-root #apulia-ss-place-sheet > .apulia-ss-place-sheet-card > button.apulia-ss-modal-close{
	background:transparent!important; background-color:transparent!important; background-image:none!important;
	color:#F6A623!important; border:0!important; box-shadow:none!important;
	text-shadow:0 1px 4px rgba(0,0,0,.35);
}

/* ===== Feuilles cartes (étape + recherche) — armure anti-Elementor =====
   Neutralise .elementor-kit button/a/row/flex qui écrase le layout APULIA. */
#apulia-ss-root #apulia-ss-pick-dest-sheet :is(.elementor,.elementor-section,.elementor-container,.elementor-row,.elementor-column,.elementor-column-wrap,.elementor-widget,.elementor-widget-wrap,.elementor-element,.e-con,.e-con-inner),
#apulia-ss-root #apulia-ss-search-sheet :is(.elementor,.elementor-section,.elementor-container,.elementor-row,.elementor-column,.elementor-column-wrap,.elementor-widget,.elementor-widget-wrap,.elementor-element,.e-con,.e-con-inner){
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	flex:unset!important;
	flex-basis:auto!important;
	float:none!important;
	position:static!important;
	display:block!important;
	box-sizing:border-box!important;
}

#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-list,
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-search-results{
	display:flex!important;
	flex-direction:column!important;
	gap:8px!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	margin-top:10px!important;
	margin-bottom:10px!important;
	padding:0!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-list{
	max-height:50vh!important;
	overflow:auto!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-search-results{
	max-height:46vh!important;
	overflow:auto!important;
	gap:12px!important;
}

#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-btn,
#apulia-ss-root #apulia-ss-pick-dest-sheet button.apulia-ss-pick-dest-btn{
	display:flex!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:center!important;
	justify-content:flex-start!important;
	gap:10px!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	min-height:0!important;
	height:auto!important;
	padding:10px 12px!important;
	margin:0!important;
	border:1px solid var(--ass-line)!important;
	border-radius:12px!important;
	background:#fff!important;
	background-color:#fff!important;
	background-image:none!important;
	cursor:pointer!important;
	font-family:inherit!important;
	font-weight:600!important;
	font-size:14px!important;
	line-height:1.3!important;
	text-align:left!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	color:var(--ass-text)!important;
	box-shadow:none!important;
	appearance:none!important;
	-webkit-appearance:none!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-btn:hover,
#apulia-ss-root #apulia-ss-pick-dest-sheet button.apulia-ss-pick-dest-btn:hover{
	border-color:var(--ass-orange)!important;
	background:#fff!important;
	background-color:#fff!important;
	color:var(--ass-text)!important;
	filter:none!important;
}

#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-btn > span,
#apulia-ss-root #apulia-ss-pick-dest-sheet button.apulia-ss-pick-dest-btn > span{
	flex:1 1 auto!important;
	min-width:0!important;
	align-self:center!important;
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:none!important;
	background:transparent!important;
	background-color:transparent!important;
	color:var(--ass-text)!important;
	font:inherit!important;
	font-weight:600!important;
	font-size:14px!important;
	line-height:1.3!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	text-align:left!important;
	white-space:nowrap!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
	box-shadow:none!important;
}

#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-thumb{
	flex:0 0 40px!important;
	width:40px!important;
	height:40px!important;
	min-width:40px!important;
	max-width:40px!important;
	align-self:center!important;
	border-radius:8px!important;
	background-size:cover!important;
	background-position:center!important;
	background-repeat:no-repeat!important;
	background-color:var(--ass-card)!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-pick-dest-sheet .apulia-ss-pick-dest-thumb.is-placeholder{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	font-size:18px!important;
}

#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card{
	display:flex!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:stretch!important;
	gap:0!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	border-radius:14px!important;
	overflow:hidden!important;
	box-sizing:border-box!important;
	box-shadow:none!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card-main,
#apulia-ss-root #apulia-ss-search-sheet button.apulia-ss-place-card-main{
	display:flex!important;
	flex:1 1 auto!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:center!important;
	justify-content:flex-start!important;
	gap:14px!important;
	min-width:0!important;
	width:auto!important;
	max-width:none!important;
	margin:0!important;
	padding:14px 14px!important;
	border:none!important;
	border-radius:0!important;
	background:transparent!important;
	background-color:transparent!important;
	background-image:none!important;
	cursor:pointer!important;
	font-family:inherit!important;
	text-align:left!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	color:inherit!important;
	box-shadow:none!important;
	appearance:none!important;
	-webkit-appearance:none!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-card-main:hover,
#apulia-ss-root #apulia-ss-search-sheet button.apulia-ss-place-card-main:hover{
	background:var(--ass-orange-soft)!important;
	background-color:var(--ass-orange-soft)!important;
}

#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-thumb{
	flex-shrink:0!important;
	align-self:center!important;
	border-radius:9px!important;
	background-size:cover!important;
	background-position:center!important;
	background-repeat:no-repeat!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-thumb.is-placeholder{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
}

/* Miniatures des favoris nettement plus larges — uniquement pour
   « Ajouter une étape » (destination) et « Un lieu à découvrir » (spot).
   La hauteur de ligne est conservée : la photo passe d'un carré 72×72 à
   un format paysage 132×72 pour mieux reconnaître les lieux. La classe
   .is-wide-thumb n'est posée que pour ces deux panneaux. */
#apulia-ss-root #apulia-ss-search-sheet.is-wide-thumb .apulia-ss-place-card{
	min-height:130px!important;
}
#apulia-ss-root #apulia-ss-search-sheet.is-wide-thumb .apulia-ss-place-thumb{
	width:150px!important;
	height:130px!important;
	min-height:130px!important;
	flex:0 0 150px!important;
	align-self:stretch!important;
	border-radius:11px!important;
}
#apulia-ss-root #apulia-ss-search-sheet.is-wide-thumb .apulia-ss-place-card-main,
#apulia-ss-root #apulia-ss-search-sheet.is-wide-thumb button.apulia-ss-place-card-main{
	gap:12px!important;
	padding:12px!important;
	min-height:130px!important;
	align-items:stretch!important;
}

#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-info{
	flex:1 1 auto!important;
	min-width:0!important;
	display:flex!important;
	flex-direction:column!important;
	justify-content:center!important;
	align-items:flex-start!important;
	align-self:stretch!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:none!important;
	box-sizing:border-box!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-info strong{
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	font-family:inherit!important;
	font-weight:600!important;
	font-size:15px!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	white-space:nowrap!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
	background:transparent!important;
	border:none!important;
	box-shadow:none!important;
}
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-place-info small{
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	font-family:inherit!important;
	font-weight:400!important;
	font-size:12px!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	background:transparent!important;
	border:none!important;
	box-shadow:none!important;
}

/* ===== Marqueurs destination photo (carte Polarsteps) ===== */
.apulia-ss-step-marker--photo{
	width:46px!important; height:46px!important; min-width:46px!important; min-height:46px!important;
	background:transparent!important; border:none!important; box-shadow:none!important;
	display:block!important; position:absolute!important; overflow:visible!important;
	transition:none!important;
	font-size:inherit; font-weight:inherit; color:inherit;
}
.apulia-ss-step-marker-photo{
	width:100%; height:100%; border-radius:50%; box-sizing:border-box;
	background-size:cover; background-position:center; background-color:var(--ass-card);
	border:3px solid #fff; box-shadow:0 2px 10px rgba(0,0,0,.32);
}
.apulia-ss-step-marker-photo.is-placeholder{
	background:linear-gradient(135deg,var(--ass-orange),#e8941a);
}
.apulia-ss-step-marker-num{
	position:absolute; bottom:-5px; right:-4px;
	width:22px; height:22px; border-radius:50%;
	background:#27AE60; color:#fff; font-size:11px; font-weight:800; line-height:1;
	display:flex; align-items:center; justify-content:center;
	border:2px solid #fff; box-shadow:0 1px 5px rgba(0,0,0,.3);
	pointer-events:none;
}
.apulia-ss-step-marker--photo.is-active{
	z-index:5;
}
.apulia-ss-step-marker--photo.is-active .apulia-ss-step-marker-photo{
	border-color:var(--ass-turquoise); border-width:4px;
	box-shadow:0 0 0 3px rgba(0,168,168,.35), 0 2px 14px rgba(0,168,168,.45);
	outline:2px solid rgba(0,168,168,.25); outline-offset:1px;
	transition:border-color .15s, box-shadow .15s, outline .15s;
}
.apulia-ss-step-marker--spot-photo{
	width:38px!important; height:38px!important; min-width:38px!important; min-height:38px!important;
}
.apulia-ss-step-marker--spot-photo .apulia-ss-step-marker-photo{
	border-width:2px;
}

/* ==========================================================================
   Bouton flottant « + » (FAB) — remonté au-dessus de la barre de navigation.
   Seul le bouton bouge : la barre de nav, les pancartes et le reste ne sont
   pas touchés. On décale simplement son ancrage bas de --ass-nav-clear.
   ========================================================================== */
#apulia-ss-root .apulia-ss-trip-fab{
	bottom:calc(var(--ass-nav-clear) + env(safe-area-inset-bottom, 0px)) !important;
}

/* Espace de sécurité sous le contenu de la pancarte qui porte le bouton « + » :
   le contenu (texte, timeline, pied) se termine AU-DESSUS du bouton flottant,
   donc rien ne passe jamais derrière lui. Réservé = position du bouton
   (--ass-nav-clear) + hauteur du bouton (56px) + petite marge (16px).
   Le bouton ne bouge pas, sa taille ne change pas. */
#apulia-ss-root #apulia-ss-trip-detail .apulia-ss-trip-sheet{
	padding-bottom:calc(var(--ass-nav-clear) + 72px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Espace de sécurité sous le contenu des autres pancartes-feuilles dont le bas
   est masqué par la barre de navigation : « Planifier votre voyage »,
   « Ajouter une étape » et la fiche destination (« À découvrir autour »).
   Le contenu se termine / défile au-dessus de la barre. La barre de nav,
   les tailles, les couleurs et les animations ne sont pas touchées. */
#apulia-ss-root #apulia-ss-add-element-sheet .apulia-ss-sheet-card,
#apulia-ss-root #apulia-ss-search-sheet .apulia-ss-sheet-card,
#apulia-ss-root #apulia-ss-dest-sheet .apulia-ss-dest-sheet-card{
	padding-bottom:calc(var(--ass-nav-clear) + 24px + env(safe-area-inset-bottom, 0px)) !important;
}
/* La fiche destination était bloquée en overflow:hidden (bas du contenu coupé) :
   on autorise le défilement vertical, sans débordement horizontal (l'image de
   couverture pleine largeur reste intacte). */
#apulia-ss-root #apulia-ss-dest-sheet .apulia-ss-dest-sheet-card{
	overflow-x:hidden !important;
	overflow-y:auto !important;
}

/* Voyage en LECTURE SEULE (visiteur / lien partagé) : même carnet complet que
   le propriétaire, mais tout contrôle d'édition est neutralisé. Filet de
   sécurité CSS en complément des gardes JS (aucun faux bouton « + »). */
#apulia-ss-trip-detail.is-readonly .apulia-ss-trip-fab,
#apulia-ss-trip-detail.is-readonly .apulia-ss-tl-plus,
#apulia-ss-trip-detail.is-readonly [data-step-del],
#apulia-ss-trip-detail.is-readonly [data-child-del],
#apulia-ss-trip-detail.is-readonly [data-step-up],
#apulia-ss-trip-detail.is-readonly [data-step-down],
#apulia-ss-trip-detail.is-readonly [data-child-up],
#apulia-ss-trip-detail.is-readonly [data-child-down],
#apulia-ss-trip-detail.is-readonly .apulia-ss-tl-nights [data-night],
#apulia-ss-trip-detail.is-readonly .apulia-ss-trip-footer{
	display:none !important;
}

/* ==========================================================================
   VUE PUBLIQUE PARTAGÉE — MODE APPLICATION PLEIN ÉCRAN
   Activée UNIQUEMENT par la classe body.apulia-ss-public-view, ajoutée côté PHP
   quand la page porte le shortcode ET affiche ?apulia_profile / ?apulia_trip.
   Réutilise les mêmes familles de sélecteurs que le VP code de masquage thème
   (header / footer / wrappers Astra + Elementor) ; ici scopé au partage public,
   donc sans second mécanisme global et sans impacter les pages WordPress.
   ========================================================================== */

/* 1) Masquer header + footer du thème (mêmes cibles que le VP code existant). */
body.apulia-ss-public-view header,
body.apulia-ss-public-view .site-header,
body.apulia-ss-public-view .elementor-location-header,
body.apulia-ss-public-view .header,
body.apulia-ss-public-view .ast-header-break-point,
body.apulia-ss-public-view footer,
body.apulia-ss-public-view .site-footer,
body.apulia-ss-public-view .elementor-location-footer,
body.apulia-ss-public-view .footer,
body.apulia-ss-public-view #footer{
	display:none !important;
}

/* 2) Neutraliser marges/paddings/max-width des wrappers pour le plein écran. */
body.apulia-ss-public-view{ margin:0 !important; padding:0 !important; }
body.apulia-ss-public-view #page,
body.apulia-ss-public-view #content,
body.apulia-ss-public-view .site-content,
body.apulia-ss-public-view .content-area,
body.apulia-ss-public-view .ast-container,
body.apulia-ss-public-view .ast-article-single,
body.apulia-ss-public-view .entry-content,
body.apulia-ss-public-view .elementor-section-wrap,
body.apulia-ss-public-view .e-con,
body.apulia-ss-public-view .e-con-inner,
body.apulia-ss-public-view .elementor-widget-shortcode,
body.apulia-ss-public-view .elementor-widget-shortcode .elementor-widget-container{
	margin:0 !important;
	padding:0 !important;
	max-width:none !important;
	width:100% !important;
}

/* 3) La vue APULIA occupe toute la zone visible dès le haut de l'écran. */
body.apulia-ss-public-view #apulia-ss-root{
	min-height:100vh;
	min-height:100dvh;
}

/* ==========================================================================
   BANNIÈRE D'INSTALLATION (vues publiques) — style minimal, non bloquant.
   Composant unique : templates/public-install-banner.php (réutilisé tel quel
   dans le panneau profil ET la vue voyage). Ne recouvre jamais le contenu.
   ========================================================================== */
#apulia-ss-root .apulia-ss-install-banner{
	margin:var(--ass-s3) var(--ass-s4);
	padding:var(--ass-s3) var(--ass-s4);
	border-radius:var(--ass-radius);
	background:linear-gradient(135deg,var(--ass-deep),var(--ass-teal),#005E75);
	color:#fff;
	box-shadow:0 10px 26px rgba(0,29,38,.24);
}
#apulia-ss-root .apulia-ss-install-banner[hidden]{ display:none; }
/* Wrapper iOS App Store : bannière publique d'installation masquée.
   Spécificité (1,3,1) > règle de vue publique (1,2,1) → pas de !important.
   Additif + inerte hors wrapper (classe posée uniquement quand IOS_APP). */
html.apulia-ios-app #apulia-ss-root .apulia-ss-install-banner{ display:none; }
#apulia-ss-root .apulia-ss-install-banner-inner{
	display:flex;
	align-items:center;
	gap:var(--ass-s3);
	flex-wrap:wrap;
}
#apulia-ss-root .apulia-ss-install-banner-text{
	display:flex;
	flex-direction:column;
	gap:2px;
	flex:1 1 180px;
	min-width:0;
}
#apulia-ss-root .apulia-ss-install-banner-text strong{
	font-size:15px;
	font-weight:800;
	color:#fff;
}
#apulia-ss-root .apulia-ss-install-banner-text span{
	font-size:12.5px;
	color:rgba(255,255,255,.78);
}
#apulia-ss-root .apulia-ss-install-banner-btn{
	flex:0 0 auto;
	white-space:nowrap;
	text-decoration:none;
}

/* --------------------------------------------------------------------------
   VUE PUBLIQUE : la bannière REMPLACE la barre de navigation APULIA du bas.
   - On masque la barre de nav du thème (.apulia-bottom-nav) UNIQUEMENT ici.
   - La bannière (instance unique, enfant direct de #apulia-ss-root) est ancrée
     en bas de l'écran, au-dessus des panneaux/feuilles, en respectant les safe
     areas. Elle ne recouvre pas le contenu grâce au dégagement ajouté plus bas.
   -------------------------------------------------------------------------- */

/* Masquer la navigation complète APULIA du bas (barre VP code thème). */
body.apulia-ss-public-view .apulia-bottom-nav{ display:none !important; }

/* Bannière ancrée en bas, visible dans tous les cas publics (connecté ou non). */
body.apulia-ss-public-view #apulia-ss-root > .apulia-ss-install-banner{
	display:block;
	position:fixed;
	left:0; right:0; bottom:0;
	margin:0 auto;
	width:100%;
	max-width:760px;
	z-index:9600;
	border-radius:18px 18px 0 0;
	padding:var(--ass-s3) var(--ass-s4) calc(var(--ass-s3) + env(safe-area-inset-bottom, 0px));
	box-shadow:0 -12px 30px rgba(0,29,38,.28);
}

/* Dégagement bas du contenu scrollable pour que le dernier élément (carnet,
   liste de séjours, boutons de lecture) remonte entièrement au-dessus de la
   bannière — carte et timeline inchangées. */
body.apulia-ss-public-view #apulia-ss-root .apulia-ss-panel,
body.apulia-ss-public-view #apulia-ss-trip-detail .apulia-ss-sheet-card{
	padding-bottom:calc(148px + env(safe-area-inset-bottom, 0px)) !important;
}

/* --------------------------------------------------------------------------
   FICHE DE LIEU — vue publique partagée (conteneur HTML unique, non ancré).
   Positionnée en absolute dans #apulia-ss-root ; le « top » est calculé en JS
   pour centrer la fiche dans la zone de carte au-dessus de la pancarte. Le
   contenu interne réutilise les styles existants (.apulia-ss-popup*). L'habillage
   (fond, rayon, marges) reprend celui de .maplibregl-popup-content pour aligner
   le débordement d'image de .apulia-ss-popup-img.
   -------------------------------------------------------------------------- */
#apulia-ss-root .apulia-ss-map-postcard{
	position:absolute;
	left:50%;
	top:16px;
	transform:translateX(-50%);
	width:min(300px, calc(100vw - 40px));
	z-index:7;
	display:none;
	padding:12px 14px;
	border-radius:18px;
	background:linear-gradient(135deg,var(--ass-deep),var(--ass-teal),#005E75);
	color:#fff;
	box-shadow:0 14px 34px rgba(0,0,0,.38);
	overflow:hidden;
}
#apulia-ss-root .apulia-ss-map-postcard.is-open{ display:block; }
#apulia-ss-root .apulia-ss-map-postcard .apulia-ss-popup{ width:auto; }
#apulia-ss-root .apulia-ss-map-postcard-close{
	position:absolute; top:6px; right:8px; z-index:2;
	width:26px; height:26px; padding:0; border:0; border-radius:50%;
	background:rgba(0,0,0,.32); color:#fff;
	font-size:18px; line-height:24px; text-align:center; cursor:pointer;
}
