/* ============================
            GENERAL
   ============================ */

html,
body,
#wrapper {
  overflow-x: hidden !important;
}

.container {
  width: 100%;
}

/* Style identique au titre "Toutes les catégories" */
.home-section-title,
.category-tree > ul > li:first-child > a {
  display: block;
  margin: 40px 0 20px 0;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  color: #232323;
}

/* Version cliquable */
.home-section-title a.section-link,
.category-tree > ul > li:first-child > a {
  color: #232323; /* texte noir */
  text-decoration: none; /* pas de souligné */
  transition: opacity 0.2s;
}

.home-section-title a.section-link:hover,
.category-tree > ul > li:first-child > a:hover {
  opacity: 0.6;
}

#category #left-column {
  display: none !important;
}

#category #content-wrapper {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.products {
  display: flex;
  flex-wrap: wrap;
  row-gap: 25px;
}

.products.row {
  display: flex;
  flex-wrap: wrap;
}

.products.row > div {
  width: 20%;
  flex: 0 0 20%;
}

@media (max-width: 992px) {
  .products.row > div {
    width: 33.333%;
    flex-basis: 33.333%;
  }
}

@media (max-width: 576px) {
  .products.row > div {
    width: 50%;
    flex-basis: 50%;
  }
}

#authentication #main .page-header, #registration #main .page-header {
  display: none;
}

.page-authentication #content, .page-registration #content {
    max-width: 60%;
}

/* ============================
      GLOBAL CARD DESIGN
   ============================ */

/* Tous les blocs qui se comportent comme des “cards” */
.product-miniature,
#search_filters_brands,
#custom-text,
.category-tree > ul > li:nth-child(2) > ul > li,
.brands-carousel-item {
  background: #ffffff;
  border-radius: 10px; /* Arrondi unifié */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Effet hover identique pour toutes les cards */
.product-miniature:hover,
.category-tree > ul > li:nth-child(2) > ul > li:hover,
.brands-carousel-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.thumbnail-top,
.product-miniature .product-thumbnail img,
.brands-carousel-logo {
  border-radius: 12px;
}

/* ============================
            CAROUSEL
   ============================ */
/*<p><span class="fake-btn btn-primary">Ceci est un bouton</span> <span class="fake-btn btn-secondary">Ici aussi La aussi ?</span></p>*/
#wrapper {
  padding: 0;
}

/* Carrousel container */
.brands-carousel {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 20px 40px;
  overflow: hidden;
  background: #fff;
}

/* Viewport */
.brands-carousel-viewport {
  overflow: hidden;
  width: 100%;
}

/* List */
.brands-carousel-list {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Items */
.brands-carousel-item {
  flex: 0 0 20%;
  max-width: 20%;
  text-align-last: center;
}

/* LOGO */
.brands-carousel-logo {
  width: 100px;
  height: 100px;
  object-fit: contain;
  margin-bottom: 8px;
}

/* BRAND NAME */
.brands-carousel-name {
  display: block;
  font-size: 14px;
  margin-top: 5px;
  text-transform: uppercase;
  font-weight: 600;
}

/* Arrows */
.brands-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #f5f5f5;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  transition: background 0.2s;
}

.brands-arrow--prev {
  left: 5px;
}

.brands-arrow--next {
  right: 5px;
}

.brands-arrow:hover {
  background: #e0e0e0;
}

