.cc-banner{z-index:10000;background:#fff;border-top:1px solid #e5e7eb;max-height:90vh;transition:transform .4s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 30px #0000001a}.cc-banner.cc-visible{transform:translateY(0)}.cc-inner{max-width:900px;margin:0 auto;padding:28px 24px}.cc-title{color:#111827;margin-bottom:10px;font-family:inherit;font-size:1.15rem;font-weight:800}.cc-text{color:#4b5563;margin-bottom:8px;font-size:.9rem;line-height:1.65}.cc-link{margin-bottom:18px}.cc-link a{color:var(--primary);font-size:.85rem;font-weight:500;text-decoration:underline}.cc-link a:hover{color:var(--primary-dark)}.cc-buttons{flex-wrap:wrap;gap:10px;display:flex}.cc-btn{cursor:pointer;border:none;border-radius:6px;padding:11px 24px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s}.cc-btn-accept{background:var(--primary);color:#fff}.cc-btn-accept:hover{background:var(--primary-dark);color:#fff}.cc-btn-reject{color:var(--primary);border:1px solid var(--primary);background:0 0}.cc-btn-reject:hover{color:var(--primary);border-color:var(--primary);background:#0000000a}.cc-btn-details{color:#6b7280;background:0 0;padding:11px 12px;text-decoration:underline}.cc-btn-details:hover{color:#111827}.cc-details{max-height:0;transition:max-height .4s;overflow:hidden}.cc-details.cc-detail-open{border-top:1px solid #e5e7eb;max-height:600px;margin-top:20px;padding-top:20px}.cc-category{border-bottom:1px solid #f3f4f6;padding:12px 0}.cc-category:last-of-type{border-bottom:none}.cc-cat-label{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.cc-cat-info{flex-direction:column;flex:1;gap:3px;display:flex}.cc-cat-info strong{color:#111827;font-size:.92rem;font-weight:600}.cc-cat-info span{color:#6b7280;font-size:.82rem;line-height:1.5}.cc-detail-buttons{gap:10px;margin-top:18px;display:flex}.cc-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.cc-toggle input{opacity:0;width:0;height:0}.cc-slider{cursor:pointer;background:#d1d5db;border-radius:24px;transition:background .3s;position:absolute;inset:0}.cc-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.cc-toggle input:checked+.cc-slider{background:var(--primary)}.cc-toggle input:checked+.cc-slider:before{transform:translate(20px)}.cc-toggle-disabled .cc-slider{cursor:not-allowed;opacity:.7;background:#e5e7eb}.cc-toggle-disabled input:checked+.cc-slider{background:#e5e7eb}.cc-reopener{z-index:9999;color:#374151;cursor:pointer;opacity:0;background:#fff;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:fixed;bottom:20px;left:20px;transform:scale(0);box-shadow:0 4px 12px #0000001a}.cc-reopener.cc-visible{opacity:1;transform:scale(1)}.cc-reopener:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.08)}.cc-reopener.cc-visible:hover{transform:scale(1.08)}@media (max-width:768px){.cc-inner{padding:20px 16px}.cc-buttons,.cc-detail-buttons{flex-direction:column}.cc-btn{text-align:center;width:100%}.cc-btn-details{text-align:left;padding:8px 0}.cc-reopener{width:38px;height:38px;bottom:14px;left:14px}.cc-reopener svg{width:17px;height:17px}}@media (max-width:767px){.cc-banner.cc-visible{padding-bottom:78px}}
:root{--primary:#00882e;--primary-dark:#006822;--accent:#00882e;--accent-dark:#006822;--accent-2:#112337;--accent-2-dark:#0a1626;--text:#1a1a1a;--text-muted:#666;--bg-white:#fff;--bg-warm:#f4f1ea;--bg-light:#fafafa;--border-soft:#e5e0d4;--font-heading:"Bitter", Georgia, "Times New Roman", serif;--font-body:"Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--container:1200px;--shadow-soft:0 4px 16px #0000000f;--shadow-card:0 10px 28px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);color:var(--text);background:var(--bg-white);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--primary);font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}h4{font-size:1.1rem}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-dark);text-decoration:none}p{margin-bottom:1em}:focus{outline:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-to-content{background:var(--primary);color:#fff;z-index:9999;padding:8px 16px;transition:top .2s;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}img{border-radius:var(--radius-md);border:1px solid var(--border-soft);max-width:100%;height:auto;box-shadow:var(--shadow-soft);display:block}.img-plain{box-shadow:none;border:0;border-radius:0}.container{max-width:var(--container);margin:0 auto;padding:0 20px}.nav{z-index:1000;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border-bottom:1px solid #0000;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,box-shadow .35s,border-color .35s;position:fixed;top:0;left:0;right:0}.nav.nav-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft);background:#fffffff7;box-shadow:0 2px 16px #00000014}.nav .nav-logo-img{filter:none;transition:filter .25s}.nav .nav-logo-img-cssfilter{filter:none}.nav.nav-scrolled .nav-logo-img-cssfilter{filter:none}.nav .nav-links a,.nav .nav-dropdown-trigger{color:#fff;text-shadow:0 1px 4px #00000059;transition:color .25s,text-shadow .25s}.nav.nav-scrolled .nav-links a,.nav.nav-scrolled .nav-dropdown-trigger{color:var(--text);text-shadow:none}.nav .nav-hamburger span{background:#fff;transition:background .25s,box-shadow .25s;box-shadow:0 1px 4px #0006}.nav.nav-scrolled .nav-hamburger span{background:var(--text);box-shadow:none}.nav .nav-cta{background:var(--accent-2);color:#fff;border-radius:var(--radius-pill);border:2px solid var(--accent-2);padding:12px 22px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.nav .nav-cta:hover{background:var(--accent-2-dark);border-color:var(--accent-2-dark);transform:translateY(-1px)}.nav-container{padding:calc(18px + env(safe-area-inset-top,0px)) 20px 18px;max-width:var(--container);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}.nav-logo{align-items:center;text-decoration:none;display:flex}.nav-logo img{width:auto;height:52px}.nav-links{align-items:center;gap:24px;list-style:none;display:none}.nav-links a{color:var(--text);font-size:.95rem;font-weight:600;text-decoration:none}.nav-links a:hover{color:var(--accent)}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:var(--text);font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}.nav-dropdown-menu{border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);background:#fff;min-width:260px;padding:8px 0;list-style:none;display:none;position:absolute;top:100%;left:0}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown-menu.open{display:block}.nav-dropdown-menu a{padding:10px 20px;font-weight:600;transition:background .2s,color .2s;display:block;color:var(--accent)!important;text-shadow:none!important}.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active{background:var(--bg-light);color:var(--accent-dark)!important}.nav-dropdown-menu a.active{box-shadow:inset 3px 0 0 var(--accent)}.nav-cta{background:var(--accent);color:#fff;border-radius:var(--radius-pill);white-space:nowrap;padding:10px 20px;font-size:.95rem;font-weight:700;text-decoration:none;display:none}.nav-cta:hover{background:var(--accent-dark);color:#fff;text-decoration:none}.nav-hamburger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:flex}.nav-hamburger span{background:var(--primary);border-radius:2px;width:24px;height:3px;display:block}@media (min-width:1024px){.nav-links{display:flex}.nav-cta{display:inline-block}.nav-hamburger{display:none}}.mobile-drawer{z-index:1001;border-bottom-left-radius:var(--radius-md);background:#fff;width:85%;max-width:360px;height:auto;max-height:100vh;padding:80px 30px 30px;transition:right .3s;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-4px 0 20px #00000026}.mobile-drawer.open{right:0}.mobile-drawer a,.mobile-drawer button{border-bottom:1px solid var(--border-soft);color:var(--text);text-align:left;width:100%;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;justify-content:space-between;align-items:center;padding:12px 0;font-size:1rem;text-decoration:none;display:flex}.mobile-drawer button .drawer-icon{color:var(--primary);font-size:1.3rem;font-weight:400;line-height:1}.mobile-drawer .drawer-sublinks{padding-left:16px;display:none}.mobile-drawer .drawer-sublinks.open{display:block}.mobile-drawer-overlay{z-index:1000;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.mobile-drawer-overlay.open{opacity:1;pointer-events:auto}.hero-section{min-height:100vh;padding:calc(150px + env(safe-area-inset-top,0px)) 0 60px;color:#fff;background:#000;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg-image,.hero-bg-video{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-image img,.hero-bg-video video{object-fit:cover;opacity:.45;width:100%;height:100%;box-shadow:none;border:0;border-radius:0;display:block}.hero-bg-image:after,.hero-bg-video:after{content:"";pointer-events:none;background:#00000073;position:absolute;inset:0}.hero-container{z-index:1;width:100%;max-width:var(--container);grid-template-columns:1fr;align-items:center;gap:40px;margin:0 auto;padding:0 20px;display:grid;position:relative}.hero-trustpilot{align-items:center;gap:10px;margin-bottom:14px;display:flex}.hero-trustpilot-label{color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px #00000059;font-size:.85rem;font-weight:700}.hero-section.hero-centered .hero-container{text-align:center;grid-template-columns:1fr;justify-items:center;max-width:860px}.hero-section.hero-centered .hero-content{flex-direction:column;align-items:center;gap:0;display:flex}.hero-section.hero-centered .hero-trustpilot,.hero-section.hero-centered .hero-badges,.hero-section.hero-centered .cta-buttons{justify-content:center}.hero-section.hero-centered .hero-text{max-width:720px}.hero-section-label{color:#fff;opacity:.85;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 4px #00000059;margin-bottom:12px;font-size:.85rem;font-weight:700}.hero-content h1{color:#fff;margin-bottom:20px}.hero-text{color:#ffffffeb;margin-bottom:24px;font-size:1.1rem}.hero-badges{flex-direction:column;gap:8px;margin-bottom:28px;display:flex}@media (min-width:1024px){.hero-badges{flex-flow:wrap;gap:10px}}.badge{color:#fff;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.badge .check{width:20px;height:20px;color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:900;display:inline-flex}.cta-buttons{flex-wrap:wrap;gap:12px;display:flex}@media (max-width:1023px){.hero-container .contact-card{display:none}}.hero-mobile-avatar{justify-content:flex-start;margin-bottom:18px;display:flex}.hero-mobile-avatar .avatar-wrapper{justify-content:flex-start;margin:0}.hero-mobile-avatar .avatar-circle{border:3px solid #ffffffd9;width:80px;height:80px;box-shadow:0 4px 16px #0000004d}@media (min-width:1024px){.hero-mobile-avatar{display:none}.hero-container{grid-template-columns:1fr 420px;gap:60px}.hero-section{padding:140px 0 80px}}.btn-primary,.btn-secondary{border-radius:var(--radius-pill);text-align:center;cursor:pointer;font-size:.95rem;font-weight:700;font-family:var(--font-body);white-space:nowrap;border:2px solid #0000;padding:14px 30px;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-secondary{color:currentColor;background:0 0;border-color:currentColor}.btn-secondary:hover{background:#ffffff1a;text-decoration:none}.hero-section .btn-primary,.faq-section .btn-primary{color:var(--primary-dark);background:#fff;border:2px solid #fff}.hero-section .btn-primary:hover,.faq-section .btn-primary:hover{color:var(--primary-dark);background:#ffffffe6;border-color:#ffffffe6;transform:translateY(-1px)}.hero-section .btn-secondary,.faq-section .btn-secondary{background:var(--accent-2);color:#fff;border:2px solid var(--accent-2)}.hero-section .btn-secondary:hover,.faq-section .btn-secondary:hover{background:var(--accent-2-dark);border-color:var(--accent-2-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #1123374d}.text-break .btn-secondary,.seo-ctas .btn-secondary,.services-section .btn-secondary,.section-ctas .btn-secondary,.before-after-section .btn-secondary,.contact-bottom .btn-secondary{background:var(--accent-2);color:#fff;border:2px solid var(--accent-2)}.text-break .btn-secondary:hover,.seo-ctas .btn-secondary:hover,.services-section .btn-secondary:hover,.section-ctas .btn-secondary:hover,.before-after-section .btn-secondary:hover,.contact-bottom .btn-secondary:hover{background:var(--accent-2-dark);border-color:var(--accent-2-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #11233740}.mobile-cta a.secondary{color:var(--accent-2);border-color:var(--accent-2)}.mobile-cta a.secondary:hover{background:#11233714}.avatar-wrapper{flex-shrink:0}.avatar-circle{background:#fff;border:4px solid #ffffffe6;border-radius:50%;width:100px;height:100px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.avatar-circle img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.avatar-circle.avatar-logo img{object-fit:contain;padding:6px}.contact-card{background:var(--accent);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px 36px 36px;position:relative}.contact-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.contact-card-header-text{flex:1}.contact-card h2,.contact-card h3{color:#fff;margin-bottom:4px;font-size:1.35rem;line-height:1.3}.contact-card-subtitle{opacity:.85;margin-bottom:0;font-size:.88rem}.form-row{grid-template-columns:1fr;gap:10px;margin-bottom:10px;display:grid}@media (min-width:480px){.form-row-2{grid-template-columns:1fr 1fr}}.form-input,.form-textarea{border-radius:var(--radius-sm);width:100%;font-size:.95rem;font-family:var(--font-body);color:var(--text);background:#fffffff2;border:0;padding:12px 16px}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-honeypot{opacity:0;pointer-events:none;position:absolute;left:-9999px}.form-check{align-items:center;gap:8px;margin:12px 0;font-size:.9rem;display:flex}.form-submit{width:100%;color:var(--accent);border-radius:var(--radius-pill);cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-body);background:#fff;border:0;padding:14px;transition:transform .2s}.form-submit:hover{transform:translateY(-1px)}.form-gdpr{opacity:.85;text-align:center;margin-top:10px;font-size:.78rem}.form-gdpr a{color:#fff;text-decoration:underline}.form-success{text-align:center;padding:40px 20px}.form-success .success-icon{margin-bottom:12px;font-size:3rem}.services-section{background:var(--bg-light);padding:80px 0}.section-header{text-align:center;margin-bottom:40px}.section-header h2{margin-bottom:10px}.section-header p{color:var(--text-muted);font-size:1.05rem}.carousel-wrapper{position:relative}.carousel-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:20px;padding:20px 0 30px;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track .service-card{scroll-snap-align:start;background:var(--primary-dark);color:#fff;border-radius:16px;flex:0 0 calc(66.66% - 10px);min-width:0;min-height:380px;padding:0;text-decoration:none;transition:transform .3s,box-shadow .3s;display:block;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000026}.carousel-track .service-card:hover{color:#fff;text-decoration:none;transform:translateY(-4px);box-shadow:0 14px 36px #00000040}.service-card-bg{z-index:0;background-position:50%;background-size:cover;border-radius:16px;transition:transform .5s;position:absolute;inset:0}.carousel-track .service-card:hover .service-card-bg{transform:scale(1.08)}.service-card-overlay{z-index:1;background:linear-gradient(#0000000d 0%,#0000008c 50%,#000000eb 100%);border-radius:16px;flex-direction:column;justify-content:flex-end;height:100%;min-height:380px;padding:24px;display:flex;position:relative}.service-card-overlay .service-icon{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:1.3rem;display:flex}.carousel-track .service-card h3{color:#fff;font-size:1.5rem;font-family:var(--font-heading);margin-bottom:10px;font-weight:900}.carousel-track .service-card p{color:#ffffffe0;margin-bottom:18px;font-size:.95rem;line-height:1.5}.carousel-track .service-card .card-link{color:#fff;font-size:1.25rem;font-weight:700;font-family:var(--font-heading);align-items:center;gap:10px;transition:gap .3s,color .3s;display:inline-flex}.carousel-track .service-card:hover .card-link{color:var(--accent);gap:16px}.carousel-track .service-card .card-link i{font-size:1rem}@media (min-width:768px){.carousel-track .service-card{flex:0 0 calc(50% - 10px)}}@media (min-width:1024px){.carousel-track .service-card{flex:0 0 calc(25% - 15px);min-height:360px}.service-card-overlay{min-height:360px}}.carousel-nav{border:1px solid var(--border-soft);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-soft);z-index:2;color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:none;position:absolute;top:40%;transform:translateY(-50%)}.carousel-nav:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.carousel-nav-prev{left:-10px}.carousel-nav-next{right:-10px}.carousel-nav:disabled{opacity:.3;cursor:not-allowed}@media (min-width:768px){.carousel-nav{display:flex}}.text-break{text-align:center;background:#fff;padding:70px 20px}.section-label{text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:10px;font-size:.85rem;font-weight:700}.text-break h2{margin-bottom:14px}.text-break p{max-width:600px;color:var(--text-muted);margin:0 auto 24px}.pricing-list{text-align:left;background:var(--bg-warm);border:1px solid var(--border-soft);border-radius:var(--radius-lg);max-width:640px;margin:0 auto 32px;padding:28px 32px}.pricing-list-title{text-align:center;color:var(--accent-2);margin:0 0 18px;font-size:1.15rem;font-weight:700}.pricing-list-items{margin:0}.pricing-list-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.pricing-list-row:last-child{border-bottom:none}.pricing-list-row dt{color:var(--text);font-weight:600}.pricing-list-row dd{white-space:nowrap;color:var(--accent);margin:0;font-weight:700}@media (max-width:480px){.pricing-list{padding:22px 20px}.pricing-list-row{flex-direction:column;gap:2px}.pricing-list-row dd{white-space:normal}}.seo-section{background:#fff;padding:80px 0}.seo-grid{grid-template-columns:1fr;align-items:stretch;gap:40px;display:grid}@media (min-width:1024px){.seo-grid{grid-template-columns:1fr 1fr;gap:60px}}.seo-content h2{margin-bottom:18px}.seo-content p{color:var(--text-muted);margin-bottom:16px}.seo-h3{color:var(--primary);margin-top:30px;margin-bottom:14px;font-size:1.3rem}.seo-h3-large{margin-top:0;font-size:1.6rem}@media (min-width:1024px){.seo-h3-large{font-size:1.9rem}}.seo-section-reverse{background:var(--bg-light)}@media (min-width:1024px){.seo-section-reverse .seo-grid>.seo-image{order:1}.seo-section-reverse .seo-grid>.seo-content{order:2}}.seo-ctas{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.seo-image{border-radius:12px;min-height:280px;position:relative;overflow:hidden}.seo-image img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:0;border-radius:0;position:absolute;inset:0}@media (max-width:1023px){.seo-image{aspect-ratio:4/3;min-height:280px}}.seo-content a:not(.btn-primary):not(.btn-secondary){color:var(--accent);font-weight:600;text-decoration:none}.seo-content a:not(.btn-primary):not(.btn-secondary):hover{color:var(--accent-dark)}.faq-section{background:var(--primary);color:#fff;padding:80px 0}.faq-section h2{color:#fff;text-align:center;margin-bottom:40px}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid #ffffff26}.faq-question{color:#fff;text-align:left;cursor:pointer;width:100%;font-size:1.05rem;font-weight:600;font-family:var(--font-body);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.faq-question:after{content:"+";color:#fff;border:1px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.6rem;line-height:1;transition:background .2s,border-color .2s;display:inline-flex}.faq-item.open .faq-question:after{content:"−";background:#ffffff1f;border-color:#fff9}.faq-answer{color:#ffffffeb;max-height:0;font-size:.98rem;line-height:1.6;transition:max-height .3s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:500px;padding:0 0 20px}.contact-bottom{color:var(--text);border-top:1px solid var(--border-soft);background:#fff;padding:80px 0}.contact-bottom-grid{grid-template-columns:1fr;gap:40px;display:grid}@media (min-width:1024px){.contact-bottom-grid{grid-template-columns:1fr 1fr;gap:60px}}.contact-info h2,.contact-info h3{color:var(--primary);margin-bottom:14px}.contact-info p{color:var(--text);margin-bottom:20px}.info-item{color:var(--text);border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:10px 0;display:flex}.info-item i{color:var(--primary);text-align:center;width:20px}.info-item-link{color:var(--text);cursor:pointer;text-decoration:none;transition:color .2s}.info-item-link:hover{color:var(--primary);text-decoration:none}.trust-badge{color:var(--primary-dark);border-radius:var(--radius-pill);background:#1ba74a1a;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.trust-badge i{color:var(--primary)}.footer{color:var(--text);border-top:1px solid var(--border-soft);background:#fff;padding:60px 0 20px}.footer-grid{grid-template-columns:1fr;gap:36px;margin-bottom:48px;display:grid}@media (min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.footer-grid{grid-template-columns:1.8fr 1.2fr 1.4fr .8fr}}.footer-brand img{height:46px;margin-bottom:16px}.footer-brand p{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;line-height:1.6}.footer-contact-block{margin-bottom:16px}.footer-contact-label{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.82rem;font-weight:700}.footer-contact-value{color:var(--text);margin:0;font-size:.9rem}.footer-contact-value a{color:var(--text);text-decoration:none}.footer-contact-value a:hover{color:var(--primary)}.footer-cvr{color:var(--text-muted);margin-top:8px;font-size:.88rem}.footer-col h4{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:.82rem;font-weight:700}.footer-col a{color:var(--text);align-items:center;gap:8px;padding:4px 0;font-size:.9rem;text-decoration:none;transition:color .15s;display:flex}.footer-col a:hover{color:var(--primary)}.footer-link-arrow{opacity:.6;color:var(--primary);flex-shrink:0;font-size:.65rem}.footer-bottom{border-top:1px solid var(--border-soft);text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding-top:20px;font-size:.85rem;display:flex}@media (min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-legal a{color:var(--text-muted);font-size:.82rem;text-decoration:underline}.footer-legal a:hover{color:var(--primary)}.mobile-cta{border-top:1px solid var(--border-soft);z-index:900;background:#fff;gap:10px;padding:10px 12px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #00000014}.mobile-cta-btn{border-radius:var(--radius-pill);text-align:center;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.mobile-cta-btn-primary{background:var(--accent);color:#fff;border:2px solid var(--accent)}.mobile-cta-btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.mobile-cta-btn-secondary{color:var(--accent-2,var(--accent));border:2px solid var(--accent-2,var(--accent));background:#fff}.mobile-cta-btn-secondary:hover{background:var(--bg-light)}@media (max-width:767px){.mobile-cta{display:flex}body{padding-bottom:74px}}.cookie-banner{color:#fff;z-index:800;background:#0f1914f7;padding:16px 24px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0000004d}.cookie-content{flex-direction:column;align-items:flex-start;gap:12px;max-width:900px;margin:0 auto;display:flex}@media (min-width:768px){.cookie-content{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}}.cookie-banner p{color:#ffffffd9;flex:1;margin:0;font-size:.88rem;line-height:1.5}.cookie-banner a{color:#ffffffb3;text-decoration:underline}.cookie-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.cookie-btn-accept{border-radius:var(--radius-pill);cursor:pointer;font-size:.9rem;font-weight:700;font-family:var(--font-body);white-space:nowrap;background:var(--accent);color:#fff;border:none;padding:11px 24px;transition:opacity .15s}.cookie-btn-accept:hover{opacity:.88}.cookie-btn-decline{color:#ffffff73;cursor:pointer;font-size:.8rem;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.cookie-btn-decline:hover{color:#ffffffb3}@media (max-width:767px){.cookie-banner{bottom:68px}}.before-after-section{background:var(--bg-light);padding:80px 0}.before-after-grid{grid-template-columns:1fr;gap:30px;max-width:1000px;margin:0 auto;display:grid}@media (min-width:768px){.before-after-grid{grid-template-columns:1fr 1fr}}.reviews-section{background:#fff;padding:60px 0;overflow:hidden}.ticker-track{gap:20px;width:max-content;animation:40s linear infinite ticker-scroll;display:flex}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.review-card{background:var(--bg-light);border-radius:var(--radius-md);border:1px solid var(--border-soft);flex:0 0 320px;padding:24px}.review-card .stars{color:var(--accent);margin-bottom:10px}.legal-page{background:#fff;padding:140px 0 80px}.legal-page h1{margin-bottom:30px}.legal-page h2{color:var(--primary);margin-top:40px;margin-bottom:14px}.legal-page p,.legal-page li{color:var(--text-muted);margin-bottom:12px}.legal-page ul{margin-bottom:16px;margin-left:24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.city-map{background:var(--bg-light);text-align:center;padding:80px 0}.city-map h2{margin-bottom:12px}.city-map>.container>p{color:var(--text-muted);max-width:560px;margin-bottom:40px;margin-left:auto;margin-right:auto}.city-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:32px;display:grid}.city-grid-item{color:var(--primary);background:#fff;border:1px solid #00000014;border-radius:8px;align-items:center;gap:8px;padding:14px 16px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .15s;display:flex;box-shadow:0 2px 8px #0000000a}.city-grid-item i{color:var(--accent);flex-shrink:0;font-size:.85rem}.city-grid-item:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}.city-grid-item:hover i{color:#fff}@media (max-width:767px){.city-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.city-grid-item{padding:12px 14px;font-size:.88rem}.city-map{padding:60px 0}}.city-nearby{background:#fff;border-top:1px solid #0000000f;padding:60px 0}.city-nearby h3{color:var(--primary);margin-bottom:10px;font-size:1.5rem}.city-nearby>.container>p{color:var(--text-muted);margin-bottom:28px}.nearby-links{flex-wrap:wrap;gap:16px;display:flex}.nearby-link{background:var(--bg-light);color:var(--primary);border:1px solid #00000014;border-radius:8px;align-items:center;gap:10px;padding:16px 24px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .15s;display:inline-flex;box-shadow:0 2px 8px #0000000a}.nearby-link i{color:var(--accent);font-size:.9rem}.nearby-link:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}.nearby-link:hover i{color:#fff}@media (max-width:767px){.nearby-links{flex-direction:column}.nearby-link{width:100%}.city-nearby{padding:48px 0}}.reviews-section{background:var(--bg-light);padding:clamp(40px,5vw,64px) 0}.reviews-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.reviews-marquee-track{width:max-content;animation:60s linear infinite reviews-scroll;display:flex}.reviews-marquee:hover .reviews-marquee-track{animation-play-state:paused}@keyframes reviews-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.review-card{border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);background:#fff;flex-direction:column;flex-shrink:0;min-height:240px;margin-right:16px;padding:clamp(20px,2vw,28px);display:flex}.review-heading{color:var(--primary);margin:10px 0;font-size:1.1rem;line-height:1.3}.review-quote{color:var(--text);flex:1;margin-bottom:12px;font-size:.95rem}.review-author{letter-spacing:.08em;color:var(--primary-dark);margin-top:auto;font-size:.8rem;font-weight:700}.tp-stars{gap:2px;display:flex}.tp-star{border-radius:2px;align-items:center;display:inline-flex;overflow:hidden}@media (max-width:1023px){.review-card{width:260px}}@media (max-width:767px){.review-card{width:84vw;max-width:320px}}@media (prefers-reduced-motion:reduce){.reviews-marquee-track{animation:none}}.cta-card-section{background:#fff;padding:clamp(40px,5vw,64px) 0}.cta-card{background:var(--primary);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,3vw,36px);padding:clamp(28px,3.5vw,48px);display:grid}.cta-card-avatar{border:3px solid #fff9;border-radius:50%;flex-shrink:0;width:clamp(90px,10vw,130px);height:clamp(90px,10vw,130px);overflow:hidden}.cta-card-avatar img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.cta-card-heading{color:#fff;margin-bottom:10px;font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2}.cta-card-body{color:#ffffffeb;max-width:620px;margin-bottom:20px}.cta-card-buttons{flex-wrap:wrap;gap:12px;display:flex}.cta-card-btn-outline{color:#fff;background:0 0;border:2px solid #fff}.cta-card-btn-outline:hover{color:#fff;background:#ffffff1a}.cta-card-btn-filled{color:var(--primary);background:#fff;border:2px solid #fff}.cta-card-btn-filled:hover{color:var(--primary-dark);background:#f5f5f5}@media (max-width:767px){.cta-card{text-align:center;grid-template-columns:1fr;justify-items:center}.cta-card-buttons{justify-content:center}}.opening-hours-section{background:var(--bg-light);padding:clamp(40px,5vw,64px) 0}.opening-hours-card{border-radius:var(--radius-lg);max-width:560px;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);background:#fff;margin:0 auto;padding:clamp(28px,3vw,40px)}.opening-hours-heading{text-align:center;color:var(--primary);margin-bottom:20px}.opening-hours-list{margin:0;padding:0;list-style:none}.opening-hours-item{border-bottom:1px dashed var(--border-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.opening-hours-item:last-child{border-bottom:0}.opening-hours-day{color:var(--text);font-weight:600}.opening-hours-sep{border-top:1px dashed var(--border-soft);height:0}.opening-hours-time{color:var(--primary-dark);white-space:nowrap;font-weight:500}.accordion{flex-direction:column;gap:10px;margin-top:24px;display:flex}.accordion-item{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;transition:box-shadow .25s,border-color .25s;overflow:hidden}.accordion-item.is-open{border-color:var(--primary);box-shadow:var(--shadow-soft)}.accordion-trigger{cursor:pointer;text-align:left;width:100%;font-family:var(--font-heading);color:var(--primary);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:1.05rem;font-weight:700;transition:background .2s,color .2s;display:flex}.accordion-trigger:hover{background:var(--bg-light)}.accordion-item.is-open .accordion-trigger{color:var(--primary-dark)}.accordion-icon{width:32px;height:32px;color:var(--primary);border:1px solid var(--border-soft);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:400;line-height:1;transition:background .2s,color .2s,border-color .2s;display:flex}.accordion-item.is-open .accordion-icon{background:var(--primary);color:#fff;border-color:var(--primary)}.accordion-body{color:var(--text);padding:0 20px 18px;font-size:.97rem;line-height:1.65}.accordion-body p{margin-bottom:10px}.accordion-body p:last-child{margin-bottom:0}.cc-banner{z-index:10000;background:#fff;border-top:1px solid #e5e7eb;max-height:90vh;transition:transform .4s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 30px #0000001a}.cc-banner.cc-visible{transform:translateY(0)}.cc-inner{max-width:900px;margin:0 auto;padding:28px 24px}.cc-title{color:#111827;margin-bottom:10px;font-family:inherit;font-size:1.15rem;font-weight:800}.cc-text{color:#4b5563;margin-bottom:8px;font-size:.9rem;line-height:1.65}.cc-link{margin-bottom:18px}.cc-link a{color:var(--primary);font-size:.85rem;font-weight:500;text-decoration:underline}.cc-link a:hover{color:var(--primary-dark)}.cc-buttons{flex-wrap:wrap;gap:10px;display:flex}.cc-btn{cursor:pointer;border:none;border-radius:6px;padding:11px 24px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s}.cc-btn-accept{background:var(--primary);color:#fff}.cc-btn-accept:hover{background:var(--primary-dark);color:#fff}.cc-btn-reject{color:var(--primary);border:1px solid var(--primary);background:0 0}.cc-btn-reject:hover{color:var(--primary);border-color:var(--primary);background:#00882e14}.cc-btn-details{color:#6b7280;background:0 0;padding:11px 12px;text-decoration:underline}.cc-btn-details:hover{color:#111827}.cc-details{max-height:0;transition:max-height .4s;overflow:hidden}.cc-details.cc-detail-open{border-top:1px solid #e5e7eb;max-height:600px;margin-top:20px;padding-top:20px}.cc-category{border-bottom:1px solid #f3f4f6;padding:12px 0}.cc-category:last-of-type{border-bottom:none}.cc-cat-label{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.cc-cat-info{flex-direction:column;flex:1;gap:3px;display:flex}.cc-cat-info strong{color:#111827;font-size:.92rem;font-weight:600}.cc-cat-info span{color:#6b7280;font-size:.82rem;line-height:1.5}.cc-detail-buttons{gap:10px;margin-top:18px;display:flex}.cc-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.cc-toggle input{opacity:0;width:0;height:0}.cc-slider{cursor:pointer;background:#d1d5db;border-radius:24px;transition:background .3s;position:absolute;inset:0}.cc-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.cc-toggle input:checked+.cc-slider{background:var(--primary)}.cc-toggle input:checked+.cc-slider:before{transform:translate(20px)}.cc-toggle-disabled .cc-slider{cursor:not-allowed;opacity:.7;background:#e5e7eb}.cc-toggle-disabled input:checked+.cc-slider{background:#e5e7eb}.cc-reopener{z-index:9999;color:#374151;cursor:pointer;opacity:0;background:#fff;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:fixed;bottom:20px;left:20px;transform:scale(0);box-shadow:0 4px 12px #0000001a}.cc-reopener.cc-visible{opacity:1;transform:scale(1)}.cc-reopener:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.08)}.cc-reopener.cc-visible:hover{transform:scale(1.08)}@media (max-width:768px){.cc-inner{padding:20px 16px}.cc-buttons,.cc-detail-buttons{flex-direction:column}.cc-btn{text-align:center;width:100%}.cc-btn-details{text-align:left;padding:8px 0}.cc-reopener{width:38px;height:38px;bottom:14px;left:14px}.cc-reopener svg{width:17px;height:17px}}.hero-swiper{background:#0a0a0a;min-height:600px;padding:100px 0 80px;position:relative;overflow:hidden}.hero-swiper-overlay{z-index:1;pointer-events:none;background:linear-gradient(135deg,#0000008c 0%,#00000059 100%);position:absolute;inset:0}.hero-swiper-container{z-index:2;grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;max-width:1280px;margin:0 auto;padding:0 32px;display:grid;position:relative}.hero-swiper-content,.hero-swiper-content h1,.hero-swiper-content .hero-text{color:#fff}.hero-swiper-marquee{border-radius:16px;height:520px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 8% 92%,#0000 100%)}.hero-swiper-track{will-change:transform;flex-direction:column;gap:14px;animation:60s linear infinite heroSwiperScroll;display:flex}.hero-swiper-cell{border-radius:12px;flex:none;width:100%;height:280px;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000059}.hero-swiper-cell img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:none;border-radius:12px;display:block}.hero-swiper-cell-overlay{pointer-events:none;background:#0000004d;position:absolute;inset:0}@keyframes heroSwiperScroll{0%{transform:translateY(0)}to{transform:translateY(calc(-50% - 7px))}}@media (max-width:1024px){.hero-swiper-container{grid-template-columns:1fr;gap:36px}.hero-swiper-marquee{height:360px}.hero-swiper-cell{height:220px}}@media (max-width:640px){.hero-swiper{min-height:0;padding:80px 0 60px}.hero-swiper-marquee{height:280px}.hero-swiper-cell{height:180px}}.hero-section{background:#1a1a1a!important}.hero-section:before{background:0 0!important}.hero-section .hero-bg-image:after,.hero-section .hero-bg-video:after{content:"";pointer-events:none;z-index:1;background:#00000052;position:absolute;inset:0}.hero-section .hero-bg-image img,.hero-section .hero-bg-video video{opacity:.92!important}.hero-section.hero-centered .hero-content h1,.hero-section.hero-centered .hero-text,.hero-section .hero-content h1,.hero-section .hero-text{text-shadow:0 2px 12px #00000073}.btn-primary[href="tel:+45"],.info-item-link[href="tel:+45"],.mobile-cta-row a[href="tel:+45"]{display:none!important}.nav-logo-img-dark,.nav.nav-scrolled .nav-logo-img-light{display:none}.nav.nav-scrolled .nav-logo-img-dark{display:block}.nav.nav-scrolled .nav-logo-img{content:unset!important}.services-grid-section{background:var(--bg-white);padding:80px 0 60px}.services-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.service-card-grid{color:inherit;background:var(--primary-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s;display:flex;overflow:hidden}.service-card-grid:hover{background:var(--primary);transform:translateY(-4px);box-shadow:0 14px 34px #0000002e}.service-card-grid-image{aspect-ratio:16/10;overflow:hidden}.service-card-grid-image img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:none;border-radius:0;transition:transform .4s;display:block}.service-card-grid:hover .service-card-grid-image img{transform:scale(1.04)}.service-card-grid-body{color:#fff;padding:24px 22px 26px}.service-card-grid-body h3{color:#fff;margin-bottom:10px;font-size:1.45rem}.service-card-grid-body p{color:#ffffffe0;margin-bottom:14px;font-size:.96rem;line-height:1.55}.service-card-grid-link{color:#fff;text-transform:none;letter-spacing:0;border-bottom:1px solid #ffffffb3;padding-bottom:2px;font-size:.95rem;font-weight:700;display:inline-block}.seo-section p,.text-break p,.contact-info p,.legal-page p,.seo-prose p{margin-bottom:1.1em;line-height:1.75}.seo-section p:last-child,.text-break p:last-child,.contact-info p:last-child,.seo-prose p:last-child{margin-bottom:1.4em}.seo-content h2,.seo-content h3,.seo-h3-large{margin-top:.2em;margin-bottom:.8em}.seo-section .section-label,.text-break .section-label,.contact-info .section-label{margin-bottom:.6em}.seo-section{padding:80px 0}.text-break{padding:60px 0}.cta-buttons,.seo-ctas{gap:14px;margin-top:1.5em}.footer{background:var(--bg-light)}.footer-brand img{max-width:180px}


/* ==========================================================================
   IN-PAGE ADMIN PANEL & FLOATING ADMIN BUTTON
   ========================================================================== */
.admin-nav-btn {
    background: rgba(17, 35, 55, 0.85);
    color: #ffffff !important;
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    font-size: 0.85rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    cursor: pointer;
    text-shadow: none !important;
    transition: all 0.2s;
}
.admin-nav-btn:hover {
    background: var(--accent-2-dark);
    color: #fff !important;
    transform: translateY(-1px);
}
.nav.nav-scrolled .admin-nav-btn {
    background: var(--accent-2);
    border-color: var(--accent-2);
}

.admin-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    z-index: 20000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.admin-modal-backdrop.active { display: flex; }

.admin-window {
    background: #ffffff;
    width: 100%;
    max-width: 1100px;
    max-height: 90vh;
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
    animation: modalSlide 0.3s ease;
}
@keyframes modalSlide {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.admin-header {
    background: var(--accent-2);
    color: #fff;
    padding: 20px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.admin-header h2 {
    color: #fff;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}
.admin-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.admin-close-btn {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.admin-close-btn:hover { background: rgba(255, 255, 255, 0.3); }

.admin-body {
    padding: 28px;
    overflow-y: auto;
    flex-grow: 1;
    background: var(--bg-light);
}

.admin-login-box {
    max-width: 400px;
    margin: 40px auto;
    background: #fff;
    padding: 32px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-soft);
    text-align: center;
}
.admin-login-box h3 { margin-bottom: 8px; color: var(--primary); }
.admin-login-box p { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 24px; }

.admin-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}
.stat-card {
    background: #ffffff;
    border-radius: var(--radius-md);
    padding: 20px;
    border: 1px solid var(--border-soft);
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: center;
    gap: 16px;
}
.stat-icon {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}
.stat-icon.blue { background: #e0f2fe; color: #0284c7; }
.stat-icon.green { background: #dcfce7; color: #16a34a; }
.stat-icon.amber { background: #fef3c7; color: #d97706; }
.stat-icon.purple { background: #f3e8ff; color: #9333ea; }
.stat-val { font-size: 1.8rem; font-weight: 900; color: var(--primary); line-height: 1; }
.stat-lbl { font-size: 0.85rem; color: var(--text-muted); font-weight: 600; margin-top: 4px; }

.admin-controls-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.admin-search-input {
    padding: 10px 16px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-pill);
    width: 280px;
    font-size: 0.9rem;
    background: #fff;
}
.admin-filter-select {
    padding: 10px 16px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-pill);
    font-size: 0.9rem;
    background: #fff;
}
.admin-table-wrapper {
    background: #ffffff;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-soft);
    overflow-x: auto;
    box-shadow: var(--shadow-soft);
}
.admin-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.92rem;
}
.admin-table th {
    background: var(--bg-warm);
    padding: 14px 18px;
    font-weight: 700;
    color: var(--primary);
    border-bottom: 1px solid var(--border-soft);
}
.admin-table td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-soft);
    vertical-align: middle;
}
.admin-table tr:hover { background: #f8fafc; }

.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}
.status-ny { background: #dcfce7; color: #166534; }
.status-igang { background: #fef3c7; color: #92400e; }
.status-udfoert { background: #e0f2fe; color: #075985; }
.status-afvist { background: #fee2e2; color: #991b1b; }

.btn-table-action {
    background: none;
    border: none;
    color: var(--primary);
    cursor: pointer;
    padding: 6px 10px;
    border-radius: var(--radius-sm);
    transition: all 0.2s;
}
.btn-table-action:hover { background: var(--bg-warm); color: var(--accent); }
.btn-table-action.delete:hover { color: #dc2626; }

@media (max-width: 992px) {
    .admin-stats-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .admin-stats-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   BUTTON MICRO-ANIMATIONS & SHIMMER HOVER EFFECTS
   ========================================================================== */
.btn-primary,
.btn-secondary,
.nav-cta,
.form-submit,
.chat-trigger-btn,
.admin-nav-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateZ(0);
}

.btn-primary:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 10px 24px rgba(0, 136, 46, 0.32);
}

.btn-secondary:hover {
    transform: translateY(-3px) scale(1.02);
    background: #08111d !important;
    border-color: #08111d !important;
    box-shadow: 0 10px 24px rgba(17, 35, 55, 0.35);
}

.nav-cta:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 8px 20px rgba(17, 35, 55, 0.35);
}

.form-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 136, 46, 0.38);
}

.btn-primary:active,
.btn-secondary:active,
.nav-cta:active,
.form-submit:active {
    transform: translateY(0) scale(0.98);
}

/* Light shimmer sweep animation */
.btn-primary::after,
.form-submit::after,
.nav-cta::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 40%;
    height: 200%;
    background: linear-gradient(
        60deg,
        rgba(255, 255, 255, 0) 20%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 80%
    );
    transform: rotate(25deg);
    transition: all 0.75s ease;
    opacity: 0;
    pointer-events: none;
}

.btn-primary:hover::after,
.form-submit:hover::after,
.nav-cta:hover::after {
    left: 140%;
    opacity: 1;
}

/* ==========================================================================
   LIVE SUPPORT CHAT WIDGET
   ========================================================================== */
.support-chat-wrapper {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 10000;
    font-family: var(--font-body, system-ui, -apple-system, sans-serif);
}

.chat-trigger-btn {
    background: var(--primary, #00882e);
    color: #ffffff;
    border: none;
    border-radius: 50px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(0, 136, 46, 0.4);
    animation: chatPulse 3s infinite ease-in-out;
}

.chat-trigger-btn:hover {
    background: var(--primary-dark, #006822);
    transform: translateY(-3px) scale(1.04);
}

@keyframes chatPulse {
    0%, 100% { box-shadow: 0 8px 24px rgba(0, 136, 46, 0.35); }
    50% { box-shadow: 0 8px 32px rgba(0, 136, 46, 0.65); }
}

.chat-online-dot {
    width: 10px;
    height: 10px;
    background: #4ade80;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 8px #4ade80;
}

.chat-badge {
    background: #ef4444;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 20px;
    margin-left: 4px;
}

.chat-box {
    position: absolute;
    bottom: 65px;
    right: 0;
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 480px;
    max-height: calc(100vh - 120px);
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
    display: none;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    animation: chatOpenAnim 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.chat-box.active {
    display: flex;
}

@keyframes chatOpenAnim {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.chat-box-header {
    background: var(--accent-2, #112337);
    color: #ffffff;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.chat-agent-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.chat-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #00882e;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.chat-agent-text h4 {
    margin: 0;
    font-size: 0.95rem;
    color: #ffffff;
    font-family: inherit;
}

.chat-agent-text p {
    margin: 0;
    font-size: 0.76rem;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 6px;
}

.chat-header-actions button {
    background: rgba(255, 255, 255, 0.12);
    border: none;
    color: #ffffff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.chat-header-actions button:hover {
    background: rgba(255, 255, 255, 0.25);
}

.chat-messages {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.chat-msg {
    max-width: 82%;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 0.88rem;
    line-height: 1.45;
    position: relative;
    word-break: break-word;
}

.chat-msg.agent {
    background: #ffffff;
    color: #1e293b;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    border: 1px solid #e2e8f0;
}

.chat-msg.user {
    background: var(--primary, #00882e);
    color: #ffffff;
    border-bottom-right-radius: 4px;
    align-self: flex-end;
    box-shadow: 0 2px 8px rgba(0, 136, 46, 0.25);
}

.chat-time {
    font-size: 0.68rem;
    opacity: 0.65;
    display: block;
    margin-top: 4px;
    text-align: right;
}

.chat-form-inputs {
    padding: 12px 16px;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.chat-contact-mini {
    display: flex;
    gap: 6px;
}

.chat-contact-mini input {
    flex: 1;
    padding: 6px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.8rem;
}

.chat-input-row {
    display: flex;
    gap: 8px;
}

.chat-input-row textarea {
    flex: 1;
    resize: none;
    height: 38px;
    padding: 8px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 20px;
    font-size: 0.88rem;
    font-family: inherit;
    outline: none;
}

.chat-input-row textarea:focus {
    border-color: var(--primary);
}

.chat-send-btn {
    background: var(--primary);
    color: #fff;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: transform 0.2s, background 0.2s;
}

.chat-send-btn:hover {
    background: var(--primary-dark);
    transform: scale(1.08);
}

/* ==========================================================================
   MOBILE RESPONSIVENESS & TOUCH OPTIMIZATIONS
   ========================================================================== */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-text-size-adjust: 100%;
}

@media (max-width: 992px) {
    .support-chat-wrapper {
        bottom: 80px; /* Above sticky mobile CTA */
        right: 16px;
    }
    .chat-box {
        bottom: 60px;
        right: 0;
        width: calc(100vw - 32px);
        max-height: 60vh;
    }
}

@media (max-width: 768px) {
    /* Hero Center Fixes */
    .hero-section.hero-centered {
        min-height: auto;
        padding: 95px 16px 45px !important;
        text-align: center;
    }

    .hero-section.hero-centered h1 {
        font-size: clamp(1.75rem, 6.5vw, 2.3rem) !important;
        line-height: 1.25 !important;
        margin-bottom: 14px !important;
        word-break: break-word;
    }

    .hero-section.hero-centered .hero-text {
        font-size: 0.98rem !important;
        line-height: 1.5 !important;
        margin: 0 auto 20px !important;
        padding: 0 4px;
    }

    .hero-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        margin-bottom: 24px !important;
    }

    .hero-badges .badge {
        font-size: 0.8rem !important;
        padding: 6px 11px !important;
        margin: 0 !important;
    }

    .hero-section.hero-centered .cta-buttons {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto !important;
        gap: 10px !important;
    }

    .hero-section.hero-centered .cta-buttons a {
        width: 100% !important;
        text-align: center !important;
        padding: 13px 20px !important;
        box-sizing: border-box !important;
    }

    /* SEO Grids */
    .seo-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .seo-section.seo-section-reverse .seo-grid {
        display: flex !important;
        flex-direction: column-reverse !important;
    }

    .seo-image img {
        max-height: 260px;
        width: 100%;
        object-fit: cover;
    }

    /* Pricing Table Mobile */
    .pricing-list {
        padding: 16px !important;
    }

    .pricing-list-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        padding: 8px 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    .pricing-list-row dd {
        font-weight: 700;
        color: var(--primary);
    }

    /* Contact Section Mobile */
    .contact-bottom-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .contact-card {
        padding: 22px 18px !important;
    }

    .form-row.form-row-2 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .form-input, .form-textarea {
        font-size: 16px !important; /* Prevent iOS zoom */
        padding: 12px 14px !important;
    }

    .form-submit {
        padding: 14px !important;
        font-size: 1.05rem !important;
    }

    /* Footer Mobile */
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

/* Safe area inset for mobile sticky CTA */
.mobile-cta {
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ==========================================================================
   DEDICATED FULL-PAGE ADMIN STYLES & NOTIFICATIONS
   ========================================================================== */
.admin-page-layout {
    min-height: 100vh;
    background: #f1f5f9;
    font-family: 'Lato', system-ui, sans-serif;
    color: #1e293b;
    padding-bottom: 60px;
}

.admin-topbar {
    background: #112337;
    color: #ffffff;
    padding: 16px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.admin-topbar-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-topbar-brand h1 {
    font-size: 1.35rem;
    color: #fff;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: inherit;
}

.admin-live-pulse {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.admin-live-dot {
    width: 8px;
    height: 8px;
    background: #4ade80;
    border-radius: 50%;
    animation: liveBlink 1.5s infinite;
}

@keyframes liveBlink {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.8); }
}

.admin-nav-tabs {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 0 28px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
}

.admin-tab-btn {
    background: none;
    border: none;
    padding: 16px 20px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
    white-space: nowrap;
}

.admin-tab-btn:hover {
    color: #112337;
}

.admin-tab-btn.active {
    color: #00882e;
    border-bottom-color: #00882e;
}

.admin-tab-badge {
    background: #00882e;
    color: #fff;
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 12px;
}

/* Quick Action Buttons for WhatsApp, Phone, SMS */
.action-btn-group {
    display: flex;
    gap: 6px;
    align-items: center;
}

.quick-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}

.quick-btn.call {
    background: #dcfce7;
    color: #15803d;
}
.quick-btn.call:hover {
    background: #15803d;
    color: #fff;
}

.quick-btn.whatsapp {
    background: #25D366;
    color: #ffffff;
}
.quick-btn.whatsapp:hover {
    background: #1da851;
    transform: translateY(-1px);
}

.quick-btn.email {
    background: #e0f2fe;
    color: #0369a1;
}
.quick-btn.email:hover {
    background: #0369a1;
    color: #fff;
}

/* Visitor Journey Accordion in Admin */
.journey-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f1f5f9;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.78rem;
    color: #475569;
    border: 1px solid #cbd5e1;
    margin: 2px;
}

.metric-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.78rem;
    font-weight: 600;
    background: #e2e8f0;
    color: #334155;
}

.metric-pill.google { background: #fee2e2; color: #b91c1c; }
.metric-pill.direct { background: #e0e7ff; color: #4338ca; }
.metric-pill.mobile { background: #fef3c7; color: #b45309; }
.metric-pill.desktop { background: #dcfce7; color: #15803d; }

/* ==========================================================================
   ADMIN MODE ISOLATION (Hides main header/footer on admin page)
   ========================================================================== */
body.admin-mode #navbar,
body.admin-mode .footer,
body.admin-mode .mobile-cta,
body.admin-mode #chat-widget,
body.admin-mode #cookie-consent-banner,
body.admin-mode #cc-reopener,
body.admin-mode .mobile-drawer-overlay,
body.admin-mode #mobile-drawer {
    display: none !important;
}

body.admin-mode {
    background: #f1f5f9 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.admin-mode #app-view {
    min-height: 100vh;
}