/* ============================================================
   DORGOPRESSING — Template officiel · Charte logo
   Primaire #00CC00 · Clair #33CC33 · Noir #000000 · Gris #666666
   Poppins (titres) + Inter (corps)
   ============================================================ */

:root {
	--dp-primary: #00CC00;
	--dp-primary-light: #33CC33;
	--dp-primary-dark: #009900;
	--dp-teal-text-dark: #00CC00;
	--dp-night: #000000;
	--dp-bg: #FFFFFF;
	--dp-text: #000000;
	--dp-muted: #666666;
	--dp-border: #E5E5E5;
	--dp-accent: #666666;
	--dp-success: #10B981;
	--dp-error: #EF4444;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.dp-body {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--dp-text);
	background: var(--dp-bg);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 { font-family: Poppins, sans-serif; line-height: 1.25; color: var(--dp-night); }
img { max-width: 100%; }
a { color: var(--dp-primary); }

/* ---------- HEADER ---------- */
.dp-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--dp-border);
}
.dp-header-inner {
	max-width: 1200px; margin: 0 auto;
	display: flex; align-items: center; gap: 10px;
	padding: 10px 20px;
}
.dp-brand { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.dp-brand img { height: 56px; width: auto; display: block; }
.dp-brand-fallback { font-family: Poppins, sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--dp-primary); }

/* Connexion / Déconnexion — tout à fait à droite */
.dp-auth { flex-shrink: 0; margin-left: auto; }
.dp-auth-in { display: inline-flex; align-items: center; gap: 10px; }
.dp-auth-name {
	font-size: .8rem; font-weight: 600; color: var(--dp-muted);
	max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dp-logout-form { display: inline-flex; margin: 0; }

.dp-btn-ghost {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .9rem;
	padding: 9px 18px;
	border: 1.5px solid var(--dp-primary);
	border-radius: 10px;
	color: var(--dp-primary);
	background: transparent;
	text-decoration: none;
	cursor: pointer;
	transition: all .18s ease;
	white-space: nowrap;
}
.dp-btn-ghost:hover { background: var(--dp-primary); color: #fff; }

/* Navigation — centrée, Connexion reste à l'extrême droite */
.dp-nav-wrap { margin-left: 24px; flex: 1; }
.dp-nav-wrap ul.menu,
.dp-nav-wrap ul.menu-nav,
.dp-nav-wrap ul.mod-menu,
.dp-nav-wrap ul.nav {
	display: flex; align-items: center; gap: 2px;
	list-style: none; margin: 0; padding: 0;
}
.dp-nav-wrap ul.menu li,
.dp-nav-wrap ul.menu-nav li,
.dp-nav-wrap ul.mod-menu li,
.dp-nav-wrap ul.nav li { position: relative; margin: 0; }
.dp-nav-wrap ul.menu > li > a,
.dp-nav-wrap ul.menu-nav > li > a,
.dp-nav-wrap ul.mod-menu > li > a,
.dp-nav-wrap ul.nav > li > a {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .92rem;
	color: var(--dp-text);
	padding: 9px 14px;
	border-radius: 10px;
	text-decoration: none;
	white-space: nowrap;
	transition: all .15s ease;
}
.dp-nav-wrap ul.menu > li > a:hover,
.dp-nav-wrap ul.menu-nav > li > a:hover,
.dp-nav-wrap ul.mod-menu > li > a:hover,
.dp-nav-wrap ul.nav > li > a:hover {
	color: var(--dp-primary);
	background: rgba(0,204,0,.08);
}
.dp-nav-wrap ul.menu > li.active > a,
.dp-nav-wrap ul.menu > li.current > a,
.dp-nav-wrap ul.mod-menu > li.active > a,
.dp-nav-wrap ul.nav > li.active > a,
.dp-nav-wrap ul.menu a[aria-current="page"] {
	color: var(--dp-primary);
	background: rgba(0,204,0,.1);
}
/* Sous-menus */
.dp-nav-wrap ul.menu ul ul, .dp-nav-wrap ul.menu-nav ul,
.dp-nav-wrap ul.mod-menu ul ul, .dp-nav-wrap ul.nav ul ul {
	position: absolute; top: 100%; left: 0; z-index: 20;
	background: #fff; border: 1px solid var(--dp-border); border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0,0,0,.12);
	min-width: 210px; padding: 6px;
	list-style: none;
	display: none;
}
.dp-nav-wrap ul.menu li:hover > ul, .dp-nav-wrap ul.menu-nav li:hover > ul,
.dp-nav-wrap ul.mod-menu li:hover > ul, .dp-nav-wrap ul.nav li:hover > ul { display: block; }
.dp-nav-wrap ul.menu ul ul li a, .dp-nav-wrap ul.menu-nav ul li a,
.dp-nav-wrap ul.mod-menu ul ul li a, .dp-nav-wrap ul.nav ul ul li a {
	display: block; padding: 8px 12px; font-size: .9rem; color: var(--dp-text);
	text-decoration: none; border-radius: 8px; font-weight: 500;
}
.dp-nav-wrap ul.menu ul ul li a:hover, .dp-nav-wrap ul.menu-nav ul li a:hover,
.dp-nav-wrap ul.mod-menu ul ul li a:hover, .dp-nav-wrap ul.nav ul ul li a:hover { color: var(--dp-primary); background: rgba(0,204,0,.12); }

/* Burger */
/* Animation en croix quand aria-expanded="true" */
/* ---------- BURGER - Hamburger à droite de Connexion ---------- */
.dp-burger {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 44px;
  height: 44px;
  margin-left: 12px;
  border: none;
  background: transparent;
  border-radius: 10px;
  cursor: pointer;
  z-index: 101;
  transition: background 0.3s ease;
}

.dp-burger span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0;
  background-color: #333;
  transition: all 0.3s ease;
  border-radius: 1px;
}

.dp-burger:hover,
.dp-burger:focus {
  background: rgba(0,0,0,0.05);
  outline: none;
}

.dp-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.dp-burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.dp-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}


