/* ========================================================
   CSS RESET & NORMALIZE (to ensure cross-browser styling)
   ======================================================== */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  vertical-align:baseline;
  box-sizing:border-box;
}
html{box-sizing:border-box;font-size:16px;}
*,*:before,*:after{box-sizing:inherit;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
table{border-collapse:collapse;border-spacing:0;}
img{max-width:100%;height:auto;display:block;}

/* ===============================
   BRAND VARIABLES (with fallback)
   =============================== */
:root {
  --color-primary: #163E5B;
  --color-secondary: #F8FAFC;
  --color-accent: #1475A1;
  --color-neutral: #FFFFFF;
  --color-shade-light: #E9EDF2; 
  --color-shade-dark: #0D253A;
  --color-shadow: rgba(22,62,91,0.08);
  --color-border: #E0E6ED;

  --font-display: 'Montserrat', Arial, sans-serif;
  --font-body: 'Open Sans', Arial, sans-serif;

  --radius-card: 20px;
  --radius-btn: 32px;
  --radius-sm: 10px;

  --shadow-card: 0 6px 24px var(--color-shadow), 0 1.5px 6px var(--color-shadow);
  --shadow-btn: 0 2px 8px var(--color-shadow);

  --transition-base: .2s cubic-bezier(.49,.21,.37,1.21);
}

body {
  background: var(--color-secondary);
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: 16px;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin-bottom: 16px;
}
h1 {font-size: 2.5rem;margin-bottom: 24px;}
h2 {font-size: 2rem;margin-bottom: 20px;}
h3 {font-size: 1.5rem;}
h4 {font-size: 1.2rem;}
h5,h6 {font-size: 1rem;}
p,ul,ol {font-size: 1rem;line-height:1.7;margin-bottom: 16px;}
a {color: var(--color-accent);text-decoration: underline;transition: color var(--transition-base);}
a:hover,a:focus {color: #1FC3FF;text-decoration: none;}
strong,b {font-weight: 700;}

/* ==================  
   CONTAINER/SECTION  
   ================== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.section {
  margin-bottom: 60px;
  padding: 40px 20px;
  background: inherit;
}

.content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  background: none;
}
.content-wrapper.hero {
  min-height: 280px;
  align-items: flex-start;
  justify-content: center;
  padding-top:32px;
  background: none;
}
.content-wrapper.cta {
  align-items: center;
  background: var(--color-accent);
  color: var(--color-neutral);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding:40px 28px;
  text-align:center;
}
.content-wrapper.cta h2, .content-wrapper.cta p {
  color: var(--color-neutral);
}

/* ========================
   FLEXBOX LAYOUT PATTERNS
   ======================== */
.features-grid, .law-firm-cards, .review-list, .category-filters, .rate-filters, .directory-filters, .sort-options, .quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-start;
}
.features-grid { margin-top: 12px;}
.feature {
  flex: 1 1 220px;
  min-width: 220px;
  background: var(--color-neutral);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 28px 22px 24px;
  text-align:left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  border: 2px solid var(--color-shade-light);
}
.feature img {width:48px;height:48px;}
.feature:hover {
  box-shadow: 0 8px 32px rgba(20,117,161,0.16), 0 2px 8px rgba(22,62,91,.07);
  transform: translateY(-4px) scale(1.03);
  border-color: var(--color-accent);
}

.card-container, .card-grid, .article-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 20px;
}
.card {
  margin-bottom: 20px;
  position: relative;
  background: var(--color-neutral);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 28px 24px 22px;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}
.card:hover {box-shadow: 0 8px 32px rgba(20,117,161,0.14);transform: scale(1.01);}

.content-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.text-image-section {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
.testimonial-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--color-neutral);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  gap: 20px;
  padding: 24px 26px 20px;
  margin-bottom: 20px;
  min-width: 260px;
  max-width: 480px;
  border-left: 6px solid var(--color-accent);
  transition: box-shadow var(--transition-base),border-color var(--transition-base);
}
.testimonial-card p {
  font-size: 1.16rem;
  color: var(--color-primary);
  margin-bottom: 10px;
  text-align:left;
}
.testimonial-card .testimonial-footer {
  display: flex;
  gap: 16px;
  font-size: 0.98rem;
  color: var(--color-accent);
  font-weight: 600;
}
.testimonial-card:hover {
  box-shadow: 0 12px 36px rgba(20,117,161,0.16);
  border-color: #1FC3FF;
}