/* Écran un peu plus petit : 4 marques */
@media (max-width: 1199px) {
  .brands-carousel-item {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* Tablettes / petits laptops : 3 marques */
@media (max-width: 991px) {
  .brands-carousel-item {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}

/* Mobiles : 2 marques */
@media (max-width: 767px) {
  .brands-carousel-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* Très petits écrans : 1 marque */
@media (max-width: 480px) {
  .brands-carousel-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Bloc "À propos"  */
#custom-text-block {
  padding: 40px 20px;
  max-width: 900px;
  margin: 40px auto 0 auto;
  text-align: center;
}

#custom-text-block h2 {
  margin-bottom: 20px;
  font-weight: 600;
}

#custom-text-block p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #444;
  max-width: 800px;
  margin: 0 auto;
}

/* ============================
   BLOC CATEGORIES - STYLE GRID
   ============================ */

/* On nettoie la liste principale */
.category-tree > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Le titre "Produits" (premier <li>) */
/* .category-tree > ul > li:first-child > a {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  text-transform: uppercase;
  text-decoration: none;
  color: #232323;
} */

/* Le deuxième <li> contient tout l'arbre :
   on cible le UL qui est dedans pour le mettre en grille */
.category-tree > ul > li:nth-child(2) > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem; /* espace entre les cartes */
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center; /* centrage des lignes */
}

/* Chaque catégorie "racine" (sous Produits) ressemble à une carte produit */
.category-tree > ul > li:nth-child(2) > ul > li {
  flex: 0 0 calc(25% - 2rem);
  box-sizing: border-box;
  padding: 1.5rem 1rem;
  text-align: center;
}

/* Lien catégorie : style proche d’un nom de produit */
.category-tree > ul > li:nth-child(2) > ul > li > a {
  display: block;
  text-decoration: none;
  color: #222222;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: uppercase;
}

/* Sous-catégories (les <div><ul> à l’intérieur) :
   on les affiche en petit sous le nom, façon sous-texte */
.category-tree > ul > li:nth-child(2) > ul > li > div > ul {
  list-style: none;
  margin: 0.8rem 0 0;
  padding: 0;
}

.category-tree > ul > li:nth-child(2) > ul > li > div > ul > li {
  margin: 0.2rem 0;
}

.category-tree > ul > li:nth-child(2) > ul > li > div > ul > li > a {
  font-size: 1.2rem;
  color: #777777;
  text-decoration: none;
}

/* Hover sur les sous-catégories */
.category-tree > ul > li:nth-child(2) > ul > li > div > ul > li > a:hover {
  text-decoration: underline;
}

/* ======================
   RESPONSIVE BREAKPOINTS
   ====================== */

/* Tablette : 2 ou 3 colonnes */
@media (max-width: 1024px) {
  .category-tree > ul > li:nth-child(2) > ul > li {
    flex: 0 0 calc(33.333% - 2rem);
  }
}

/* Mobile large : 2 colonnes */
@media (max-width: 768px) {
  .category-tree > ul > li:nth-child(2) > ul > li {
    flex: 0 0 calc(50% - 2rem);
  }
}

/* Mobile small : 1 colonne */
@media (max-width: 480px) {
  .category-tree > ul > li:nth-child(2) > ul > li {
    flex: 0 0 100%;
  }
}

/* =========================================
   SLIDER PLEINE LARGEUR (ps_imageslider)
   ========================================= */

/* Empêche le petit scroll horizontal dû au 100vw */
html,
body {
  overflow-x: hidden;
}

/* Le conteneur du slider "sort" du .container Bootstrap
   et prend exactement la largeur de la fenêtre */
/* Le slider adopte un ratio d'écran (comme YouTube) */
.homeslider-container {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 0px;
  height: 520px; /* même hauteur que .slide (480px + sécurité) */
  aspect-ratio: 16/9; /* slider responsive parfait */
  position: relative;
  overflow: hidden;
}

/* Les images couvrent totalement la zone */
.homeslider-container .slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Chaque slide occupe toute la largeur et une hauteur fixe */
.homeslider-container .slide {
  position: relative;
  width: 100%;
  height: 480px; /* ajuste si tu veux plus/moins haut */
  overflow: hidden;
}

/* L'image remplit complètement le slide */
.homeslider-container .slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* recadre proprement */
  object-position: center;
}

/* =========================================
   TEXTE / CAPTION CENTRÉE
   ========================================= */

/* Le span.caption recouvre tout le slide et sert de conteneur
   pour le titre + ton HTML (hero-slide-full, etc.) */
.homeslider-container .slide .caption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center; /* centre vertical */
  align-items: center; /* centre horizontal */
  text-align: center;

  padding: 0 10%;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);

  pointer-events: none; /* ne bloque pas les flèches */
}

/* Les liens à l’intérieur restent cliquables */
/* .homeslider-container .slide .caption a {
  pointer-events: auto;
} */

/* Titre saisi dans l’input "Titre" du BO */
.homeslider-container .slide .caption h2 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 20px 0;
}

/* Le <div> qui contient ta description (donc ton bloc hero-slide-full) */
.homeslider-container .slide .caption > div {
  font-size: 18px;
  font-weight: 300;
  max-width: 600px;
}

/* =========================================
   BOUTONS / TEXTE HERO (HTML que tu as mis
   dans la description : hero-subtitle, hero-buttons, etc.)
   ========================================= */

