/* --- CSS Reset & Normalize --- */
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;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
 display:block;
}
body { line-height:1; }
ol,ul { list-style:none; }
a { text-decoration:none; color:inherit; }
img { border:0; max-width:100%; display:block; }
button,input,select,textarea { font:inherit; color:inherit; outline:none; border:none; background:none; }

/* --- Fonts --- */
@import url('https://fonts.googleapis.com/css?family=Montserrat:700,800|Roboto:400,500,700&display=swap');

:root {
 --color-primary: #212121;
 --color-secondary: #E84610;
 --color-accent: #F7F7F7;
 --color-yellow: #FFE163;
 --color-blue: #16A5E6;
 --color-pink: #FF6EC7;
 --color-card: #FFFFFF;
 --color-success: #01D899;
 --color-danger: #F93E5E;

 --font-display: 'Montserrat', Arial, sans-serif;
 --font-body: 'Roboto', Arial, sans-serif;
}

html {
 box-sizing: border-box;
}
*, *:before, *:after {
 box-sizing: inherit;
}

body {
 font-family: var(--font-body);
 background: var(--color-accent);
 color: var(--color-primary);
 font-size: 16px;
 line-height: 1.6;
 min-height: 100vh;
 letter-spacing: 0.02em;
}

a {
 color: var(--color-secondary);
 cursor: pointer;
 transition: color 0.2s;
 word-break: break-word;
}
a:hover, a:focus {
 color: var(--color-blue);
 text-decoration: underline;
}

h1, h2, h3, h4 {
 font-family: var(--font-display);
 font-weight: 800;
 text-shadow: 0 3px 8px rgba(232,70,16,0.03);
 letter-spacing: 0.015em;
}

h1 {
 font-size: 2.8rem;
 color: var(--color-secondary);
 margin-bottom: 24px;
 line-height: 1.05;
 word-break: break-word;
}
h2 {
 font-size: 2.1rem;
 color: var(--color-primary);
 margin-bottom: 18px;
}
h3 {
 font-size: 1.2rem;
 color: var(--color-blue);
 margin-bottom: 10px;
}
h4 {
 font-size: 1rem;
 color: var(--color-pink);
}

p, label, li, span {
 font-size: 1rem;
 font-family: var(--font-body);
}

strong {
 font-weight: 700;
}

.container {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 16px;
}

.content-wrapper {
 width: 100%;
 display: flex;
 flex-direction: column;
 gap: 16px;
}

.section {
 margin-bottom: 60px;
 padding: 40px 20px;
 background: none;
}
@media (max-width:768px){
 .section {
   padding: 28px 10px;
   margin-bottom: 40px;
 }
}

/* --- Header & Main Nav --- */
header {
 background: var(--color-card);
 box-shadow: 0 4px 14px rgba(232,70,16,0.05);
 position: sticky;
 top:0;
 z-index: 100;
}
header .container {
 display: flex;
 align-items: center;
 justify-content: space-between;
 min-height: 72px;
}
.logo img {
 height: 48px;
 transition: filter .2s;
 filter: drop-shadow(0 2px 3px rgba(22,165,230,0.05));
}
@media (max-width:480px){
 .logo img { height: 38px; }
}

.main-nav {
 display: flex;
 align-items: center;
 gap: 28px;
}
.main-nav a {
 font-family: var(--font-display);
 font-weight: 700;
 font-size: 1.1rem;
 color: var(--color-primary);
 padding: 6px 8px;
 border-radius: 8px;
 transition: background 0.2s, transform 0.15s;
}
.main-nav a:hover, .main-nav a:focus {
 background: var(--color-yellow);
 color: var(--color-secondary);
 transform: translateY(-2px) scale(1.08) rotate(-2deg);
}

.cta-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 font-family: var(--font-display);
 font-size: 1.1rem;
 padding: 11px 24px;
 background: var(--color-yellow);
 border-radius: 28px;
 font-weight: bold;
 color: var(--color-primary);
 box-shadow: 0 2px 16px rgba(232,70,16,0.10);
 transition: background 0.15s, color 0.15s, box-shadow 0.15s, transform 0.15s;
 margin-left:22px;
 cursor:pointer;
}
.cta-btn.primary {
 background: var(--color-secondary);
 color: #fff;
 border: 2px solid var(--color-secondary);
 box-shadow: 0 3px 24px rgba(232,70,16,0.20);
}
.cta-btn.primary:hover, .cta-btn.primary:focus {
 background: var(--color-yellow);
 color: var(--color-primary);
 border-color: var(--color-yellow);
 transform: translateY(-2px) scale(1.09) rotate(-1.7deg);
}
.cta-btn:hover, .cta-btn:focus {
 background: var(--color-blue);
 color: #fff;
 transform: scale(1.06) rotate(1deg);
 box-shadow: 0 6px 18px 0 rgba(22,165,230,0.07);
}

