:root{--primary-color:#8B5A2B;--secondary-color:#556B2F;--accent-color:#D4A017;--text-dark:#2C2C2C;--text-light:#F9F5F0;--bg-light:#FFFAF0;--white:#FFFFFF;--border-radius:12px;--container-width:1200px;--header-height:80px;--transition:all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;color:var(--text-dark);background-color:var(--bg-light);line-height:1.6;overflow-x:hidden;padding-top:var(--header-height)}.skip-link{position:absolute;top:-100px;left:0;background:var(--primary-color);color:#fff;padding:15px 20px;z-index:2000;transition:top .3s;text-decoration:none;font-weight:600;border-bottom-right-radius:8px}.skip-link:focus{top:0;outline:3px solid var(--accent-color)}:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.footer-contact-link{display:inline-block;padding:12px 0;min-height:44px;line-height:1.5;text-decoration:none}.footer-contact-container{display:flex;flex-direction:column;gap:5px;margin-top:15px}h1,h2,h3,h4{font-family:'Playfair Display',serif;color:var(--primary-color);line-height:1.2}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 24px;border-radius:30px;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;cursor:pointer;border:2px solid transparent;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-outline{border-color:var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:var(--white)}header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 2px 15px rgba(0,0,0,.05);height:var(--header-height);display:flex;align-items:center}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo img{height:60px;width:auto}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a.nav-item{font-weight:500;font-size:.9rem;color:var(--text-dark);position:relative;text-transform:uppercase;letter-spacing:.5px;padding:10px 5px}.nav-links a.active,.nav-links a.nav-item:hover{color:var(--primary-color)}.nav-links a.nav-item::after{content:'';position:absolute;width:0;height:2px;bottom:5px;left:0;background-color:var(--secondary-color);transition:width .3s}.nav-links a.nav-item:hover::after{width:100%}.lang-switch{position:relative;margin-left:15px;display:flex;align-items:center}.lang-btn{background:0 0;border:none;cursor:pointer;padding:12px;color:var(--primary-color);transition:transform .3s;display:flex;align-items:center;justify-content:center}.lang-btn:hover{transform:scale(1.1)}.icon-globe{width:24px;height:24px;fill:currentColor}.lang-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.15);display:none;flex-direction:column;min-width:60px;padding:5px 0;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.lang-switch:hover .lang-dropdown{display:flex;animation:fadeIn .2s ease-out}.lang-opt{padding:12px 15px;cursor:pointer;display:flex;justify-content:center;transition:background .2s}.lang-opt:hover{background-color:#f4f4f4}.lang-opt svg{width:28px;height:20px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.error-hero{background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),url('./img/hero-bg.webp') center/cover no-repeat;color:var(--white);text-align:center;padding:150px 20px 100px;position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;flex-direction:column}.error-hero h1{color:var(--accent-color);font-size:3.5rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.error-hero p{font-size:1.2rem;max-width:600px;margin-bottom:30px;opacity:.9}.error-code{font-size:8rem;font-weight:700;color:rgba(255,255,255,.1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;font-family:'Playfair Display',serif}.error-content-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.error-capretta{width:150px;height:150px;border-radius:50%;border:4px solid var(--accent-color);object-fit:cover;margin-bottom:20px;box-shadow:0 10px 20px rgba(0,0,0,.3)}.suggestions-section{padding:80px 20px;background-color:var(--bg-light)}.suggestions-title{text-align:center;margin-bottom:50px;font-size:2.2rem;font-family:'Playfair Display',serif;color:var(--primary-color)}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:var(--container-width);margin:0 auto}.suggestion-card{background:var(--white);border-radius:var(--border-radius);padding:30px;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,.05);transition:var(--transition);border:1px solid rgba(139,90,43,.1);display:block;color:var(--text-dark);text-decoration:none}.suggestion-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.1);border-color:var(--accent-color)}.suggestion-icon{font-size:2.5rem;margin-bottom:15px;display:block}.suggestion-card h3{margin-bottom:15px;font-size:1.4rem;font-family:'Playfair Display',serif;color:var(--primary-color)}.suggestion-card p{color:#666;font-size:.95rem}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col ul li{margin-bottom:12px}.footer-col ul li a{color:inherit;text-decoration:none;transition:var(--transition)}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.credit-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:var(--transition);margin-left:5px}.credit-link:hover{color:var(--white);text-shadow:0 0 10px rgba(255,255,255,.4)}.footer-contact-container{margin-top:15px;display:flex;flex-direction:column;gap:5px}.footer-contact-link{color:var(--white);text-decoration:none;transition:var(--transition)}.footer-contact-link:hover{color:var(--accent-color)}@media (max-width:900px){.psr-logo-container{width:100%}}:root{--primary-color:#8B5A2B;--secondary-color:#556B2F;--accent-color:#D4A017;--text-dark:#2C2C2C;--text-light:#F9F5F0;--bg-light:#FFFAF0;--white:#FFFFFF;--border-radius:12px;--container-width:1200px;--header-height:80px;--transition:all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;color:var(--text-dark);background-color:var(--bg-light);line-height:1.6;overflow-x:hidden;padding-top:var(--header-height)}h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;color:var(--primary-color);line-height:1.2}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}img{max-width:100%;height:auto;display:block}iframe{display:block;width:100%;border-radius:8px}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.text-center{text-align:center}.mb-30{margin-bottom:30px}.mb-50{margin-bottom:50px}.btn{display:inline-block;padding:12px 24px;border-radius:30px;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;cursor:pointer;border:2px solid transparent;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.credit-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:var(--transition);margin-left:5px}.credit-link:hover{color:var(--white);text-shadow:0 0 10px rgba(255,255,255,.4)}header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 2px 15px rgba(0,0,0,.05);height:var(--header-height);display:flex;align-items:center}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo img{height:60px;width:auto}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a.nav-item{font-weight:500;font-size:.9rem;color:var(--text-dark);position:relative;text-transform:uppercase;letter-spacing:.5px;padding:10px 5px}.nav-links a.active,.nav-links a.nav-item:hover{color:var(--primary-color)}.nav-links a.nav-item::after{content:'';position:absolute;width:0;height:2px;bottom:5px;left:0;background-color:var(--secondary-color);transition:width .3s}.nav-links a.nav-item:hover::after{width:100%}.lang-switch{position:relative;margin-left:15px;display:flex;align-items:center}.lang-btn{background:0 0;border:none;cursor:pointer;padding:12px;color:var(--primary-color);transition:transform .3s;display:flex;align-items:center;justify-content:center}.lang-btn:hover{transform:scale(1.1)}.icon-globe{width:24px;height:24px;fill:currentColor}.lang-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.15);display:none;flex-direction:column;min-width:60px;padding:5px 0;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.lang-switch:hover .lang-dropdown{display:flex;animation:fadeIn .2s ease-out}.lang-opt{padding:12px 15px;cursor:pointer;display:flex;justify-content:center;transition:background .2s}.lang-opt:hover{background-color:#f4f4f4}.lang-opt svg{width:28px;height:20px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.page-hero{height:60vh;min-height:400px;background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5)),url('../img/casetta.webp');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:80px}.page-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5)}.page-hero p{font-size:1.2rem;max-width:600px;margin:0 auto;font-weight:300}.story-section{padding-bottom:80px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.story-img{position:relative}.story-img img{border-radius:var(--border-radius);box-shadow:0 15px 40px rgba(0,0,0,.1);width:100%;height:auto;object-fit:cover}.story-img::after{content:'';position:absolute;bottom:-20px;right:-20px;width:50%;height:50%;background-color:var(--bg-light);border:2px solid var(--accent-color);z-index:-1;border-radius:var(--border-radius)}.story-content h2{font-size:2.2rem;margin-bottom:20px}.story-content p{margin-bottom:20px;color:#555;text-align:justify}.quote-box{border-left:4px solid var(--accent-color);padding-left:20px;margin:30px 0;font-style:italic;color:var(--primary-color);font-size:1.1rem}.services-section{padding:80px 0;background-color:#efebe7}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.service-card{background:#fff;padding:40px;border-radius:var(--border-radius);transition:var(--transition);border-bottom:3px solid transparent}.service-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.1);border-bottom-color:var(--accent-color)}.service-card h3{font-size:1.4rem;margin-bottom:15px}.service-card ul{padding-left:20px;list-style:disc;color:#666}.service-card ul li{margin-bottom:8px}.production-section{padding:80px 0}.production-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}.production-img img{border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.1);height:400px;width:100%;object-fit:cover}.video-section{padding:80px 0;background-color:#f9f9f9;border-top:1px solid #eee}.main-video-wrapper{position:relative;margin-bottom:60px;box-shadow:0 20px 50px rgba(0,0,0,.15);border-radius:var(--border-radius);overflow:hidden;border:5px solid #fff}.video-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.main-video-info{background:#fff;padding:25px;text-align:center}.main-video-info h3{margin-bottom:10px;color:var(--primary-color)}.main-video-info p{color:#666;max-width:800px;margin:0 auto}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px}.video-card{background:#fff;border-radius:var(--border-radius);box-shadow:0 5px 15px rgba(0,0,0,.05);transition:transform .3s;overflow:hidden;display:flex;flex-direction:column}.video-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.video-thumb{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#000}.video-thumb iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-desc{padding:20px;flex-grow:1}.video-desc h4{font-size:1.1rem;margin-bottom:10px;color:var(--text-dark);font-family:Montserrat,sans-serif;font-weight:600}.video-desc p{font-size:.9rem;color:#666;line-height:1.5}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.production-grid,.story-grid{grid-template-columns:1fr}.production-img,.story-img{margin-bottom:30px}.page-hero h1{font-size:2.5rem}.psr-logo-container{width:100%}.video-grid{grid-template-columns:1fr}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{height:calc(100vh - var(--header-height));min-height:600px;background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.4)),url(../img/copertina.webp);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white)}.hero-content{max-width:800px;padding:20px;animation:fadeInUp 1s ease-out}.hero h1{font-size:3.5rem;margin-bottom:15px;color:var(--white);text-shadow:2px 2px 10px rgba(0,0,0,.5)}.hero p{font-size:1.4rem;margin-bottom:30px;font-weight:300;text-shadow:1px 1px 5px rgba(0,0,0,.5)}.intro{padding:100px 0;background:var(--white)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.intro-text h2{font-size:2.5rem;margin-bottom:20px}.intro-text p{margin-bottom:20px;color:#555;font-size:1.05rem}.intro-img{border-radius:var(--border-radius);overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.1);position:relative;aspect-ratio:4/3}.intro-img::before{content:'';position:absolute;top:-15px;left:-15px;width:100%;height:100%;border:2px solid var(--accent-color);border-radius:var(--border-radius);z-index:0}.intro-img img{position:relative;z-index:1;transition:transform .5s;width:100%;height:100%;object-fit:cover}.teasers{padding:80px 0}.teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.teaser-card{position:relative;height:400px;border-radius:var(--border-radius);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.1)}.teaser-card img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .5s}.teaser-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);z-index:2;transition:background .3s}.teaser-content{position:relative;z-index:3;padding:30px;transform:translateY(20px);transition:transform .3s}.teaser-content h3{color:#fff;font-size:2.2rem;margin-bottom:10px}.teaser-card:hover img{transform:scale(1.05)}.teaser-card:hover .teaser-overlay{background:rgba(0,0,0,.5)}.teaser-card:hover .teaser-content{transform:translateY(0)}.activities{padding:100px 0;background-color:#efebe7}.section-header{text-align:center;margin-bottom:60px}.activities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px}.activity-card{background:#fff;padding:25px;border-radius:var(--border-radius);text-align:center;transition:var(--transition)}.activity-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.activity-img{height:180px;width:100%;object-fit:cover;border-radius:8px;margin-bottom:20px}.activity-card h3{font-size:1.3rem;margin-bottom:10px}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.credit-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:var(--transition);margin-left:5px}.credit-link:hover{color:var(--white);text-shadow:0 0 10px rgba(255,255,255,.4)}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.intro-grid,.teaser-grid{grid-template-columns:1fr}.psr-logo-container{width:100%}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--primary-color:#8B5A2B;--secondary-color:#556B2F;--accent-color:#D4A017;--text-dark:#2C2C2C;--text-light:#F9F5F0;--bg-light:#FFFAF0;--white:#FFFFFF;--border-radius:12px;--container-width:1200px;--header-height:80px;--transition:all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;color:var(--text-dark);background-color:#fcfcfc;line-height:1.6;overflow-x:hidden;padding-top:var(--header-height);display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{font-family:'Playfair Display',serif;color:var(--primary-color);line-height:1.2}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.text-center{text-align:center}.mb-30{margin-bottom:30px}.mb-50{margin-bottom:50px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:30px;font-weight:600;text-transform:uppercase;cursor:pointer}.btn-primary{background-color:var(--primary-color);color:#fff}.credit-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:var(--transition);margin-left:5px}.credit-link:hover{color:var(--white);text-shadow:0 0 10px rgba(255,255,255,.4)}header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 2px 15px rgba(0,0,0,.05);height:var(--header-height);display:flex;align-items:center}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo img{height:60px;width:auto}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a.nav-item{font-weight:500;font-size:.9rem;color:var(--text-dark);position:relative;text-transform:uppercase;letter-spacing:.5px;padding:10px 5px}.nav-links a.active,.nav-links a.nav-item:hover{color:var(--primary-color)}.nav-links a.nav-item::after{content:'';position:absolute;width:0;height:2px;bottom:5px;left:0;background-color:var(--secondary-color);transition:width .3s}.nav-links a.nav-item:hover::after{width:100%}.lang-switch{position:relative;margin-left:15px;display:flex;align-items:center}.lang-btn{background:0 0;border:none;cursor:pointer;padding:12px;color:var(--primary-color);transition:transform .3s;display:flex;align-items:center;justify-content:center}.lang-btn:hover{transform:scale(1.1)}.icon-globe{width:24px;height:24px;fill:currentColor}.lang-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.15);display:none;flex-direction:column;min-width:60px;padding:5px 0;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.lang-switch:hover .lang-dropdown{display:flex;animation:fadeIn .2s ease-out}.lang-opt{padding:12px 15px;cursor:pointer;display:flex;justify-content:center;transition:background .2s}.lang-opt:hover{background-color:#f4f4f4}.lang-opt svg{width:28px;height:20px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.menu-hero{height:40vh;min-height:300px;background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5)),url(../img/menu-hero.webp);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:0}.menu-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5);color:#fff}.menu-hero p{font-size:1.3rem;max-width:700px;font-weight:300;text-shadow:1px 1px 5px rgba(0,0,0,.5)}.notice-section{padding:50px 0;background-color:transparent}.notice-box{background-color:#fffaf0;border:1px solid #eec07b;border-radius:var(--border-radius);padding:40px;text-align:center;max-width:800px;margin:0 auto;box-shadow:0 10px 30px rgba(139,90,43,.08);position:relative}.notice-box::before{content:'!';position:absolute;top:-25px;left:50%;transform:translateX(-50%);width:50px;height:50px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:1.8rem;line-height:50px;font-family:'Playfair Display',serif;box-shadow:0 5px 15px rgba(0,0,0,.2)}.notice-box h3{color:var(--primary-color);margin-bottom:15px;font-size:1.4rem;text-transform:uppercase;letter-spacing:1px;margin-top:10px}.notice-box p{font-size:1rem;color:#555;line-height:1.7;margin-bottom:25px}.allergen-legend-wrapper{margin-top:30px;padding-top:25px;border-top:1px dashed #ccc}.legend-title{font-size:.85rem;text-transform:uppercase;letter-spacing:2px;color:#888;margin-bottom:15px;display:block;font-weight:600}.legend-items{display:flex;justify-content:center;flex-wrap:wrap;gap:25px}.legend-single{display:flex;align-items:center;font-size:.9rem;color:var(--text-dark);font-weight:500}.allergen-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:var(--primary-color);margin-right:8px;position:relative;flex-shrink:0;transition:all .3s;border:1px solid var(--primary-color)}.allergen-badge svg{width:16px;height:16px;fill:white;transition:fill .3s}.allergen-badge:hover{background-color:#fff;transform:scale(1.1)}.allergen-badge:hover svg{fill:var(--primary-color)}.menu-category{margin-bottom:70px}.category-header{text-align:center;margin:0 0 50px;border-bottom:1px solid var(--accent-color);line-height:.1em}.category-header span{background:#fcfcfc;padding:0 25px;font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--primary-color);font-weight:700}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px}.dish-card{background:#fff;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;overflow:hidden;display:flex;flex-direction:column;border:1px solid #eee}.dish-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.dish-image-wrapper{height:220px;width:100%;background-color:#f0f0f0;position:relative;overflow:hidden}.dish-image{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dish-card:hover .dish-image{transform:scale(1.05)}.dish-content{padding:25px;flex-grow:1;display:flex;flex-direction:column}.dish-header{margin-bottom:10px}.dish-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--text-dark);line-height:1.2;display:block}.dish-desc{font-size:.95rem;color:#666;font-style:italic;margin-bottom:15px;flex-grow:1}.dish-allergens{display:flex;gap:5px;margin-top:auto;padding-top:15px;border-top:1px solid #f5f5f5}.dish-allergens .allergen-badge{width:22px;height:22px;margin-right:0}.dish-allergens .allergen-badge svg{width:12px;height:12px}.qr-section{background-color:#fff;padding:60px 40px;text-align:center;border:1px solid #eee;margin:60px auto;border-radius:var(--border-radius);max-width:500px;box-shadow:0 15px 40px rgba(0,0,0,.05)}.qr-code-img{width:180px;height:180px;background-color:#fff;margin:0 auto 25px;background-image:url('https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=https://dainabianca.it/menu&color=8B5A2B');background-size:cover;padding:10px;border:1px solid #eee}.qr-text h3{font-size:1.5rem;margin-bottom:10px;color:var(--primary-color)}.disclaimer-container{text-align:center;padding-bottom:60px;max-width:800px;margin:0 auto}.disclaimer-text{color:#888;font-size:.85rem;font-style:italic}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem;margin-top:auto}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.psr-logo-container{width:100%}.menu-grid{grid-template-columns:1fr}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.offers-hero{height:50vh;min-height:400px;background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5)),url(../img/pacchetti-hero.webp);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:60px}.offers-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5)}.offers-hero p{font-size:1.3rem;max-width:700px;font-weight:300}.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:40px;padding-bottom:40px}.package-card{background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;border:1px solid #eee;cursor:pointer;position:relative}.package-card:active{transform:scale(.98)}.package-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.package-img-wrapper{position:relative;height:250px;overflow:hidden}.package-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.click-hint{position:absolute;bottom:15px;right:15px;background:rgba(255,255,255,.95);padding:8px 15px;border-radius:20px;font-size:.8rem;font-weight:600;color:var(--primary-color);box-shadow:0 4px 10px rgba(0,0,0,.15);z-index:5;display:flex;align-items:center;gap:5px;pointer-events:none;opacity:.9}.click-hint::after{content:'➔'}.package-badge{position:absolute;top:20px;right:20px;background-color:var(--accent-color);color:#fff;padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;box-shadow:0 2px 5px rgba(0,0,0,.2);z-index:2}.package-content{padding:25px;flex-grow:1;display:flex;flex-direction:column}.package-title{font-size:1.6rem;margin-bottom:10px;color:var(--primary-color);line-height:1.2}.package-desc{font-size:.95rem;color:#666;margin-bottom:20px;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:2000;display:none;opacity:0;transition:opacity .3s;backdrop-filter:blur(5px)}.modal-overlay.active{display:flex;opacity:1}.modal-container{background:#fff;width:100%;max-width:800px;height:90vh;position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);border-radius:20px 20px 0 0;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2, .8, .2, 1);z-index:2001;overflow:hidden;box-shadow:0 -10px 40px rgba(0,0,0,.3)}.modal-overlay.active .modal-container{transform:translateX(-50%) translateY(0)}@media (min-width:768px){.modal-container{height:auto;max-height:85vh;top:50%;bottom:auto;transform:translate(-50%,-50%) scale(.95);border-radius:16px;opacity:0;transition:all .3s}.modal-overlay.active .modal-container{transform:translate(-50%,-50%) scale(1);opacity:1}}.modal-header{position:relative;height:250px;flex-shrink:0}.modal-img{width:100%;height:100%;object-fit:cover}.modal-close{position:absolute;top:15px;right:15px;background:rgba(255,255,255,.9);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.2);font-size:1.5rem;line-height:1;color:#333;z-index:10}.modal-body{padding:25px;overflow-y:auto;flex-grow:1;-webkit-overflow-scrolling:touch}.modal-title{font-size:1.8rem;color:var(--primary-color);margin-bottom:15px;line-height:1.1;font-family:'Playfair Display',serif}.modal-desc-full{font-size:1rem;color:#444;margin-bottom:25px;line-height:1.6}.modal-details{background-color:#f5f5f5;padding:20px;border-radius:12px;margin-bottom:10px}.modal-details h5{color:var(--secondary-color);font-weight:600;text-transform:uppercase;font-size:.85rem;margin-bottom:10px;letter-spacing:1px}.modal-footer{padding:15px 25px 25px;border-top:1px solid #eee;background:#fff;text-align:center;flex-shrink:0}.modal-disclaimer{font-size:.7rem;color:#999;font-style:italic;margin-top:10px;display:block}.disclaimer-container{text-align:center;padding-bottom:60px;max-width:800px;margin:0 auto}.disclaimer-text{color:#888;font-size:.85rem;font-style:italic}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem;margin-top:auto}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.psr-logo-container{width:100%}.package-img-wrapper{height:220px}.offers-hero h1{font-size:2.5rem}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-hero{height:60vh;min-height:400px;background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5)),url('../img/casetta.webp');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:80px}.page-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5)}.page-hero p{font-size:1.2rem;max-width:600px;margin:0 auto;font-weight:300}.story-section{padding-bottom:80px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.story-img{position:relative}.story-img img{border-radius:var(--border-radius);box-shadow:0 15px 40px rgba(0,0,0,.1);width:100%;height:auto;object-fit:cover}.story-img::after{content:'';position:absolute;bottom:-20px;right:-20px;width:50%;height:50%;background-color:var(--bg-light);border:2px solid var(--accent-color);z-index:-1;border-radius:var(--border-radius)}.story-content h2{font-size:2.2rem;margin-bottom:20px}.story-content p{margin-bottom:20px;color:#555;text-align:justify}.quote-box{border-left:4px solid var(--accent-color);padding-left:20px;margin:30px 0;font-style:italic;color:var(--primary-color);font-size:1.1rem}.services-section{padding:80px 0;background-color:#efebe7}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.service-card{background:#fff;padding:40px;border-radius:var(--border-radius);transition:var(--transition);border-bottom:3px solid transparent}.service-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.1);border-bottom-color:var(--accent-color)}.service-card h3{font-size:1.4rem;margin-bottom:15px}.service-card ul{padding-left:20px;list-style:disc;color:#666}.service-card ul li{margin-bottom:8px}.production-section{padding:80px 0}.production-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}.production-img img{border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.1);height:400px;width:100%;object-fit:cover}.video-section{padding:80px 0;background-color:#f9f9f9;border-top:1px solid #eee}.main-video-wrapper{position:relative;margin-bottom:60px;box-shadow:0 20px 50px rgba(0,0,0,.15);border-radius:var(--border-radius);overflow:hidden;border:5px solid #fff}.video-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.main-video-info{background:#fff;padding:25px;text-align:center}.main-video-info h3{margin-bottom:10px;color:var(--primary-color)}.main-video-info p{color:#666;max-width:800px;margin:0 auto}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px}.video-card{background:#fff;border-radius:var(--border-radius);box-shadow:0 5px 15px rgba(0,0,0,.05);transition:transform .3s;overflow:hidden;display:flex;flex-direction:column}.video-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.video-thumb{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#000}.video-thumb iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-desc{padding:20px;flex-grow:1}.video-desc h4{font-size:1.1rem;margin-bottom:10px;color:var(--text-dark);font-family:Montserrat,sans-serif;font-weight:600}.video-desc p{font-size:.9rem;color:#666;line-height:1.5}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.production-grid,.story-grid{grid-template-columns:1fr}.production-img,.story-img{margin-bottom:30px}.page-hero h1{font-size:2.5rem}.psr-logo-container{width:100%}.video-grid{grid-template-columns:1fr}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contact-hero{height:40vh;min-height:300px;background-image:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.6)),url('../img/contact-hero.webp');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:60px}.contact-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5)}.contact-hero p{font-size:1.3rem;max-width:700px;font-weight:300;text-shadow:1px 1px 5px rgba(0,0,0,.5)}.contact-wrapper{align-items:center;display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px}.contact-info-box{background:#fff;padding:40px;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.05);height:100%}.info-item{display:flex;align-items:flex-start;margin-bottom:30px}.info-icon{width:50px;height:50px;background-color:#f4f4f4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:20px;flex-shrink:0;color:var(--primary-color)}.info-icon svg{width:24px;height:24px;fill:currentColor}.info-text h4{font-size:1.1rem;margin-bottom:5px;color:var(--text-dark)}.info-text a,.info-text p{font-size:1rem;color:#666;line-height:1.5}.info-text a:hover{color:var(--accent-color);text-decoration:underline}.map-container{margin-top:40px;border-radius:var(--border-radius);overflow:hidden;height:300px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.map-container iframe{width:100%;height:100%;border:0}.form-box{background:#fff;padding:40px;border-radius:var(--border-radius);box-shadow:0 15px 40px rgba(0,0,0,.08);border-top:4px solid var(--primary-color)}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-dark);font-size:.9rem}.form-control{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-family:Montserrat,sans-serif;font-size:1rem;transition:border-color .3s}.form-control:focus{border-color:var(--primary-color);outline:0}textarea.form-control{resize:vertical;min-height:120px}.captcha-group{display:flex;align-items:center;gap:15px;margin-bottom:20px;background:#f9f9f9;padding:10px;border-radius:8px}.captcha-img{border-radius:4px;border:1px solid #ddd}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem;margin-top:auto}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.contact-wrapper{align-items:center;grid-template-columns:1fr}.psr-logo-container{width:100%}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.gallery-hero{padding:60px 0 40px;text-align:center;background-color:var(--white)}.gallery-hero h1{font-size:3rem;margin-bottom:10px}.gallery-hero p{color:#666;max-width:600px;margin:0 auto;font-size:1.1rem}.gallery-grid{column-count:3;column-gap:20px;padding-bottom:80px}.gallery-item{break-inside:avoid;margin-bottom:20px;position:relative;border-radius:var(--border-radius);overflow:hidden;cursor:zoom-in;box-shadow:0 4px 15px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s;background-color:#eee}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.gallery-item img{width:100%;height:auto;transition:filter .3s;display:block}.gallery-caption{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;padding:20px;opacity:0;transform:translateY(10px);transition:all .3s ease;pointer-events:none}.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0)}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:2000;display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.lightbox.active{display:flex;opacity:1}.lightbox-content{position:relative;max-width:90%;max-height:85vh}.lightbox-img{max-width:100%;max-height:80vh;border-radius:4px;box-shadow:0 0 50px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:20px;right:30px;color:#fff;font-size:3rem;cursor:pointer;z-index:2001}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2rem;cursor:pointer;padding:20px;background:rgba(255,255,255,.1);border-radius:50%;transition:background .3s;user-select:none}.lightbox-nav:hover{background:rgba(255,255,255,.2)}.prev-btn{left:20px}.next-btn{right:20px}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem;margin-top:auto}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:1024px){.gallery-grid{column-count:2}}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.psr-logo-container{width:100%}}@media (max-width:600px){.gallery-grid{column-count:1}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-hero{height:40vh;min-height:300px;background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5)),url('../img/menu-hero.webp');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);margin-bottom:0}.menu-hero h1{font-size:3.5rem;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,.5);color:#fff}.menu-hero p{font-size:1.3rem;max-width:700px;font-weight:300;text-shadow:1px 1px 5px rgba(0,0,0,.5)}.notice-section{padding:50px 0;background-color:transparent}.notice-box{background-color:#fffaf0;border:1px solid #eec07b;border-radius:var(--border-radius);padding:40px;text-align:center;max-width:800px;margin:0 auto;box-shadow:0 10px 30px rgba(139,90,43,.08);position:relative}.notice-box::before{content:'!';position:absolute;top:-25px;left:50%;transform:translateX(-50%);width:50px;height:50px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:1.8rem;line-height:50px;font-family:'Playfair Display',serif;box-shadow:0 5px 15px rgba(0,0,0,.2)}.notice-box h3{color:var(--primary-color);margin-bottom:15px;font-size:1.4rem;text-transform:uppercase;letter-spacing:1px;margin-top:10px}.notice-box p{font-size:1rem;color:#555;line-height:1.7;margin-bottom:25px}.allergen-legend-wrapper{margin-top:30px;padding-top:25px;border-top:1px dashed #ccc}.legend-title{font-size:.85rem;text-transform:uppercase;letter-spacing:2px;color:#888;margin-bottom:15px;display:block;font-weight:600}.legend-items{display:flex;justify-content:center;flex-wrap:wrap;gap:25px}.legend-single{display:flex;align-items:center;font-size:.9rem;color:var(--text-dark);font-weight:500}.allergen-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:var(--primary-color);margin-right:8px;position:relative;flex-shrink:0;transition:all .3s;border:1px solid var(--primary-color)}.allergen-badge svg{width:16px;height:16px;fill:white;transition:fill .3s}.allergen-badge:hover{background-color:#fff;transform:scale(1.1)}.allergen-badge:hover svg{fill:var(--primary-color)}.menu-category{margin-bottom:70px}.category-header{text-align:center;margin:0 0 50px;border-bottom:1px solid var(--accent-color);line-height:.1em}.category-header span{background:#fcfcfc;padding:0 25px;font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--primary-color);font-weight:700}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px}.dish-card{background:#fff;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;overflow:hidden;display:flex;flex-direction:column;border:1px solid #eee}.dish-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.dish-image-wrapper{height:220px;width:100%;background-color:#f0f0f0;position:relative;overflow:hidden}.dish-image{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dish-card:hover .dish-image{transform:scale(1.05)}.dish-content{padding:25px;flex-grow:1;display:flex;flex-direction:column}.dish-header{margin-bottom:10px}.dish-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--text-dark);line-height:1.2;display:block}.dish-desc{font-size:.95rem;color:#666;font-style:italic;margin-bottom:15px;flex-grow:1}.dish-allergens{display:flex;gap:5px;margin-top:auto;padding-top:15px;border-top:1px solid #f5f5f5}.dish-allergens .allergen-badge{width:22px;height:22px;margin-right:0}.dish-allergens .allergen-badge svg{width:12px;height:12px}.qr-section{background-color:#fff;padding:60px 40px;text-align:center;border:1px solid #eee;margin:60px auto;border-radius:var(--border-radius);max-width:500px;box-shadow:0 15px 40px rgba(0,0,0,.05)}.qr-code-img{width:180px;height:180px;background-color:#fff;margin:0 auto 25px;background-image:url('https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=https://dainabianca.it/menu&color=8B5A2B');background-size:cover;padding:10px;border:1px solid #eee}.qr-text h3{font-size:1.5rem;margin-bottom:10px;color:var(--primary-color)}.disclaimer-container{text-align:center;padding-bottom:60px;max-width:800px;margin:0 auto}.disclaimer-text{color:#888;font-size:.85rem;font-style:italic}footer{background-color:#1a1a1a;color:#b0b0b0;padding:80px 0 30px;font-size:.9rem;margin-top:auto}.footer-top{padding-bottom:50px;border-bottom:1px solid #333}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px}.footer-col h4{color:var(--white);margin-bottom:25px;font-size:1.3rem;border-bottom:2px solid var(--accent-color);display:inline-block;padding-bottom:10px}.footer-col ul li{margin-bottom:12px}.footer-col ul li a:hover{color:var(--accent-color);padding-left:5px}.footer-institutional{background-color:#242424;padding:30px 20px;margin-top:50px;border-top:3px solid var(--primary-color);border-radius:4px;text-align:center}.psr-logo-container{background:#fff;padding:15px 25px;border-radius:4px;display:inline-block;margin-bottom:25px}.psr-logo-container img{max-height:100px;width:auto}.psr-text h5{color:#fff;text-transform:uppercase;margin-bottom:10px;letter-spacing:1px}.psr-text p{font-size:.8rem;color:#888;margin-bottom:5px}.psr-amount{color:var(--accent-color);font-weight:700}.copyright-bar{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid #333;font-size:.8rem}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);padding:10px}@media (max-width:900px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:#fff;flex-direction:column;padding:30px 0;box-shadow:0 10px 20px rgba(0,0,0,.1)}.nav-links.active{display:flex}.mobile-toggle{display:block}.psr-logo-container{width:100%}.menu-grid{grid-template-columns:1fr}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-hero{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),url('../img/booking-hero.webp');background-size:cover;background-position:center;background-attachment:fixed;height:50vh;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-dark)}.booking-hero>div{background-color:rgba(255,255,255,.85);padding:40px;border-radius:var(--border-radius);box-shadow:0 4px 15px rgba(0,0,0,.1)}.booking-hero h1{font-size:3.5rem;margin-bottom:20px;font-weight:700;color:var(--primary-color)}.booking-hero p{font-size:1.2rem;max-width:600px;margin:0 auto;color:var(--text-dark)}.booking-container{max-width:1200px;margin:-50px auto 50px;padding:0 20px;position:relative;z-index:10}.booking-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 15px 40px rgba(0,0,0,.1)}.activity-selector{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:40px}.activity-btn{padding:12px 25px;background:#f4f4f4;border:2px solid #ddd;border-radius:30px;font-size:1.1rem;font-weight:600;color:#555;cursor:pointer;transition:all .3s ease}.activity-btn:hover{background:#e9e9e9;transform:translateY(-2px)}.activity-btn.active{background:#8b5a2b;border-color:#8b5a2b;color:#fff;box-shadow:0 5px 15px rgba(139,90,43,.3)}.calendar-wrapper{max-width:600px;margin:0 auto;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden}.calendar-wrapper.visible{display:block}.calendar-header{background:#f9f9f9;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-weight:700;border-bottom:1px solid #eee}.calendar-header button{background:0 0;border:none;font-size:1.2rem;cursor:pointer;color:#8b5a2b;padding:5px 10px}.calendar-header button:hover{background:#eee;border-radius:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-day-name{padding:10px 0;font-weight:700;color:#777;font-size:.9rem;border-bottom:1px solid #eee}.calendar-day{padding:15px 0;min-height:50px;display:flex;align-items:center;justify-content:center;cursor:default;color:#ccc;transition:all .2s;border-bottom:1px solid #f9f9f9;border-right:1px solid #f9f9f9}.calendar-day.active-day{color:#333;font-weight:700;background:#e8f5e9;cursor:pointer;border:1px solid #28a745;border-radius:8px;position:relative;z-index:1;margin:2px}.calendar-day.active-day:hover{background:#28a745;color:#fff;transform:scale(1.05)}.calendar-loading{text-align:center;padding:40px;color:#888;display:none}@media (max-width:768px){.booking-container{padding:0 10px}.booking-card{padding:20px 10px}.calendar-wrapper{border-radius:8px;border:none;box-shadow:0 4px 15px rgba(0,0,0,.05);max-width:100%;width:100%}.calendar-header{padding:12px 10px}.calendar-header button{padding:10px 15px;font-size:1.4rem}.calendar-header #monthYearDisplay{font-size:1.15rem}.calendar-day-name{font-size:.85rem;padding:12px 0}.calendar-day{min-height:55px;font-size:1.1rem;border:none}.calendar-day.active-day{margin:4px}}.booking-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:9999;align-items:center;justify-content:center;padding:20px}.booking-modal.active{display:flex}.booking-modal-content{background:#fff;width:100%;max-width:500px;padding:30px;border-radius:12px;position:relative}.booking-modal-close{position:absolute;top:15px;right:15px;font-size:1.5rem;cursor:pointer;color:#888;background:0 0;border:none}.whatsapp-float{position:fixed;bottom:20px;right:20px;background-color:#25d366;color:#fff;border-radius:50%;text-align:center;font-size:30px;box-shadow:2px 2px 5px rgba(0,0,0,.3);z-index:1000;width:60px;height:60px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .3s ease}.whatsapp-float:hover{transform:scale(1.1);color:#fff}.whatsapp-float svg{width:35px;height:35px;fill:white}.mobile-quick-actions{display:none}@media (max-width:900px){.mobile-quick-actions{display:flex;gap:15px;align-items:center}.mobile-quick-actions a{color:#8b5a2b;display:flex;align-items:center;justify-content:center}.mobile-quick-actions svg{width:24px;height:24px;fill:currentColor}.nav-container{justify-content:space-between}}