.feature-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}

/* ============================
   NAVIGATION (header/footer)
   ============================ */
header {
  background: var(--color-neutral);
  border-bottom: 2px solid var(--color-shade-light);
  position: sticky;top:0;z-index: 1000;
  box-shadow: 0 2px 10px rgba(22,62,91,0.03);
}
header .container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding:18px 20px 14px;
}
nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}
nav a {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: none;
  padding: 5px 13px;
  border-radius: var(--radius-sm);
  transition: background var(--transition-base), color var(--transition-base);
}
nav a.button-primary {
  background: var(--color-accent);
  color: var(--color-neutral)!important;
  padding: 10px 28px;
  border-radius: var(--radius-btn);
  font-size: 1.08rem;
  font-weight: 800;
  box-shadow: var(--shadow-btn);
  letter-spacing: 1px;
  margin-left: 10px;
  border: none;
  transition: background var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);
}
nav a.button-primary:hover,
nav a.button-primary:focus {
  background: #1FC3FF;
  color: var(--color-primary)!important;
  box-shadow: 0 4px 18px #1FC3FF55;
}
nav a.active,nav a:focus {background: var(--color-shade-light);}
nav a:hover:not(.button-primary) {color: var(--color-accent);background: var(--color-shade-light);}

footer {
  background: var(--color-primary);
  color: var(--color-neutral);
  padding: 40px 0 20px;
}
footer .container {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}
footer nav {
  flex-direction: column;
  gap: 9px;
}
footer nav a {
  color: var(--color-neutral);
  font-size:1rem;
  font-weight: bold;
  padding: 0;
  border-radius:0;
}
footer nav a:hover{color:#1FC3FF;background:none;}
.contact-footer {
  font-size:0.98rem;
  color: var(--color-shade-light);
  margin-top: 0;
  line-height: 1.75;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-footer img {vertical-align:middle;width:19px;height:19px;margin-right:4px;}
.contact-footer a{color:#fff;text-decoration:underline;}

/* =======================
   BUTTONS & INTERACTIONS
   ======================= */
.button-primary, .button-accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  color: var(--color-neutral);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.1rem;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius-btn);
  padding: 13px 32px;
  box-shadow: var(--shadow-btn);
  cursor: pointer;
  letter-spacing: 1px;
  margin: 4px 0;
  transition: background var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);
  text-decoration: none;
}
.button-primary:hover, .button-accent:hover, .button-primary:focus, .button-accent:focus {
  background: #1FC3FF;
  color: var(--color-primary);
  box-shadow: 0 4px 18px #1FC3FF33;
}
.button-accent {
  background: var(--color-primary);
  color: var(--color-neutral);
  font-size:1rem;
  padding:10px 24px;
}
.button-accent:hover,.button-accent:focus{
  background: var(--color-accent);
  color: var(--color-neutral);
  box-shadow: 0 3px 8px #47A4D144;
}
.button-primary:active {transform: scale(.97);}
.button-accent:active {transform: scale(.97);}

button {
  font-family: var(--font-display);
  font-weight: 700;
  padding: 8px 16px;
  border-radius: var(--radius-btn);
  border: none;
  color: var(--color-primary);
  background: var(--color-shade-light);
  transition: background var(--transition-base), color var(--transition-base);
  cursor:pointer;
  font-size:0.99rem;
  margin: 4px 0;
}
button:focus{outline:2px solid var(--color-accent);}
button:hover,button:focus{background: var(--color-accent); color: #fff;}

/* ================================
   SEARCH, FILTERS, FORMS, TABLES
   ================================ */
.search-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  width: 100%;
}
.search-bar input[type="text"] {
  flex:1;
  padding: 12px 18px;
  border-radius: var(--radius-btn);
  border:2px solid var(--color-shade-light);
  font-size: 1.08rem;
  font-family: var(--font-body);
  background: var(--color-neutral);
  color: var(--color-primary);
  transition: border var(--transition-base);
}
.search-bar input[type="text"]:focus {outline:none;border-color: var(--color-accent);}
.search-bar button { min-width: 110px; margin-left: 4px; }