/* Sous-titre */
.hero-subtitle {
  font-size: 20px;
  font-weight: 300;
  margin-bottom: 30px;
}

/* Conteneur des deux boutons */
.hero-buttons {
  margin-top: 10px;
  display: flex;
  gap: 20px;
  justify-content: center;
}

/* Style générique des boutons */
.hero-btn {
  padding: 12px 28px;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  transition: all 0.25s ease;
}

/* Bouton principal (rose) */
.hero-btn-primary {
  background: #ff5577;
  color: #ffffff;
}
.hero-btn-primary:hover {
  background: #ff3355;
}

/* Bouton secondaire (texte blanc souligné) */
.hero-btn-secondary {
  background: transparent;
  color: #ffffff;
  border-bottom: 2px solid #ffffff;
}
.hero-btn-secondary:hover {
  opacity: 0.8;
}

/* -------- Ajustement des flèches du slider -------- */

/* On s'assure qu'elles passent au-dessus de l'image */
.homeslider-container .rslides_nav {
  z-index: 50;
}

/* Flèche gauche : léger décalage vers l'intérieur */
.homeslider-container .homeslider_nav.prev {
  left: 15px; /* tu peux mettre 10 ou 20 selon ton goût */
}

/* Flèche droite : léger décalage vers l'intérieur */
.homeslider-container .homeslider_nav.next {
  right: 30px; /* idem, ajuste si besoin */
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 768px) {
  .homeslider-container .slide {
    height: 320px;
  }

  .homeslider-container .slide .caption {
    align-items: center;
    text-align: center;
    padding: 0 5%;
  }

  .homeslider-container .slide .caption h2 {
    font-size: 28px;
  }

  .homeslider-container .slide .caption > div {
    font-size: 14px;
  }

  .hero-subtitle {
    font-size: 16px;
  }

  .hero-buttons {
    flex-direction: column;
  }

  .hero-btn {
    width: 100%;
    text-align: center;
  }
}

/* -------------------------------------------
   BANNIÈRE FULL WIDTH + IMAGE FULL WIDTH
   ------------------------------------------- */

/* 1. Le bloc bannière sort du container Bootstrap */
.ps_banner,
.banner,
.banner-block {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden; /* évite tout débordement */
  padding: 0 !important;
}

/* 2. L'image prend toute la largeur de l'écran */
.ps_banner img,
.banner img,
.banner-block img {
  width: 100vw !important; /* couvre toute la largeur écran */
  max-width: none !important; /* ignore la limite du container */
  height: auto !important; /* garde les proportions */
  margin-left: calc(50% - 50vw); /* centre l'image comme un background */
  display: block;
}

/* =========================================================
   CARTE PRODUIT – STYLE TYPE MAQUETTE
   ========================================================= */

.category-tree {
  margin: 0 20px;
}

.featured-products {
  margin: 100px 20px 20px 20px;
}

.featured-products a,
.category-tree a,
.home-section-title {
  text-align: center;
}

/* Conteneur global de la carte */
.product-miniature {
  padding: 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Bloc image */
.product-miniature .thumbnail-container {
  margin-bottom: 16px;
}

.product-miniature .thumbnail-top {
  background: #f1f1f1; /* fond gris de la maquette */
  border-radius: 12px;
  padding: 16px;
}

.product-miniature .product-thumbnail {
  display: block;
}

.product-miniature .product-thumbnail img {
  width: 100%;
  height: 180px; /* ajuste si tu veux plus ou moins haut */
  object-fit: contain;
}

/* Titre */
.product-miniature .product-title a {
  font-size: 16px;
  font-weight: 600;
  color: #111111;
}

/* Sous-titre */
.product-miniature .product-subtitle {
  margin-top: 4px;
  font-size: 13px;
  color: #7c7c7c;
}

/* Prix */
.product-miniature .product-price-and-shipping {
  margin-top: 10px;
}

.product-miniature .product-price-and-shipping .price {
  font-size: 18px;
  font-weight: 700;
  color: #ff3244; /* ton rouge */
}

/* Bouton "Ajouter au panier" façon maquette */
.product-miniature .product-card-btn {
  margin-top: 16px;
  width: 100%;
  display: block;
  text-align: center;

  background: #ff3244;
  color: #ffffff;
  border-radius: 10px;
  padding: 10px 18px;

  border: none;
  font-size: 15px;
  font-weight: 600;
  text-transform: none;

  transition: background 0.2s ease, transform 0.1s ease;
}

.product-miniature .product-card-btn:hover {
  background: #e72b3b; /* un peu plus foncé au hover */
  transform: translateY(-1px);
}

/* Si d'autres .btn traînent dans la carte, on leur enlève le style "primary" classique */
.product-miniature .product-description .btn.btn-primary {
  background: transparent;
  border: none;
  padding: 0;
}

/* ============================
            FOOTER 
   ============================ */

#footer {
  background-color: #252525;
}