@media (max-width:1024px){
  .main-nav { gap: 16px; }
  .cta-btn { margin-left:8px; padding:11px 12px;}
}

.header .cta-btn, .header .main-nav a {
  font-size:1rem;
}

.mobile-menu-toggle {
 background: var(--color-secondary);
 color: #fff;
 font-size: 2rem;
 border-radius: 50%;
 width: 44px;
 height: 44px;
 display: none;
 align-items: center;
 justify-content: center;
 border: none;
 cursor: pointer;
 margin-left: 14px;
 transition: background .15s, color .2s;
 z-index:1111;
}
.mobile-menu-toggle:hover, .mobile-menu-toggle:focus {
 background: var(--color-blue);
 color: #fff;
}

/* --- Mobile Nav --- */
.mobile-menu {
 position: fixed;
 top:0; left:0; width:100vw; height:100vh;
 background: rgba(33,33,33,0.95);
 transform: translateX(-100%);
 transition: transform .35s cubic-bezier(0.94,-0.05,0.16,1.08);
 z-index: 1200;
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 padding: 32px 24px 0 24px;
}
.mobile-menu.active {
 transform: translateX(0);
}
.mobile-menu-close {
 position: absolute;
 top: 22px;
 right: 24px;
 background: var(--color-yellow);
 color: var(--color-primary);
 border-radius: 50%;
 width: 40px;
 height: 40px;
 font-size: 1.6rem;
 display: flex;
 align-items: center;
 justify-content: center;
 border: none;
 cursor: pointer;
 z-index: 1222;
 box-shadow: 0 2px 14px rgba(255,225,99,0.12);
 transition: background 0.12s;
}
.mobile-menu-close:hover, .mobile-menu-close:focus {
 background: var(--color-pink);
 color: #fff;
}
.mobile-nav {
 display: flex;
 flex-direction: column;
 gap: 24px;
 width: 100%;
 margin-top: 60px;
}
.mobile-nav a {
 color: #fff;
 font-family: var(--font-display);
 font-size: 1.3rem;
 padding: 17px 0 7px 4px;
 border-radius: 10px 8px 28px 4px;
 border-left: 7px solid var(--color-secondary);
 transition: background .18s, color .18s, border-color .14s;
}
.mobile-nav a:hover, .mobile-nav a:focus {
 background: var(--color-blue);
 color: var(--color-yellow);
 border-left-color: var(--color-yellow);
 transform: translateX(4px) scale(1.07) rotate(-2deg);
}

@media (max-width:991px){
  .main-nav,.cta-btn { display: none; }
  .mobile-menu-toggle { display: flex; }
}
@media (min-width:992px){
  .mobile-menu{ display: none !important; }
  .mobile-menu-toggle { display: none !important; }
}

/* --- Section Spacing & Containers --- */
.section,.hero,.features,.services,.about-preview,.catalog-intro,.catalog-benefits,.services-main,.services-features,.cta-booking,.cta-services,.about-story,.about-values,.testimonials,.news,.novita-benefits,.contact-info,.visit-store,.privacy-policy,.cookie-policy,.gdpr,.terms-of-use,.thank-you-section {
 margin-bottom: 60px;
 padding: 40px 20px;
 background: none;
}
@media (max-width:768px){
 .section,.hero,.features,.services,.about-preview,.catalog-intro,.catalog-benefits,.services-main,.services-features,.cta-booking,.cta-services,.about-story,.about-values,.testimonials,.news,.novita-benefits,.contact-info,.visit-store,.privacy-policy,.cookie-policy,.gdpr,.terms-of-use,.thank-you-section {
   margin-bottom: 32px;
   padding: 24px 6px;
 }
}