.filter-controls, .directory-filters, .sort-options,.rating-filters,.category-filters, .rate-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:15px;
  margin-bottom:14px;
}
.filter-controls button, .directory-filters button, .sort-options button,.rate-filters button,.rating-filters button, .category-filters button{
  background: var(--color-shade-light);
  border: none;
  border-radius: var(--radius-sm);
  padding:9px 18px;
  font-family: var(--font-display);
  font-weight:600;
  color: var(--color-primary);
  transition: background var(--transition-base),color var(--transition-base);
  font-size: 1rem;
  margin-right:2px;
  cursor:pointer;
}
.filter-controls button:hover,.directory-filters button:hover, .sort-options button:hover,.rate-filters button:hover,.category-filters button:hover,.rating-filters button:hover{
  background: var(--color-accent);
  color: var(--color-neutral);
}
.quick-links {
  gap: 18px;
  margin-bottom:14px;
}
.quick-links a {
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--color-accent);
  font-weight:700;
  letter-spacing: .3px;
  text-decoration: none;
  padding:6px 10px;
  border-radius:var(--radius-btn);
  border:2px solid var(--color-accent);
  background: var(--color-secondary);
  transition:background var(--transition-base),color var(--transition-base);
}
.quick-links a:hover {background:var(--color-accent);color:var(--color-neutral);}

input,select,textarea {
  font-family: var(--font-body);
  font-size: 1rem;
  padding: 9px 14px; 
  border-radius: var(--radius-btn);
  border: 2px solid var(--color-shade-light);
  background: var(--color-neutral);
  color: var(--color-primary);
  outline:none;
  transition: border var(--transition-base);
  margin-bottom:10px;
}
input:focus,select:focus,textarea:focus {border-color:var(--color-accent);background:var(--color-shade-light);}

.table-responsive{width:100%;overflow-x:auto;}
table {
  width: 100%;
  background: var(--color-neutral);
  border: 2px solid var(--color-shade-light);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  margin-bottom: 20px;
  font-size:1rem;
}
thead{
  background:var(--color-accent);
  color:var(--color-neutral);
}
th,td {
  padding:14px 12px;
}
th {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing:.6px;
}
td {border-bottom:1px solid var(--color-shade-light);}
tr:last-child td {border-bottom:none;}

/* Katalog kancelarii cards */
.law-firm-card {
  background: var(--color-neutral);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 24px 24px 18px;
  margin-bottom: 20px;
  min-width: 260px;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-left: 6px solid var(--color-primary);
  transition: box-shadow var(--transition-base),border-color var(--transition-base);
}
.law-firm-card:hover {
  box-shadow: 0 8px 30px #1FC3FF22;
  border-color: var(--color-accent);
}
.law-firm-card .rating {
  color: var(--color-accent);
  font-weight: bold;
  padding-top:4px;
}

/* ==========================
   ARTICLES, TESTIMONIALS, ETC.
   ========================== */
.article-list {
  gap: 22px;
  width:100%;
  flex-direction:column;
}
.article-list li {
  padding: 16px 14px;
  border-radius: var(--radius-sm);
  background: var(--color-neutral);
  box-shadow: var(--shadow-card);
  border-left:5px solid var(--color-accent);
  margin-bottom: 4px;
  transition:box-shadow var(--transition-base),border-color var(--transition-base);
}
.article-list li:hover {
  box-shadow:0 6px 18px #1475A118;
  border-color:#1FC3FF;
}

.featured-advice {
  margin-top: 10px;
  background: var(--color-accent);
  color: var(--color-neutral);
  padding:16px 14px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  box-shadow: 0 3px 12px #1FC3FF18;
}