/* ---------- MAIN ---------- */
.dp-main {
	max-width: 1200px; margin: 0 auto;
	padding: 24px 20px;
	width: 100%;
}

/* ---------- FOOTER ---------- */
.dp-footer {
	background: var(--dp-night);
	color: #CCCCCC;
	margin-top: 72px;
	border-top: 4px solid var(--dp-primary);
}
.dp-footer-inner {
	max-width: 1200px; margin: 0 auto;
	padding: 44px 20px 28px;
	display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; justify-content: space-between;
}
.dp-footer img { height: 40px; width: auto; filter: none; background: #FFFFFF; padding: 6px; border-radius: 8px; opacity: 1; }
.dp-footer-tag { margin: 14px 0 0; font-size: .92rem; color: #999999; }
.dp-footer-links { flex: 1; min-width: 180px; }
.dp-footer-links ul { list-style: none; margin: 0; padding: 0; }
.dp-footer-links a { color: #CCCCCC; text-decoration: none; font-size: .92rem; }
.dp-footer-links a:hover { color: var(--dp-teal-text-dark); }
.dp-footer-legal { font-size: .82rem; color: #999999; }
.dp-footer-muted { margin-bottom: 0; }

/* ---------- CHAPEAU JOOMLA (nettoyage vitrine) ---------- */
.com-content-article .page-header { display: none; }
.com-content-article .article-info { display: none !important; }
.breadcrumb, .container-breadcrumbs { display: none !important; }

/* ---------- FORMULAIRES & COMPOSANTS JOOMLA ---------- */
input, select, textarea {
	font-family: Inter, sans-serif;
	font-size: 1rem; color: var(--dp-text);
	padding: 10px 12px;
	border: 1px solid var(--dp-border);
	border-radius: 10px;
	background: #fff;
	max-width: 100%;
}
input:focus, select:focus, textarea:focus {
	outline: 2px solid rgba(0,204,0,.35);
	border-color: var(--dp-primary);
}
label { font-weight: 600; font-size: .92rem; }
.control-group, .form-group { margin-bottom: 14px; }

button, .btn, .button {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .95rem;
	padding: 10px 20px;
	border-radius: 10px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all .18s ease;
}
.btn-primary, .button.btn-primary, button.btn-primary {
	background: var(--dp-primary); color: #fff;
}
.btn-primary:hover { background: var(--dp-primary-dark); color: #fff; }
.btn-secondary { background: #fff; border: 1px solid var(--dp-border); color: var(--dp-text); }
.btn-secondary:hover { border-color: var(--dp-primary); color: var(--dp-primary); }

/* Alertes Joomla */
.joomla-alert, .alert { padding: 13px 16px; border-radius: 12px; margin: 14px 0; font-size: .95rem; }
.alert-info { background: #E4F5F7; color: #0B5A62; border: 1px solid #B5E0E4; }
.alert-success, .alert-message { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.alert-warning { background: #FFFBEB; color: #92400E; border: 1px solid #FDE68A; }
.alert-danger, .alert-error { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }

/* Tables */
table { border-collapse: collapse; width: 100%; background: #fff; }
th { background: #F1F5F9; color: var(--dp-night); text-align: left; padding: 10px 12px; font-family: Poppins, sans-serif; font-size: .85rem; }
td { padding: 10px 12px; border-bottom: 1px solid var(--dp-border); font-size: .93rem; }

/* Charte logo : le contenu inline reste tel quel */

/* Blocs <style> des articles : classes dv-* recalées sur la charte */
.dv-btn-primary {
	background: var(--dp-primary) !important;
	color: #fff !important;
	box-shadow: 0 6px 20px rgba(0,204,0,.3) !important;
}
.dv-btn-primary:hover { background: var(--dp-primary-dark) !important; color: #fff !important; }
.dv-hero h1 span, .dv-hero h2 span { color: var(--dp-teal-text-dark) !important; }
.dv-step .num { color: var(--dp-teal-text-dark) !important; background: var(--dp-night) !important; }
.dv-price.featured {
	border-color: var(--dp-primary) !important;
	box-shadow: 0 16px 40px rgba(0,204,0,.15) !important;
}

/* Badge « verticale DORGO » → identité DORGO Pressing */
div[style*="rgba(0,204,0,.15)"] {
	font-size: 0 !important;
	background: rgba(0,204,0,.12) !important;
	border: 1px solid rgba(0,204,0,.3) !important;
}
div[style*="rgba(0,204,0,.15)"]::after {
	content: "✓ DORGO Pressing · La gestion complète de votre pressing";
	font-size: .82rem; font-weight: 700; color: var(--dp-primary-light);
	font-family: Poppins, sans-serif;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
	.dp-nav-wrap {
		position: fixed; top: 63px; transition: opacity .22s ease, transform .22s ease; left: 0; right: 0; z-index: 99;
		background: #000000; border-bottom: 3px solid #00CC00;
		box-shadow: 0 16px 40px rgba(0,0,0,.35);
		display: none; padding: 16px 20px 20px;
	}
	.dp-nav-wrap ul.menu > li > a,
	.dp-nav-wrap ul.menu-nav > li > a,
	.dp-nav-wrap ul.mod-menu > li > a,
	.dp-nav-wrap ul.nav > li > a {
		color: #FFFFFF; background: transparent; font-size: 1rem; padding: 13px 16px; border-radius: 10px;
	}
	.dp-nav-wrap ul.menu > li > a:hover,
	.dp-nav-wrap ul.menu-nav > li > a:hover,
	.dp-nav-wrap ul.mod-menu > li > a:hover,
	.dp-nav-wrap ul.nav > li > a:hover {
		color: #00CC00; background: rgba(0,204,0,.12);
	}
	.dp-nav-wrap ul.menu > li.active > a,
	.dp-nav-wrap ul.menu > li.current > a,
	.dp-nav-wrap ul.mod-menu > li.active > a,
	.dp-nav-wrap ul.nav > li.active > a,
	.dp-nav-wrap ul.menu a[aria-current="page"] {
		color: #00CC00; background: rgba(0,204,0,.18); border-left: 3px solid #00CC00;
	}
	.dp-nav-wrap.open { display: block; }
	.dp-nav-wrap ul.menu, .dp-nav-wrap ul.menu-nav, .dp-nav-wrap ul.mod-menu, .dp-nav-wrap ul.nav { flex-direction: column; align-items: stretch; gap: 2px; }
	.dp-nav-wrap ul.menu > li > a, .dp-nav-wrap ul.menu-nav > li > a,
.dp-nav-wrap ul.mod-menu > li > a, .dp-nav-wrap ul.nav > li > a { display: block; }
	.dp-nav-wrap ul.menu ul ul, .dp-nav-wrap ul.menu-nav ul,
.dp-nav-wrap ul.mod-menu ul ul, .dp-nav-wrap ul.nav ul ul { position: static; box-shadow: none; border: none; padding-left: 16px; }
	.dp-brand img { height: 48px; }
	.dp-auth-name { display: none; }
}

@media (max-width: 576px) {
	.dp-btn-ghost { padding: 8px 13px; font-size: .85rem; }
	.dp-footer-inner { flex-direction: column; }
}

/* ---------- RESPONSIVE GLOBAL - SMARTPHONES & TABLETTES ---------- */
@media (max-width: 768px) {
	.dp-header-inner { padding: 8px 14px; gap: 8px; }
	.dp-brand img { height: 44px; }
	.dp-btn-ghost { padding: 7px 12px; font-size: .85rem; }
	.dp-main { padding: 16px 14px; }
	/* Hero */
	.dv-hero { min-height: 420px !important; border-radius: 0 0 20px 20px !important; }
	.dv-hero-inner { padding: 28px 16px !important; max-width: 100% !important; }
	.dv-hero h1 { font-size: 1.9rem !important; line-height: 1.15 !important; }
	.dv-hero p { font-size: 1rem !important; }
	.dv-hero .dv-btn-primary, .dv-hero .dv-btn-secondary { display: block !important; width: 100%; text-align: center; margin-left: 0 !important; margin-top: 10px; }
	/* Trust */
	.dv-trust { grid-template-columns: 1fr !important; gap: 10px !important; padding: 14px !important; margin: -16px 14px 20px !important; }
	/* Steps */
	.dv-steps { grid-template-columns: 1fr !important; gap: 12px !important; }
	/* Features */
	.dv-features { grid-template-columns: 1fr !important; gap: 12px !important; }
	.dv-feat { flex-direction: column; text-align: center; align-items: center; }
	.dv-feat img { width: 100% !important; height: 180px !important; }
	/* Pricing */
	.dv-pricing { grid-template-columns: 1fr !important; gap: 16px !important; }
	.dv-price.featured { transform: none !important; }
	/* CTA */
	.dv-cta { padding: 24px 16px !important; margin: 24px 14px !important; }
	.dv-cta h3 { font-size: 1.4rem !important; }
	/* Tables - scroll horizontal */
	.table-responsive, .gp-table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	/* Forms */
	.gp-wrapper .container { padding-left: 14px; padding-right: 14px; }
	.gp-card { padding: 16px !important; }
	/* Footer */
	.dp-footer-inner { flex-direction: column; gap: 20px; padding: 28px 14px 20px; }
	.dp-footer img { height: 44px; }
}

@media (max-width: 992px) and (min-width: 769px) {
	.dv-steps { grid-template-columns: repeat(2,1fr) !important; }
	.dv-features { grid-template-columns: 1fr !important; }
	.dv-pricing { grid-template-columns: 1fr !important; max-width: 480px; margin-left: auto; margin-right: auto; }
	.dv-trust { grid-template-columns: repeat(3,1fr) !important; }
}

@media (max-width: 576px) {
	.dv-hero h1 { font-size: 1.7rem !important; }
	.dp-brand img { height: 40px; }
}

/* Images fluides */
.dv-feat img, .dv-hero img, .gp-card img { max-width: 100%; height: auto; }
img { max-width: 100%; height: auto; }

/* Eviter débordement */
.dorgo-vitrine, .dv-hero, .dv-trust, .dv-steps, .dv-features, .dv-pricing, .dv-cta { max-width: 100%; overflow: hidden; word-wrap: break-word; }


/* ===== ULTRA-PRO RESPONSIVE - FIXES INLINE GRIDS & FORMULAIRE ===== */
@media (max-width: 992px) {
  .gp-split-hero { grid-template-columns: 1fr !important; }
  .gp-split-hero-img { min-height: 320px !important; }
  .gp-hero h2 { font-size: 2.2rem !important; }
}

@media (max-width: 768px) {
  /* Header - connexion reste à droite, burger juste après */
  .dp-header-inner { padding: 8px 14px !important; gap: 10px !important; }
  .dp-brand img { height: 44px !important; }
  .dp-auth { font-size: .88rem !important; }
  /* Homepage hero */
  .dv-hero { min-height: 380px !important; border-radius: 0 0 20px 20px !important; }
  .dv-hero-inner { padding: 24px 16px !important; max-width: 100% !important; }
  .dv-hero h1 { font-size: 1.85rem !important; }
  .dv-hero p { font-size: .98rem !important; }
  .dv-hero .dv-btn-primary, .dv-hero .dv-btn-secondary { display: block !important; width: 100% !important; margin: 8px 0 0 0 !important; text-align: center; }
  /* Trust / Ils nous font confiance - inline 3 cols */
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; gap: 12px !important; }
  /* Données isolées block - inline 1fr 1fr */
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; gap: 16px !important; }
  [style*="grid-template-columns:1.2fr"] { grid-template-columns: 1fr !important; gap: 16px !important; }
  /* Inscription split hero */
  .gp-split-hero { margin: 16px 0 !important; border-radius: 16px !important; }
  .gp-split-hero-form { padding: 20px 16px !important; }
  .gp-hero-content { padding: 24px 0 !important; }
  /* Formulaire inscription - colonnes */
  .gp-form .row.g-2 > [class*="col-"] { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
  .gp-form .col-4, .gp-form .col-8, .gp-form .col-12 { flex: 0 0 100% !important; max-width: 100% !important; }
  /* Images illustratives */
  .gp-split-hero-img { min-height: 220px !important; }
  .dv-feat, .gp-feature { padding: 14px !important; }
  .dv-feat img, .gp-feature img { width: 100% !important; height: 160px !important; object-fit: cover; }
  /* Pricing */
  .dv-pricing { grid-template-columns: 1fr !important; gap: 14px !important; }
  .dv-price.featured { transform: none !important; }
  /* Trust band */
  .dv-trust { grid-template-columns: 1fr !important; padding: 14px !important; margin: -12px 14px 18px !important; }
  /* Footer */
  .dp-footer-inner { flex-direction: column !important; gap: 18px !important; padding: 24px 14px 18px !important; }
  /* Tables */
  .table-responsive, .gp-table { display: block !important; width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  /* Container */
  .container { padding-left: 14px !important; padding-right: 14px !important; }
}

@media (max-width: 576px) {
  .dv-hero h1 { font-size: 1.65rem !important; }
  .dv-hero h1 span { display: inline; }
  .dp-brand img { height: 40px !important; }
  .dp-btn-ghost { padding: 6px 10px !important; font-size: .82rem !important; }
  .gp-card { padding: 14px !important; border-radius: 14px !important; }
  .gp-hero h2 { font-size: 1.6rem !important; }
  .gp-hero p { font-size: .92rem !important; }
  /* Formulaire labels */
  .form-label { font-size: .86rem !important; }
  input, select, textarea { font-size: 16px !important; } /* prevent zoom on iOS */
}

@media (min-width: 769px) and (max-width: 992px) {
  .dv-steps { grid-template-columns: repeat(2,1fr) !important; }
  .dv-features { grid-template-columns: 1fr 1fr !important; }
  .dv-pricing { grid-template-columns: 1fr !important; max-width: 520px; margin-left: auto !important; margin-right: auto !important; }
}

@media (min-width: 993px) and (max-width: 1200px) {
  .dv-pricing { gap: 14px !important; }
  .dv-features { gap: 14px !important; }
  .dp-main { padding: 20px 16px !important; }
}

/* Images fluides globales */
img { max-width: 100%; height: auto; }
.dv-feat img, .gp-feature img, .gp-split-hero-img { object-fit: cover; }

/* Burger ultra-pro */
/* burger ultra-pro nettoyé - garde le snippet demandé */



/* ===== SMARTPHONE FORM FIX - ULTRA-PRO ===== */
@media (max-width: 576px) {
  .gp-split-hero-img { min-height: 160px !important; border-radius: 16px 16px 0 0 !important; }
  .gp-split-hero { margin: 12px 0 !important; }
  .gp-split-hero-form { padding: 16px 12px !important; border-radius: 0 0 16px 16px !important; }
  .gp-split-hero-form h3 { font-size: 1.25rem !important; }
  .gp-form .d-flex.gap-2 { flex-direction: column !important; gap: 8px !important; }
  .gp-form .d-flex.gap-2 .btn { width: 100% !important; }
  .gp-form .form-control, .gp-form .form-select { padding: 12px 14px !important; font-size: 16px !important; border-radius: 10px !important; }
  .gp-form .form-check-label { font-size: .82rem !important; line-height: 1.4 !important; }
  .gp-form [style*="background:#F9F9F9"] { padding: 12px !important; }
  .gp-form [style*="border:2px solid #00CC00"] { padding: 12px !important; }
  .gp-hero-badges { gap: 6px !important; }
  .gp-hero-badges span { font-size: .75rem !important; padding: 5px 10px !important; }
}
@media (max-width: 380px) {
  .dp-header-inner { padding: 6px 10px !important; }
  .dp-brand img { height: 38px !important; }
  .gp-split-hero-form { padding: 14px 10px !important; }
}


/* ---------- v1.0.20 : footer epure sans logo ---------- */
.dp-footer-inner { justify-content: center; text-align: center; }
.dp-footer-legal { text-align: center; margin: 0 auto; }
.dp-footer { border-top: 3px solid var(--dp-primary); }

/* FIX v1.0.67 - empeche le debordement horizontal de l'en-tete sur ecrans etroits */
.dp-header-inner { flex-wrap: wrap; row-gap: 8px; }

/* ============================================================
   DORGOPRESSINGS — Template officiel · Charte logo DorgoPressings
   Vert #00CC00 · Gris #666666 · Noir #000000
   Poppins (titres) + Inter (corps)
   ============================================================ */



* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.dp-body {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--dp-text);
	background: var(--dp-bg);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 { font-family: Poppins, sans-serif; line-height: 1.25; color: var(--dp-night); }
img { max-width: 100%; }
a { color: var(--dp-primary); }

/* ---------- HEADER ---------- */
.dp-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--dp-border);
}
.dp-header-inner {
	max-width: 1200px; margin: 0 auto;
	display: flex; align-items: center; gap: 10px;
	padding: 10px 20px;
}
.dp-brand { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.dp-brand img { height: 42px; width: auto; display: block; }
.dp-brand-fallback { font-family: Poppins, sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--dp-primary); }

/* Connexion / Déconnexion — immédiatement à droite du logo */
.dp-auth { flex-shrink: 0; }
.dp-auth-in { display: inline-flex; align-items: center; gap: 10px; }
.dp-auth-name {
	font-size: .8rem; font-weight: 600; color: var(--dp-muted);
	max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dp-logout-form { display: inline-flex; margin: 0; }

.dp-btn-ghost {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .9rem;
	padding: 9px 18px;
	border: 1.5px solid var(--dp-primary);
	border-radius: 10px;
	color: var(--dp-primary);
	background: transparent;
	text-decoration: none;
	cursor: pointer;
	transition: all .18s ease;
	white-space: nowrap;
}
.dp-btn-ghost:hover { background: var(--dp-primary); color: #fff; }

/* Navigation — poussée à droite */
.dp-nav-wrap { margin-left: auto; }
.dp-nav-wrap ul.menu,
.dp-nav-wrap ul.menu-nav,
.dp-nav-wrap ul.mod-menu,
.dp-nav-wrap ul.nav {
	display: flex; align-items: center; gap: 2px;
	list-style: none; margin: 0; padding: 0;
}
.dp-nav-wrap ul.menu li,
.dp-nav-wrap ul.menu-nav li,
.dp-nav-wrap ul.mod-menu li,
.dp-nav-wrap ul.nav li { position: relative; margin: 0; }
.dp-nav-wrap ul.menu > li > a,
.dp-nav-wrap ul.menu-nav > li > a,
.dp-nav-wrap ul.mod-menu > li > a,
.dp-nav-wrap ul.nav > li > a {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .92rem;
	color: var(--dp-text);
	padding: 9px 14px;
	border-radius: 10px;
	text-decoration: none;
	white-space: nowrap;
	transition: all .15s ease;
}
.dp-nav-wrap ul.menu > li > a:hover,
.dp-nav-wrap ul.menu-nav > li > a:hover,
.dp-nav-wrap ul.mod-menu > li > a:hover,
.dp-nav-wrap ul.nav > li > a:hover {
	color: var(--dp-primary);
	background: rgba(0,204,0,.08);
}
.dp-nav-wrap ul.menu > li.active > a,
.dp-nav-wrap ul.menu > li.current > a,
.dp-nav-wrap ul.mod-menu > li.active > a,
.dp-nav-wrap ul.nav > li.active > a,
.dp-nav-wrap ul.menu a[aria-current="page"] {
	color: var(--dp-primary);
	background: rgba(0,204,0,.1);
}
/* Sous-menus */
.dp-nav-wrap ul.menu ul ul, .dp-nav-wrap ul.menu-nav ul,
.dp-nav-wrap ul.mod-menu ul ul, .dp-nav-wrap ul.nav ul ul {
	position: absolute; top: 100%; left: 0; z-index: 20;
	background: #fff; border: 1px solid var(--dp-border); border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0,0,0,.12);
	min-width: 210px; padding: 6px;
	list-style: none;
	display: none;
}
.dp-nav-wrap ul.menu li:hover > ul, .dp-nav-wrap ul.menu-nav li:hover > ul,
.dp-nav-wrap ul.mod-menu li:hover > ul, .dp-nav-wrap ul.nav li:hover > ul { display: block; }
.dp-nav-wrap ul.menu ul ul li a, .dp-nav-wrap ul.menu-nav ul li a,
.dp-nav-wrap ul.mod-menu ul ul li a, .dp-nav-wrap ul.nav ul ul li a {
	display: block; padding: 8px 12px; font-size: .9rem; color: var(--dp-text);
	text-decoration: none; border-radius: 8px; font-weight: 500;
}
.dp-nav-wrap ul.menu ul ul li a:hover, .dp-nav-wrap ul.menu-nav ul li a:hover,
.dp-nav-wrap ul.mod-menu ul ul li a:hover, .dp-nav-wrap ul.nav ul ul li a:hover { color: var(--dp-primary); background: rgba(0,204,0,.08); }

/* Burger */
.dp-burger {
	display: none; margin-left: auto; align-items: center; justify-content: center;
	width: 44px; height: 44px; border: none; background: transparent;
	color: var(--dp-night); cursor: pointer; border-radius: 10px;
}
.dp-burger:hover { background: rgba(0,204,0,.08); }

/* ---------- MAIN ---------- */
.dp-main {
	max-width: 1200px; margin: 0 auto;
	padding: 24px 20px;
	width: 100%;
}

/* ---------- FOOTER ---------- */
.dp-footer {
	background: var(--dp-night);
	color: #CBD5E1;
	margin-top: 72px;
	border-top: 4px solid var(--dp-primary);
}
.dp-footer-inner {
	max-width: 1200px; margin: 0 auto;
	padding: 44px 20px 28px;
	display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; justify-content: space-between;
}
.dp-footer img { height: 40px; width: auto; filter: brightness(0) invert(1); opacity: .95; }
.dp-footer-tag { margin: 14px 0 0; font-size: .92rem; color: #94A3B8; }
.dp-footer-links { flex: 1; min-width: 180px; }
.dp-footer-links ul { list-style: none; margin: 0; padding: 0; }
.dp-footer-links a { color: #CBD5E1; text-decoration: none; font-size: .92rem; }
.dp-footer-links a:hover { color: var(--dp-teal-text-dark); }
.dp-footer-legal { font-size: .82rem; color: #94A3B8; }
.dp-footer-muted { margin-bottom: 0; }

/* ---------- CHAPEAU JOOMLA (nettoyage vitrine) ---------- */
.com-content-article .page-header { display: none; }
.com-content-article .article-info { display: none !important; }
.breadcrumb, .container-breadcrumbs { display: none !important; }

/* ---------- FORMULAIRES & COMPOSANTS JOOMLA ---------- */
input, select, textarea {
	font-family: Inter, sans-serif;
	font-size: 1rem; color: var(--dp-text);
	padding: 10px 12px;
	border: 1px solid var(--dp-border);
	border-radius: 10px;
	background: #fff;
	max-width: 100%;
}
input:focus, select:focus, textarea:focus {
	outline: 2px solid rgba(0,204,0,.35);
	border-color: var(--dp-primary);
}
label { font-weight: 600; font-size: .92rem; }
.control-group, .form-group { margin-bottom: 14px; }

button, .btn, .button {
	display: inline-block;
	font-family: Poppins, sans-serif;
	font-weight: 600; font-size: .95rem;
	padding: 10px 20px;
	border-radius: 10px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all .18s ease;
}
.btn-primary, .button.btn-primary, button.btn-primary {
	background: var(--dp-primary); color: #fff;
}
.btn-primary:hover { background: var(--dp-primary-dark); color: #fff; }
.btn-secondary { background: #fff; border: 1px solid var(--dp-border); color: var(--dp-text); }
.btn-secondary:hover { border-color: var(--dp-primary); color: var(--dp-primary); }

/* Alertes Joomla */
.joomla-alert, .alert { padding: 13px 16px; border-radius: 12px; margin: 14px 0; font-size: .95rem; }
.alert-info { background: #E4F5F7; color: #0B5A62; border: 1px solid #B5E0E4; }
.alert-success, .alert-message { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.alert-warning { background: #FFFBEB; color: #92400E; border: 1px solid #FDE68A; }
.alert-danger, .alert-error { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }

/* Tables */
table { border-collapse: collapse; width: 100%; background: #fff; }
th { background: #F1F5F9; color: var(--dp-night); text-align: left; padding: 10px 12px; font-family: Poppins, sans-serif; font-size: .85rem; }
td { padding: 10px 12px; border-bottom: 1px solid var(--dp-border); font-size: .93rem; }

/* Charte logo : le contenu inline vert reste vert, pas de remap */
/* Blocs <style> des articles : classes dv-* recalées sur la charte */
.dv-btn-primary {
	background: var(--dp-primary) !important;
	color: #fff !important;
	box-shadow: 0 6px 20px rgba(0,204,0,.3) !important;
}
.dv-btn-primary:hover { background: var(--dp-primary-dark) !important; color: #fff !important; }
.dv-hero h1 span, .dv-hero h2 span { color: var(--dp-teal-text-dark) !important; }
.dv-step .num { color: var(--dp-teal-text-dark) !important; background: var(--dp-night) !important; }
.dv-price.featured {
	border-color: var(--dp-primary) !important;
	box-shadow: 0 16px 40px rgba(0,204,0,.15) !important;
}

/* Badge « verticale DORGO » → identité DorgoPressings */
div[style*="rgba(0,204,63,.15)"] {
	font-size: 0 !important;
	background: rgba(0,204,0,.12) !important;
	border: 1px solid rgba(0,204,0,.3) !important;
}
div[style*="rgba(0,204,63,.15)"]::after {
	content: "✓ DorgoPressings · La gestion complète de votre pressing";
	font-size: .82rem; font-weight: 700; color: var(--dp-primary-light);
	font-family: Poppins, sans-serif;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
	.dp-burger { display: inline-flex; }
	.dp-nav-wrap {
		position: fixed; top: 63px; left: 0; right: 0; z-index: 99;
		background: #fff; border-bottom: 1px solid var(--dp-border);
		box-shadow: 0 16px 40px rgba(0,0,0,.14);
		display: none; padding: 14px 20px 18px;
	}
	.dp-nav-wrap.open { display: block; }
	.dp-nav-wrap ul.menu, .dp-nav-wrap ul.menu-nav, .dp-nav-wrap ul.mod-menu, .dp-nav-wrap ul.nav { flex-direction: column; align-items: stretch; gap: 2px; }
	.dp-nav-wrap ul.menu > li > a, .dp-nav-wrap ul.menu-nav > li > a,
.dp-nav-wrap ul.mod-menu > li > a, .dp-nav-wrap ul.nav > li > a { display: block; }
	.dp-nav-wrap ul.menu ul ul, .dp-nav-wrap ul.menu-nav ul,
.dp-nav-wrap ul.mod-menu ul ul, .dp-nav-wrap ul.nav ul ul { position: static; box-shadow: none; border: none; padding-left: 16px; }
	.dp-brand img { height: 34px; }
	.dp-auth-name { display: none; }
}

@media (max-width: 576px) {
	.dp-btn-ghost { padding: 8px 13px; font-size: .85rem; }
	.dp-footer-inner { flex-direction: column; }
}

/* ===== positions de modules (v1.0.24) ===== */
.dp-modpos { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.dp-pos-top { padding-top: 10px; padding-bottom: 10px; }
.dp-pos-banner { margin: 18px 0 0; }
.dp-pos-breadcrumbs { margin: 14px 0 0; font-size: .85rem; color: #666666; }
.dp-pos-bottom { margin: 22px 0 0; }
.dp-layout { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
.dp-layout.has-left { grid-template-columns: 260px minmax(0, 1fr); }
.dp-layout.has-right { grid-template-columns: minmax(0, 1fr) 260px; }
.dp-layout.has-left.has-right { grid-template-columns: 220px minmax(0, 1fr) 220px; }
.dp-side > * { margin: 0 0 18px; }
.dp-side .mod-title, .dp-side h3 { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1rem; margin: 0 0 8px; }
@media (max-width: 991px) {
	.dp-layout { grid-template-columns: 1fr !important; }
	.dp-side { display: flex; flex-wrap: wrap; gap: 18px; }
	.dp-side > * { flex: 1 1 240px; }
}

/* v90 — bouton Connexion mis en exergue (vert plein) */
.dp-auth.dp-btn-ghost { background: var(--dp-primary); border-color: var(--dp-primary); color: #fff !important; box-shadow: 0 6px 18px rgba(0,204,0,.30); }
.dp-auth.dp-btn-ghost:hover { background: var(--dp-primary-dark); border-color: var(--dp-primary-dark); color: #fff !important; }

/* v90 — fin */

/* v92 — PC : Connexion toujours a droite, apres Suivi commande */
.dp-header-inner .dp-nav-wrap { flex: 0 1 auto; }
.dp-header-inner .dp-auth { margin-left: auto; }

/* v92 — durcissement responsive global */
.dp-layout { grid-template-columns: minmax(0,1fr) !important; }
.dp-content { min-width: 0; max-width: 100%; }

/* v93 — header PC : une seule ligne, Connexion toujours a droite */
@media (min-width: 1024px) {
  .dp-header-inner { flex-wrap: nowrap; }
  .dp-nav-wrap ul.menu > li > a, .dp-nav-wrap ul.menu-nav > li > a,
  .dp-nav-wrap ul.mod-menu > li > a, .dp-nav-wrap ul.nav > li > a { padding: 9px 10px; }
  .dp-auth-name { max-width: 100px; }
}

/* ===== v1.0.29 — liens bottom horizontaux ===== */
.dp-pos-bottom .mod-articlescategory{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;}
.dp-pos-bottom .mod-articlescategory li{list-style:none;display:inline-flex;align-items:center;}
.dp-pos-bottom .mod-articlescategory li + li::before{content:'|';color:#999;margin:0 12px;font-weight:400;}
.dp-pos-bottom .mod-articlescategory a{color:#000;font-size:.95rem;font-weight:600;text-decoration:none;}
.dp-pos-bottom .mod-articlescategory a:hover{color:#009900;}
.dp-pos-bottom .mod-articlescategory a.active{color:#009900;border-bottom:2px solid #00CC00;padding-bottom:2px;}

/* ===== v1.0.30 — liens bottom horizontaux mobile ===== */
@media(max-width:480px){
  .dp-pos-bottom .mod-articlescategory{flex-wrap:nowrap;}
  .dp-pos-bottom .mod-articlescategory a{font-size:.8rem;}
  .dp-pos-bottom .mod-articlescategory li + li::before{margin:0 8px;}
}