.card-container {
 display: flex;
 flex-wrap: wrap;
 gap: 24px;
}
.card {
 margin-bottom: 20px;
 background: var(--color-card);
 border-radius: 22px;
 box-shadow: 0 3px 16px rgba(22,165,230,0.10);
 padding: 24px 24px 18px 24px;
 position: relative;
 min-width: 270px;
 transition: box-shadow .23s, transform .14s;
}
.card:hover, .card:focus-within {
 box-shadow: 0 10px 30px rgba(232,70,16,0.20);
 transform: scale(1.04) rotate(-1deg);
}

.content-grid {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 justify-content: space-between;
 align-items: stretch;
 width: 100%;
}

.text-image-section {
 display: flex;
 align-items: center;
 gap: 30px;
 flex-wrap: wrap;
}
@media (max-width:768px){
 .text-image-section {
   flex-direction: column;
   align-items: flex-start;
 }
}

.testimonial-card {
 display: flex;
 align-items: center;
 gap: 20px;
 padding: 20px;
 background: #fff;
 border-radius: 18px;
 box-shadow: 0 1px 16px rgba(22,165,230,0.09);
 margin-bottom: 22px;
 min-width: 230px;
 max-width: 510px;
 border-left: 12px solid var(--color-blue);
 position: relative;
 transition: background 0.2s, box-shadow 0.15s;
}
.testimonial-card:hover, .testimonial-card:focus-within {
 background: var(--color-yellow);
 box-shadow: 0 4px 32px rgba(22,165,230,0.12);
}

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