/* CONTACT & UTILITY SECTIONS */
.contact-section, .address-text, .thanks-message, .next-steps, .navigation-links {
  margin-bottom: 28px;
  background: var(--color-neutral);
  border-radius:var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 24px 22px;
}
.contact-section ul {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.contact-section li {
  display: flex; align-items:center; gap:7px;
  font-size:1.07rem;
  color: var(--color-primary);
  margin-bottom: 2px;
}
.map-placeholder {
  display: flex;
  align-items:center;
  justify-content:center;
  min-height:96px;
  background: var(--color-shade-light);
  border-radius: var(--radius-sm);
  margin-top: 10px;
}

/* ===============================
   MOBILE NAVIGATION + BURGER MENU
   =============================== */
.mobile-menu-toggle {
  display: none;
  background: var(--color-accent);
  color: var(--color-neutral);
  font-size: 2rem;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  position: absolute;
  right: 20px;top:18px;
  align-items: center;
  justify-content: center;
  z-index: 3002;
  cursor: pointer;
  box-shadow: var(--shadow-btn);
  transition: background var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);
}
.mobile-menu-toggle:focus,
.mobile-menu-toggle:hover {
  background: #1FC3FF;
  color: var(--color-primary);
}
.mobile-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content:flex-start;
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  max-width: 370px;
  height: 100vh;
  background: var(--color-shade-dark);
  color: var(--color-neutral);
  box-shadow:-8px 0 24px #163E5B66;
  z-index: 3100;
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(.47,.12,.52,1);
  opacity: 1;
  visibility: visible;
  padding-top:22px;
}
.mobile-menu.active {
  transform: translateX(0);
  box-shadow:-4px 0 60px #1FC3FF66,0 0 100vw 100vw rgba(0,0,0,0.23);
  opacity: 1;
  visibility: visible;
  animation: slideInRight .37s cubic-bezier(.47,.12,.52,1);
}
@keyframes slideInRight {
  0% {transform: translateX(100%);}
  100% {transform: translateX(0);}
}
.mobile-menu-close {
  display: block;
  align-self:flex-end;
  margin: 8px 22px 0 0;
  background: transparent;
  color: #fff;
  font-size: 1.9rem;
  border: none;
  cursor: pointer;
  transition: color var(--transition-base);
}
.mobile-menu-close:hover {color: #1FC3FF;}
.mobile-nav {
  display: flex;
  flex-direction: column;
  width:100%;
  padding: 28px 36px 20px 26px;
  gap: 16px;
}
.mobile-nav a {
  font-family: var(--font-display);
  font-size: 1.17rem;
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-btn);
  padding: 11px 8px;
  transition: background var(--transition-base), color var(--transition-base);
  font-weight:700;
}
.mobile-nav a.button-primary {
  background:var(--color-accent);
  color:var(--color-neutral);
  font-size: 1.1rem;
  margin:8px 0 0 0;
  text-align:center;
}
.mobile-nav a:hover {
  background: var(--color-accent);
  color: var(--color-primary);
}
.mobile-menu {
  visibility: hidden;
  pointer-events: none;
}
.mobile-menu.active {
  visibility: visible;
  pointer-events: auto;
}