/* Titres des colonnes */
#footer h3,
#footer .h3,
#footer h4 {
  color: #ffffff !important;
  font-weight: 600;
}

/* Liens du footer */
#footer a {
  color: #ffffff !important;
  text-decoration: none;
}

#footer a:hover {
  opacity: 0.8;
}

/* Textes sous les titres → blanc cassé */
#footer p,
#footer li,
#footer span,
#footer .footer-block-content,
#footer .block_content,
#footer .footer-container *:not(h3):not(h4):not(a):not(.h3) {
  color: #e5e5e5 !important;
}

/* Copyright */
.footer-container .copyright {
  color: #e5e5e5 !important;
}

/* ============================
          A PROPOS 
   ============================ */

.about-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 15px 60px;
}

.about-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
  margin-bottom: 50px;
}

.about-hero-logo img {
  max-width: 220px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.about-hero-text h1 {
  font-size: 32px;
  margin-bottom: 10px;
}

.about-tagline {
  font-size: 18px;
  color: #777;
  margin-bottom: 0;
}

.about-section {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 60px;
}

.about-section.reverse {
  flex-direction: row-reverse;
}

.about-section-text {
  flex: 1 1 55%;
}

.about-section-text h2 {
  font-size: 24px;
  margin-bottom: 15px;
}

.about-section-text p {
  line-height: 1.7;
  margin-bottom: 12px;
}

.about-section-text ul {
  padding-left: 18px;
  margin: 10px 0 0;
}

.about-section-text li {
  margin-bottom: 6px;
}

.about-section-image {
  flex: 1 1 40%;
  text-align: center;
}

.about-section-image img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.about-highlight {
  color: #ff3244;
  font-weight: 600;
}

@media (max-width: 768px) {
  .about-page {
    padding-top: 20px;
  }

  .about-hero-text h1 {
    font-size: 26px;
    text-align: center;
  }

  .about-hero-text {
    text-align: center;
  }

  .about-section,
  .about-section.reverse {
    flex-direction: column;
  }
}

/* ===============================
   PAGE ARTISTES – CMS ID 7
   =============================== */

.mmd-artists .grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}

.mmd-artists .item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.4rem;
  text-decoration: none;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.mmd-artists .item span {
  position: relative;
  z-index: 2;
}

/* Fond noir transparent */
.mmd-artists .item:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1;
}

.mmd-artists .item.rock {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artiste-rock-pop-my-music-distribution-pan-2.jpg");
}
.mmd-artists .item.jazz {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artistes-jazz-my-music-distribution-pan-2.jpg");
}
.mmd-artists .item.metal {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artistes-metal-my-music-distribution-pan3.jpg");
}
.mmd-artists .item.groove {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artistes-groove-my-music-distribution-pan.jpg");
}
.mmd-artists .item.world {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artistes-world-my-music-distribution-pan.jpg");
}
.mmd-artists .item.classical {
  background-image: url("https://www.mymusicdistribution.fr/img/cms/Artists/artistes-classical-my-music-distribution-pan.jpg");
}

/* ===============================
        AUTHENTIFICATION
   =============================== */

:root {
  --mmd-auth-bg: #f7f8fb;
  --mmd-auth-card: #ffffff;
  --mmd-auth-text: #2c2c2c;
  --mmd-auth-muted: #7b7f88;
  --mmd-auth-border: #e3e5ea;
  --mmd-auth-accent: #3f7ec4;
  --mmd-auth-accent-dark: #2f67a6;
  --mmd-auth-shadow: 0 12px 26px rgba(34, 44, 66, 0.12);
}

.mmd-auth-page {
  min-height: 100vh;
  background: var(--mmd-auth-bg);
  padding: 30px 18px 60px;
}

.mmd-auth-top {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
}

.mmd-auth-logo {
  max-height: 52px;
  width: auto;
}

.mmd-auth-layout {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(240px, 520px);
  gap: 30px;
  align-items: center;
  justify-content: center;
}