/* -- Feature Grid, News and Services Lists -- */
.feature-grid, .benefit-grid, .news-list, .services-list {
 display: flex;
 flex-wrap: wrap;
 gap: 24px;
 justify-content: flex-start;
 align-items: stretch;
}
.feature-grid li,.benefit-grid li, .news-list li, .services-list li {
 background: #fff;
 border-radius: 20px;
 box-shadow: 0 3px 12px rgba(22,165,230,0.10);
 padding: 32px 23px 25px;
 margin-bottom: 20px;
 min-width: 250px;
 max-width: 340px;
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 14px;
 position: relative;
 transition: box-shadow .18s, transform .12s;
}
.feature-grid li:hover, .benefit-grid li:hover, .news-list li:hover, .services-list li:hover {
 box-shadow: 0 6px 28px rgba(232,70,16,0.12);
 transform: translateY(-6px) scale(1.03) rotate(-1deg);
}
.feature-grid img,.benefit-grid img {
 width: 45px; height: 45px; display: block; margin-bottom: 8px;
 filter: drop-shadow(0 2px 4px rgba(232,70,16,.04)) drop-shadow(0 0 7px #F7F7F7);
}
.news-list li h3, .services-list li h3{
 color: var(--color-primary);
}
.services-list span{
 background: var(--color-yellow);
 border-radius: 10px;
 color: var(--color-secondary);
 font-weight: bold;
 font-size: .97em;
 padding:2px 12px 2px 9px;
 margin-left: 10px;
}
@media (max-width: 768px) {
 .feature-grid, .benefit-grid, .news-list, .services-list {
   gap: 13px;
 }
 .feature-grid li,.benefit-grid li, .news-list li, .services-list li {
   min-width: unset;
   max-width: unset;
   width: 100%;
   padding: 18px 10px 7px;
 }
}

.announcement-banner{
 background: var(--color-yellow);
 color: var(--color-secondary);
 font-family: var(--font-display);
 font-size: 1.16rem;
 padding: 9px 18px;
 border-radius: 30px 11px 16px 8px;
 margin-bottom:22px;
 box-shadow: 0 3px 22px rgba(255,225,99,0.11);
 display: flex; align-items:center; gap:8px;
 animation: pop-bounce .95s cubic-bezier(.3,1.65,.8,1.01);
}

@keyframes pop-bounce {
 0% {transform: scale(.8) translateY(-18px); opacity: 0;}
 60%{transform: scale(1.11) translateY(3px); opacity: 1;}
 100%{transform: scale(1);}
}

.newsletter-signup {
 background: var(--color-yellow);
 color: var(--color-primary);
 border-radius: 21px 6px 31px 6px;
 padding: 21px 18px 15px 32px;
 margin-top: 25px;
 box-shadow: 0 1px 14px rgba(232,70,16,0.07);
}

/* About values icons */
.about-values ul, .about-preview ul, .about-story ul {
 display: flex;
 flex-wrap: wrap;
 gap: 16px;
 margin-top: 12px;
}
.about-values li, .about-preview li, .about-story li {
 display: flex; align-items: center; gap: 10px;
 background: var(--color-blue);
 color: #fff;
 border-radius: 13px 7px 23px 5px;
 padding: 10px 16px;
 font-size:1.04em;
 font-weight: 500;
 box-shadow: 0 1px 10px rgba(22,165,230,.08);
 user-select: none;
}
.about-values li img {
 width:27px; height:27px;
 margin-right:3px; filter: drop-shadow(0 4px 13px #fff7);
}

/* --- Hero --- */
.hero {
 background: linear-gradient(98deg, var(--color-yellow) 61%, var(--color-blue) 100%);
 border-radius: 0 0 40px 0;
 box-shadow: 0 8px 38px 0 rgba(255,225,99,0.14);
 margin-bottom: 40px;
}
.hero .container{
 display: flex;
 flex-direction: column;
 align-items: flex-start;
}
.hero .content-wrapper{
 margin-top: 22px;
 gap: 26px;
}
.hero h1{
 color: var(--color-primary);
 text-shadow: 0 4px 18px rgba(232,70,16,0.08);
 font-size: 2.9rem;
}
.hero p{
 font-size: 1.24rem;
 margin-bottom: 14px;
}
.hero .cta-btn {
 font-size: 1.15rem;
 margin-top: 10px;
}

@media (max-width: 700px) {
 .hero h1{ font-size:2.05rem; }
 .hero .content-wrapper{ gap:18px; }
}

/* --- Footer --- */
footer {
 width: 100%;
 background: var(--color-primary);
 padding: 0 0 0 0;
 color: #fff;
 font-size: .98rem;
 position: relative;
}
footer .container {
 display: flex;
 flex-direction: row;
 align-items: center;
 justify-content: space-between;
 gap: 22px;
 flex-wrap: wrap;
 padding: 28px 18px 19px 18px;
}
.footer-branding {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 9px;
}
.footer-branding img {
 height: 38px; width:auto;
 filter: drop-shadow(0 2px 7px #E8461040);
 margin-bottom: 5px;
}
.footer-branding p {
 color: #fff;
 margin-top: 0px;
}
.footer-nav {
 display: flex;
 flex-direction: row;
 gap: 22px;
}
.footer-nav a {
 color: var(--color-yellow);
 font-family: var(--font-display);
 font-size: .99em;
 font-weight: 600;
 opacity: .87;
 transition: color .14s, opacity .12s;
}
.footer-nav a:hover, .footer-nav a:focus {
 color: var(--color-blue);
 opacity: 1;
 text-decoration: underline;
}
@media (max-width:600px){
  footer .container {
     flex-direction: column;
     align-items:flex-start;
     gap:17px;
  }
  .footer-nav{ flex-direction: column; gap:8px; }
}

/* --- Utility Classes --- */
.text-center { text-align: center; }
.text-right  { text-align: right; }
.bold { font-weight: 700; }
.bg-accent { background: var(--color-accent)!important; }
.mt-32 { margin-top:32px; }
.mt-16 { margin-top:16px; }

/* --- About/testimonial section --- */
.testimonials .testimonial-list {
 display: flex;
 flex-wrap: wrap;
 gap: 24px;
 margin-top: 18px;
 align-items: stretch;
}
.testimonial-card p {
 color: var(--color-primary);
 font-size: 1.07rem;
 font-weight: 500;
}
.testimonial-card span {
 color: var(--color-secondary);
 font-size: .97rem;
 font-weight: 700;
 margin-left: 12px;
}
@media(max-width:700px){
 .testimonials .testimonial-list {
   flex-direction: column;
   gap: 14px;
 }
 .testimonial-card {max-width:100vw;}
}

/* --- Forms & Filters --- */
.catalog-filters {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 14px 20px;
 margin-top: 14px;
}
.catalog-filters label {
 font-family: var(--font-display);
 font-size: 1.02rem;
 color: var(--color-primary);
 font-weight: 600;
 margin-right: 5px;
}
.catalog-filters input {
 border: 2px solid var(--color-yellow);
 border-radius: 13px;
 padding: 7px 18px 8px 12px;
 font-size: 1rem;
 background: #fff;
 min-width: 170px;
 transition: border .18s;
}
.catalog-filters input:focus {
 border: 2px solid var(--color-secondary);
 background: #fbeaea;
}
.catalog-filters select {
 border: 2px solid var(--color-blue);
 border-radius: 9px;
 background: #fff;
 color: var(--color-primary);
 font-size: 1rem;
 padding: 6px 16px 6px 10px;
 transition: border .16s;
}
.catalog-filters select:focus {
 border: 2px solid var(--color-yellow);
}

/* --- Additional Themed Animations/Microinteractions --- */
.cta-btn, .main-nav a, .feature-grid li, .card, .testimonial-card, .mobile-nav a {
 transition: box-shadow .16s, transform .13s, background .17s, color .14s;
}
.cta-btn:active {
 transform: scale(.97) rotate(-1deg);
}
.card:active,.feature-grid li:active,.testimonial-card:active,.mobile-nav a:active {
 transform: scale(.97) rotate(1deg);
}
@media (hover: none) and (pointer: coarse) {
 .card:hover, .feature-grid li:hover, .main-nav a:hover, .cta-btn:hover { transform: none;}
}

/* --- Cookie Consent Banner & Modal --- */
.cookie-banner {
 position: fixed;
 bottom: 0; left: 0; width: 100vw;
 background: var(--color-yellow);
 color: var(--color-primary);
 font-family: var(--font-display);
 padding: 20px 12px 16px 18px;
 z-index: 4000;
 display: flex;
 align-items: center;
 justify-content: space-between;
 box-shadow: 0 -2px 20px rgba(22,165,230,.11);
 gap: 18px;
 animation: cookie-banner-up .6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes cookie-banner-up {
 0%{transform:translateY(120%); opacity:0;}
 100%{transform:translateY(0); opacity:1;}
}
.cookie-banner-message {
 flex: 1 1 60%;
 font-size: 1.08rem;
}
.cookie-banner-actions {
 display: flex;
 flex-direction: row;
 gap: 14px;
}
.cookie-banner .cookie-btn {
 padding: 10px 20px;
 font-family: var(--font-display);
 border-radius: 24px;
 border: none;
 font-weight: 700;
 cursor: pointer;
 font-size: 1.07rem;
 transition: background .16s, color .13s;
}
.cookie-btn.accept {
 background: var(--color-success);
 color: #fff;
}
.cookie-btn.accept:hover,.cookie-btn.accept:focus {
 background: var(--color-secondary);
 color: #fff;
}
.cookie-btn.reject {
 background: var(--color-danger);
 color: #fff;
}
.cookie-btn.reject:hover,.cookie-btn.reject:focus {
 background: var(--color-primary);
 color: #fff;
}
.cookie-btn.settings {
 background: var(--color-blue);
 color: #fff;
}
.cookie-btn.settings:hover,.cookie-btn.settings:focus{
 background: var(--color-yellow);
 color: var(--color-primary);
}
@media(max-width:640px){
 .cookie-banner {flex-direction:column; align-items:flex-start; gap:12px;}
 .cookie-banner-actions {flex-direction:column;gap:7px;}
}

.cookie-modal-backdrop {
 position: fixed;
 top:0; left:0; width:100vw; height:100vh;
 background: rgba(33,33,33,0.61);
 z-index: 4001;
 display: none;
 align-items: center;
 justify-content: center;
}
.cookie-modal-backdrop.active { display: flex;}

.cookie-modal {
 background: #fff;
 color: var(--color-primary);
 border-radius: 24px;
 min-width: 320px;
 max-width: 97vw;
 padding: 34px 28px 28px 28px;
 box-shadow: 0 8px 44px rgba(22,165,230,0.24);
 z-index: 4100;
 position: relative;
 display: flex;
 flex-direction: column;
 animation: settings-modal-pop .5s cubic-bezier(.24,1.54,.79,1.01);
}
@keyframes settings-modal-pop {
 0% {transform: scale(.83); opacity:0;}
 50%{transform: scale(1.05); opacity:1;}
 100%{transform: scale(1);}
}
.cookie-modal h2 {
 color: var(--color-secondary);
 font-size: 1.45rem;
 margin-bottom: 14px;
}
.cookie-modal .cookie-preferences-list {
 display: flex;
 flex-direction: column;
 gap: 13px;
 margin-bottom: 19px;
}
.cookie-modal .cookie-category {
 display: flex;
 align-items: center;
 gap: 12px;
 background: var(--color-accent);
 border-radius: 13px;
 padding: 10px 9px 9px 16px;
}
.cookie-category input[type=checkbox]:not(:disabled) {
 accent-color: var(--color-blue);
 width:19px;
 height:19px;
 }
.cookie-category input[type=checkbox]:disabled {
 accent-color: var(--color-blue);
 opacity: .4;
 }
.cookie-category label {
 font-family: var(--font-display);
 font-weight: 700;
 font-size: 1.05rem;
}
.cookie-modal-actions {
 display: flex;
 gap: 18px;
 margin-top: 14px;
 justify-content: flex-end;
 flex-wrap: wrap;
}
.cookie-modal-close {
 position: absolute;
 top: 12px;
 right: 16px;
 background: var(--color-danger);
 color: #fff;
 border-radius: 50%;
 width: 34px;
 height: 34px;
 font-size: 1.2rem;
 display: flex;
 align-items: center;
 justify-content: center;
 border: none;
 cursor: pointer;
 transition: background .14s;
 z-index: 4120;
}
.cookie-modal-close:hover {
 background: var(--color-secondary);
 color: #fff;
}
@media(max-width:480px){
 .cookie-modal{min-width:unset; padding: 18px 8px 15px 10px; }
}

/* --- Misc: Thank You, Confirmation etc --- */
.confirmation-message {
 background: var(--color-yellow);
 color: #2B2B2B;
 border-radius: 14px 5px 30px 5px;
 padding: 17px 12px 17px 22px;
 box-shadow: 0 2px 14px rgba(232,70,16,0.07);
 margin-bottom: 19px;
}

/* --- CTA Booking/Services Section --- */
.cta-booking, .cta-services {
 background: var(--color-blue);
 border-radius: 35px 16px 33px 27px;
 color: #fff;
 box-shadow: 0 3px 28px rgba(22,165,230,0.10);
}
.cta-booking h2, .cta-services h2 { color: #fff; }
.cta-booking p, .cta-services p { color: #fff;}
.cta-booking .cta-btn,.cta-services .cta-btn {
 margin-top:15px;
 background: var(--color-yellow);
 color: var(--color-primary);
 border: 2px solid var(--color-yellow);
}
.cta-booking .cta-btn:hover,.cta-booking .cta-btn:focus,
.cta-services .cta-btn:hover,.cta-services .cta-btn:focus {
 background: var(--color-primary);
 color: #fff;
 border: 2px solid var(--color-primary);
}

.availability-info{
 font-size:.99rem;
 margin-top:8px;
 color: var(--color-success);
 font-weight: bold;
}

/* --- Cards & Responsive adjust --- */
@media (max-width: 600px) {
 .card-container,.content-grid,.feature-grid,.benefit-grid,.testimonial-list {
   flex-direction: column;
   gap: 14px;
 }
 .card{min-width:unset;}
 .feature-grid li,.benefit-grid li{min-width:unset; max-width:unset; width:100%;}
}

/* -- Contact/Visit Store Section -- */
.text-section {
 display: flex;
 align-items: center;
 gap: 18px;
 flex-wrap: wrap;
 background: var(--color-accent);
 border-radius: 13px 7px 23px 5px;
 padding: 13px 22px;
 box-shadow: 0 1px 10px rgba(22,165,230,.08);
 margin-top:10px;
}
.text-section img{
 width:32px; height:32px; filter: drop-shadow(0 4px 13px #fff7);
}
@media (max-width: 600px){
 .text-section{ flex-direction:column; align-items:flex-start; padding:9px 10px;}
}

/* --- Misc: Accessibility --- */
:focus-visible {
 outline: 2px solid var(--color-blue);
 outline-offset: 2px;
}

::-webkit-input-placeholder { color: #BBBBBB; }
::-moz-placeholder { color: #BBBBBB; }
:-ms-input-placeholder { color: #BBBBBB; }
::placeholder { color: #BBBBBB; }

/* Standard z-index layering */
header {z-index: 1001;}
.mobile-menu {z-index: 1200;}
.cookie-banner {z-index: 4000;}
.cookie-modal-backdrop {z-index: 4001;}

/* --- End --- */