/* ====================
   COOKIE CONSENT BANNER
   ==================== */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom:0;
  background: var(--color-shade-light);
  color: var(--color-primary);
  box-shadow: 0 -4px 24px #163e5b0f;
  padding:20px 16px 18px 16px;
  z-index: 5000;
  display: flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  font-family: var(--font-body);
  font-size:1.02rem;
  border-top: 3px solid var(--color-accent);
  opacity: 1;
  animation: slideUpCookie .7s cubic-bezier(.45,.11,.51,1.25);
}
@keyframes slideUpCookie {
  0%{transform:translateY(100%);opacity:0;}
  100%{transform:translateY(0);opacity:1;}
}
.cookie-buttons {
  display: flex;
  gap: 12px;align-items:center;
}
.cookie-consent button {
  border-radius: var(--radius-btn);
  font-size: 1rem;
  font-weight: 700;
  padding: 10px 22px;
  min-width:110px;
  border: none;
  margin:0 2px;
  background: var(--color-accent);
  color: var(--color-neutral);
  box-shadow:0 2px 8px #1FC3FF24;
  transition: background var(--transition-base),color var(--transition-base);
}
.cookie-consent button.cookie-settings {
  background: var(--color-shade-dark);
  color: var(--color-neutral);
}
.cookie-consent button.reject {
  background: var(--color-primary);
  color:var(--color-neutral);
}
.cookie-consent button:hover, .cookie-consent button:focus {background: #1FC3FF; color: var(--color-primary);}

.cookie-modal {
  position: fixed;
  left: 0; top: 0;
  width: 100vw; height: 100vh;
  background:rgba(22,62,91,0.88);
  z-index:6000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity:0;visibility:hidden;
  transition: opacity .26s cubic-bezier(.45,.11,.51,1.25);
}
.cookie-modal.active{opacity:1;visibility:visible;}
.cookie-modal-content {
  background:var(--color-neutral);
  color:var(--color-primary);
  border-radius: var(--radius-card);
  box-shadow:0 4px 24px #163E5B30,0 1.5px 6px #163E5B11;
  padding:36px 32px 30px 32px;
  min-width:310px;
  max-width:96vw;
  display: flex;
  flex-direction:column;
  gap:24px;
}
.cookie-modal-content h3 {margin-top:0;margin-bottom:10px;font-size:1.16rem;}
.cookie-category {
  margin-bottom:9px;
  padding-bottom:9px;
  border-bottom:1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cookie-category label {font-weight:700;font-size:1.04rem;}
.cookie-category input[type=checkbox] {
  width:24px;height:24px;
  accent-color:var(--color-accent);
}
.cookie-modal-actions {
  display: flex;
  gap: 11px;
  justify-content:flex-end;
}
.cookie-modal-close {
  position:absolute;top:23px;right:28px;
  background:transparent;
  color:var(--color-primary);
  font-size: 1.7rem;
  border:none;
  cursor:pointer;
  transition:color var(--transition-base);
  z-index:55;
}
.cookie-modal-close:hover{color:var(--color-accent);}

/* =====================
   RESPONSIVE + MOBILE
   ===================== */
@media (max-width: 992px) {
  .container {max-width: 96vw;}
  nav {gap: 12px;}
  .content-wrapper, .section {padding: 20px 4vw;}
  .content-wrapper.hero{padding-top:18px;}
}
@media (max-width: 900px) {
  .features-grid,.law-firm-cards,.review-list,.card-grid {
    flex-direction:column;
    align-items:stretch;
  }
  .card,.law-firm-card,.testimonial-card{max-width:100%;}
}
@media (max-width: 768px) {
  html{font-size: 15px;}
  .section {margin-bottom:34px;padding:24px 8px;}
  .content-wrapper, .content-wrapper.hero, .content-wrapper.cta {
    padding:18px 0;
    border-radius:0;
    box-shadow:none;
    gap:12px;
  }
  .article-list li,
  .featured-advice,
  .law-firm-card,
  .card,
  .testimonial-card,
  .contact-section,
  .address-text,
  .thanks-message,
  .next-steps,
  .navigation-links {
    padding: 13px 6px;
    border-radius: var(--radius-sm);
  }
  .features-grid, .law-firm-cards, .review-list, .card-grid {
    flex-direction: column;
    gap: 16px;
  }
  nav, header .container, footer .container {
    flex-direction: row;
    gap: 8px;
  }
  .quick-links {flex-direction:column;gap:7px;}
}
@media (max-width: 650px) {
  html{font-size:14px;}
  h1{font-size:1.85rem;}
  h2{font-size:1.42rem;}
  h3{font-size:1.12rem;}
  .content-wrapper, .section{padding: 10px 2vw;}
  .testimonial-card, .law-firm-card,.card{padding:12px 6px;}
  footer .container {flex-direction:column;gap:18px;}
}
@media (max-width: 700px) {
  header .container{padding:8px 8px 2px 8px;}
  nav {display: none;}
  .mobile-menu-toggle {display: flex;}
  .mobile-menu {display: flex;}
  .mobile-menu-close, .mobile-nav {display: block;}
  .container {padding: 0 8px;}
}
@media (max-width:500px){
  .mobile-menu{max-width:100vw;}
  .cookie-modal-content{min-width:90vw;}
}

/* =================
   PRINT
   ================= */
@media print {
  header,footer,.cookie-consent,.mobile-menu {display: none!important;}
  .section {padding: 0;margin-bottom:18px;}
  * {box-shadow:none!important;background:transparent!important;}
}
