:root{--primary-color:#f91942;--primary-light:#ff4d6d;--primary-dark:#d4143a;--gradient-primary:linear-gradient(135deg,#f91942,#ff4d6d)}.hero-section{align-items:center;background:linear-gradient(135deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.6));background-attachment:fixed;background-position:50%;background-size:cover;display:flex;min-height:80vh;overflow:hidden;position:relative}.hero-section[data-background-image]{background-blend-mode:overlay;background-image:var(--bg-image,linear-gradient(135deg,hsla(0,0%,100%,.3) 0,hsla(0,0%,100%,.6) 100%))}.hero-content{background:hsla(0,0%,100%,.5);border-radius:16px;color:#333;margin:0 auto;max-width:860px;padding:1.5rem;position:relative;text-align:center;width:100%;z-index:2}.hero-title{animation:fadeInUp 1s ease-out;font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px hsla(0,0%,100%,.8)}.hero-subtitle{animation:fadeInUp 1s ease-out .3s both;font-size:1.5rem;margin-bottom:2rem;opacity:.95}.search-container{animation:fadeInUp 1s ease-out .6s both;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:2px solid rgba(249,25,66,.1);border-radius:20px;box-shadow:0 15px 35px rgba(249,25,66,.2);padding:2rem}.search-input{border:2px solid #e1e8ed;border-radius:15px;font-size:1.1rem;padding:18px 25px;transition:all .3s ease;width:100%}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(249,25,66,.1);outline:none;transform:translateY(-2px)}.search-button{background:var(--gradient-primary);border:none;border-radius:15px;color:#fff;cursor:pointer;font-weight:600;padding:18px 30px;transition:all .3s ease;width:100%}.search-button:hover{box-shadow:0 8px 25px rgba(249,25,66,.4);transform:translateY(-3px)}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{color:#333;font-size:2.8rem;font-weight:700;margin-bottom:1rem;position:relative}.section-header h2:after{background:var(--gradient-primary);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.section-header .lead{color:#666;font-size:1.3rem;line-height:1.7;margin:0 auto;max-width:700px}.features-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:4rem 0}.feature-card{background:#fff;border:1px solid #e1e8ed;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.1);padding:2.5rem;text-align:center;transition:all .4s ease}.feature-card:hover{box-shadow:0 15px 40px rgba(249,25,66,.15);transform:translateY(-8px)}.feature-icon{color:var(--primary-color);font-size:3.5rem;margin-bottom:1.5rem;transition:all .3s ease}.feature-card:hover .feature-icon{color:var(--primary-dark);transform:scale(1.1) rotate(5deg)}.categories-grid,.category-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:2rem 0}.category-card{background:#fff;border:1px solid #f0f0f0;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.1);color:inherit;padding:2rem;text-align:center;text-decoration:none;transition:all .3s ease}.category-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.15);color:inherit;text-decoration:none;transform:translateY(-5px)}.category-card .category-icon{margin-bottom:1rem}.category-card .category-icon i{color:var(--primary-color);font-size:3rem}.category-card .category-content h3{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.category-card .category-content .category-count{color:#666;font-size:.9rem}.establishment-card{background:#fff;border:none;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);height:100%;overflow:hidden;position:relative;transition:all .3s ease}.establishment-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.15);transform:translateY(-4px)}.establishment-image{background-position:50%;background-size:cover;height:200px;position:relative;transition:all .3s ease}.establishment-card:hover .establishment-image{transform:scale(1.02)}.establishment-content{padding:1.5rem}.establishment-title{color:#333;font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.rating-stars{align-items:center;color:#ffc107;display:flex;font-size:1rem;gap:.2rem;margin-bottom:.8rem}.rating-text{color:#666;font-size:.9rem;margin-left:.5rem}.badge{background:#f91942;border-radius:0;box-shadow:0 2px 4px rgba(249,25,66,.2);color:#fff;display:inline-block;font-size:.75rem;font-weight:500;margin:.2rem .2rem .2rem 0;padding:.3rem .6rem}.category-badge{background:none;border-radius:0;color:#999;display:inline;font-size:1.2em;font-weight:400;letter-spacing:normal;margin:0;padding:0;text-transform:none}.establishments-carousel,.job-offers-carousel{margin:0 -1rem;overflow:hidden;padding:0 1rem;position:relative}.establishments-carousel .carousel-container,.job-offers-carousel .carousel-container{-ms-overflow-style:none;display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}.establishments-carousel .carousel-container::-webkit-scrollbar,.job-offers-carousel .carousel-container::-webkit-scrollbar{display:none}.establishment-card-leg{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.08);color:inherit;display:block;flex-shrink:0;min-width:280px;overflow:hidden;text-decoration:none;transition:all .3s ease}.establishment-card-leg:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);color:inherit;text-decoration:none;transform:translateY(-3px)}.establishment-image-leg{background-position:50%;background-size:cover;height:180px;position:relative}.rating-badge{background:#4caf50;border-radius:0;color:#fff;font-size:1.2rem;font-weight:600;padding:.2rem .5rem;position:absolute;right:1rem;top:1rem}.establishment-content-leg{padding:1.5rem}.category-text{margin-bottom:.5rem}.establishment-title-leg{color:#333;font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.establishment-views{color:#666;font-size:1rem;font-weight:500;margin-bottom:.5rem}.establishment-views i{margin-right:.3rem}.establishment-location{color:#666;font-size:.9rem}.establishment-location i{color:var(--primary-color);margin-right:.3rem}.carousel-nav{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#333;cursor:pointer;font-size:1.2rem;font-weight:700;height:40px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}.carousel-nav:hover{background:#f5f5f5;box-shadow:0 4px 12px rgba(0,0,0,.3)}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.promo-badges{display:flex;flex-wrap:wrap;gap:.5rem}.promo-badges .category-badge-black,.promo-badges .category-badge-green,.promo-badges .category-badge-yellow{border-radius:0;font-size:1.2rem;font-weight:500;padding:.2rem .5rem}.category-badge-black{background:#333;color:#fff}.category-badge-black,.category-badge-yellow{border:none;border-radius:0;display:inline-block;font-size:1.2rem;font-weight:600;margin-bottom:.3rem;margin-right:.5rem;padding:.4rem .8rem;text-transform:capitalize}.category-badge-yellow{background:gold;color:#000}.category-badge-green{background:#4caf50;border:none;border-radius:0;color:#fff;display:inline-block;font-size:1.2rem;font-weight:600;margin-bottom:.3rem;margin-right:.5rem;padding:.4rem .8rem;text-transform:capitalize}.category-badge-simple{background:none;border-radius:0;color:#666;font-size:.75rem;font-weight:400;margin-right:.5rem;padding:0;text-transform:capitalize}.category-badge-simple:not(:last-child):after{content:",";margin-left:.2rem}.establishment-categories{margin-top:.8rem}.establishment-categories-bottom{margin-top:.5rem}.establishment-categories-bottom .category-badge-bottom{background:none;border-radius:0;color:#666;font-size:.7rem;font-weight:400;margin-right:.3rem;padding:0;text-transform:capitalize}.establishment-categories-bottom .category-badge-bottom:not(:last-child):after{content:",";margin-left:.1rem}.category-badge-pill{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:20px;color:#333;display:inline-block;font-size:.8rem;font-weight:500;margin-bottom:.3rem;margin-right:.5rem;padding:.3rem .6rem;text-transform:capitalize}.promo-badge{background:#f91942;border-radius:20px;box-shadow:0 2px 8px rgba(249,25,66,.3);color:#fff;font-size:.8rem;font-weight:600;padding:.4rem .8rem;position:absolute;right:12px;top:12px;z-index:2}.section-header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.show-all-link{color:var(--primary-color);font-size:1.2rem;font-weight:600;text-decoration:none}.show-all-link:hover{color:var(--primary-color-dark);text-decoration:none}.job-offers-carousel{margin-top:1.5rem;position:relative}.job-offers-carousel .carousel-container{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0;scroll-behavior:smooth}.job-offers-carousel .carousel-container::-webkit-scrollbar{display:none}.job-offer-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.08);color:inherit;display:block;flex:0 0 320px;min-width:320px;overflow:hidden;text-decoration:none;transition:all .3s ease}.job-offer-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);color:inherit;text-decoration:none;transform:translateY(-3px)}.job-offer-image{background-position:50%;background-size:cover;height:180px;position:relative}.job-type-badge{background:var(--primary-color);border-radius:0;color:#fff;font-size:1.2rem;font-weight:600;padding:.3rem .8rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem}.job-offer-content{padding:1.5rem}.job-title{color:#333;font-size:1.2rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.company-name{font-weight:500}.company-name,.job-location{color:#666;font-size:1.2rem;margin-bottom:.5rem}.job-location{align-items:center;display:flex;gap:.5rem}.job-location i,.job-salary{color:var(--primary-color)}.job-salary{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.job-tags{display:flex;flex-wrap:wrap;gap:.3rem}.job-tag{background:#f0f0f0;border-radius:12px;color:#666;font-size:1.2rem;padding:.2rem .6rem}.hero-cta-button{background:var(--gradient-primary);border-radius:50px;color:#fff;display:inline-block;font-weight:600;margin-bottom:2rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.hero-cta-button:hover{box-shadow:0 8px 25px rgba(249,25,66,.4);color:#fff;text-decoration:none;transform:translateY(-3px)}.search-input-group{align-items:center;display:flex;gap:1rem}@media (max-width:768px){.search-input-group{flex-direction:column}}.search-input-wrapper{flex:1;position:relative}.search-input-wrapper .search-icon{color:#666;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrapper .search-input{padding-left:3rem}.regions-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.region-card{background:#fff;border:1px solid #f0f0f0;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.1);padding:2rem;transition:all .3s ease}.region-card,.region-card:hover{color:inherit;text-decoration:none}.region-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.15);transform:translateY(-5px)}.region-card .region-content{text-align:center}.region-card .region-content h3{color:var(--primary-color);font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.region-card .region-content .region-count{color:#666;font-size:.9rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.search-container{margin:0 1rem;padding:1.5rem}.features-grid{gap:2rem;grid-template-columns:1fr;padding:0 1rem}.categories-grid,.category-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0 1rem}.section-header h2{font-size:2.2rem}.stat-number{font-size:2.8rem}}