#authentication .page-content, #registration .page-content {
  background: var(--mmd-auth-card);
  border: 1px solid var(--mmd-auth-border);
  border-radius: 12px;
  box-shadow: var(--mmd-auth-shadow);
  padding: 28px 28px 24px;
}


.mmd-auth-header {
  text-align: center;
  margin-bottom: 18px;
}

.mmd-auth-title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--mmd-auth-text);
}

.mmd-auth-subtitle {
  margin: 0;
  font-size: 14px;
  color: var(--mmd-auth-muted);
}

.mmd-auth-form .form-group {
  margin-bottom: 16px;
}

.mmd-auth-form .form-control {
  border: 1px solid var(--mmd-auth-border);
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 14px;
  background-color: #fff;
}

.mmd-auth-form .form-control:focus {
  border-color: var(--mmd-auth-accent);
  box-shadow: 0 0 0 3px rgba(63, 126, 196, 0.15);
}

.mmd-auth-form .btn-primary,
.mmd-auth-form button[type="submit"] {
  width: 100%;
  border-radius: 4px;
  padding: 12px 14px;
  font-weight: 700;
  text-transform: uppercase;
  background: var(--mmd-auth-accent);
  border-color: var(--mmd-auth-accent);
}

.mmd-auth-form .btn-primary:hover,
.mmd-auth-form button[type="submit"]:hover {
  background: var(--mmd-auth-accent-dark);
  border-color: var(--mmd-auth-accent-dark);
}

.mmd-auth-secondary {
  margin-top: 16px;
  display: grid;
  gap: 10px;
  text-align: center;
}

.mmd-auth-link {
  color: var(--mmd-auth-accent);
  font-size: 13px;
  text-decoration: none;
}

.mmd-auth-link:hover {
  text-decoration: underline;
}

.mmd-auth-illustration {
  position: relative;
  width: 100%;
  min-height: 360px;
  background: radial-gradient(
      circle at 70% 65%,
      #e6edf7 0,
      #e6edf7 42%,
      transparent 43%
    ),
    radial-gradient(circle at 72% 68%, #eef3f9 0, #eef3f9 32%, transparent 33%);
  border-radius: 20px;
  overflow: hidden;
}

.mmd-auth-illustration::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'><rect width='720' height='520' fill='none'/><g transform='translate(220 140)'><ellipse cx='260' cy='250' rx='200' ry='120' fill='%23eef3f9'/><rect x='140' y='170' width='250' height='120' rx='12' fill='%23ffffff' stroke='%23dfe4ee'/><rect x='160' y='195' width='70' height='75' rx='6' fill='%23f25f5c'/><rect x='240' y='195' width='70' height='75' rx='6' fill='%234f7bd9'/><path d='M150 180c10-30 70-30 80 0' fill='none' stroke='%231d1d1d' stroke-width='6'/><path d='M230 180c10-30 70-30 80 0' fill='none' stroke='%231d1d1d' stroke-width='6'/><rect x='310' y='155' width='90' height='60' rx='10' fill='%237a52b3'/><path d='M325 155c10-30 50-30 60 0' fill='none' stroke='%2355367d' stroke-width='6'/><rect x='90' y='235' width='160' height='80' rx='10' fill='%23b7c6da'/><rect x='110' y='250' width='120' height='15' rx='6' fill='%23d8e0ee'/></g><g transform='translate(120 210)'><rect x='0' y='0' width='300' height='160' rx='12' fill='%23ffffff' stroke='%23dfe4ee'/><line x1='10' y1='120' x2='290' y2='120' stroke='%23cfd6e3' stroke-width='4'/><line x1='30' y1='10' x2='60' y2='120' stroke='%23cfd6e3' stroke-width='4'/><line x1='270' y1='10' x2='240' y2='120' stroke='%23cfd6e3' stroke-width='4'/><circle cx='70' cy='140' r='12' fill='%232c3e80'/><circle cx='230' cy='140' r='12' fill='%232c3e80'/></g></svg>");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  opacity: 0.9;
}

@media (max-width: 960px) {
  .mmd-auth-layout {
    grid-template-columns: 1fr;
  }

  .mmd-auth-illustration {
    min-height: 260px;
    order: 2;
  }
}

@media (max-width: 600px) {
  #authentication .page-content {
    padding: 24px 18px 20px;
  }

  .mmd-auth-title {
    font-size: 24px;
  }
}
