/* ============================================================
   Industry Transilvan – Statikus oldal CSS
   Az eredeti transilvan.ro CSS alapján, pontosan egyeztetett értékekkel
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;300;400;600;700;800&display=swap');

/* ---- Reset & Base ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-family: 'Open Sans', sans-serif; font-size: 62.5%; }
html body { font-size: 1.4rem; font-weight: 400; background-color: #edf0f5; color: #4b5661; }

a { color: #0283e6; text-decoration: none; transition: color 0.25s; }
a:hover { color: #0481e0; }
img { max-width: 100%; height: auto; }

/* Buttons */
.button-primary { font-family: 'Open Sans',sans-serif; background-color: #0283e6; border: solid 0.1rem #0283e6; border-radius: 0.25rem; color: #ffffff; cursor: pointer; transition: background-color 0.3s,border 0.3s; user-select: none; text-decoration: none; width: 20rem; max-width: 20rem; min-height: 4rem; display: flex; justify-content: center; align-items: center; }
.button-primary:hover { background-color: #0481e0; border-color: #0481e0; color: #ffffff; }
.button-light { min-height: 4.85rem; max-width: 28.5rem; width: 100%; display: flex; justify-content: center; align-items: center; border: solid 0.1rem #0481e0; border-radius: 0.25rem; background-color: #ffffff; color: #0481e0; cursor: pointer; transition: background-color 0.3s,color 0.3s; padding: 0 2rem; }
.button-light:hover { background-color: #0481e0; color: #ffffff; }

/* ================================================================ HEADER ================================================================ */
body { padding-top: 5rem; }
@media (max-width:768px) { body { padding-top: 8rem; } }

header { background-color: #ffffff; box-shadow: 0 0.1rem 0.4rem rgba(0,0,0,0.1); position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 5rem; display: flex; align-items: center; }
@media (max-width:768px) { header { height: 8rem; } }

.header-top-bar { display: none; }
#header-call-link-div, #header-whatsapp-link-div { display: none; }
#header-call-link-div.active, #header-whatsapp-link-div.active { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; }
#header-call-link-div.active a, #header-whatsapp-link-div.active a { color: #4b5661; }

.region-header-container { display: flex; align-items: center; padding: 0 1rem; width: 100%; height: 100%; }

#block-tmob-theme-site-branding { line-height: 0; display: flex; align-items: center; margin-right: 1rem; }
#block-tmob-theme-site-branding a.site-logo img { width: 15rem; height: auto; }
@media (max-width:768px) { #block-tmob-theme-site-branding { margin-left: 4rem; } }

/* Nav */
nav.menu--tg-main { display: block; margin: 0; }
@media (max-width:768px) { nav.menu--tg-main { position: fixed; background-color: #ffffff; top: 0; bottom: 0; left: 0; width: 0; overflow: hidden; transition: 0.5s; z-index: 100000; margin-top: 8rem; border-top: solid 0.1rem #d3d3d3; } nav.menu--tg-main.mobile-open { width: 100%; } }

nav.menu--tg-main ul.menu { list-style-type: none; text-align: left; margin: 0 auto; display: flex; align-items: center; padding-left: 1rem; }
@media (max-width:768px) { nav.menu--tg-main ul.menu { flex-wrap: wrap; padding-top: 2rem; padding-left: 0; } nav.menu--tg-main ul.menu li.menu-item { width: 100%; border-bottom: solid 0.1rem #d3d3d3; } }

nav.menu--tg-main ul.menu li.menu-item a { padding: 1rem; font-weight: 400; white-space: nowrap; text-decoration: none; display: inline-block; color: #4b5661; font-size: 1.4rem; transition: color 0.2s; }
@media (max-width:768px) { nav.menu--tg-main ul.menu li.menu-item a { display: block; padding: 1.5rem 2rem; font-size: 1.6rem; } }
nav.menu--tg-main ul.menu li.menu-item a:hover { color: #0283e6; }
nav.menu--tg-main ul.menu li.menu-item a.shop-online { background-color: #0283e6; color: #ffffff; border-radius: 0.25rem; padding: 0.5rem 1rem; }
nav.menu--tg-main ul.menu li.menu-item a.shop-online:hover { background-color: #0481e0; }

/* Header icons */
.header-icons-block { display: flex; align-items: center; gap: 1rem; margin-left: 0.5rem; }
.header-icons-block a { display: flex; align-items: center; color: #4b5661; }
.header-icons-block img { width: 2.4rem; height: 2.4rem; }

/* Language switcher */
#block-tmob-theme-dropdownlanguage { margin-left: auto; display: flex; align-items: center; padding-left: 1.5rem; margin-right: 1.5rem; }
@media (max-width:768px) { #block-tmob-theme-dropdownlanguage { padding-left: 0.5rem; margin-right: 2rem; } }
.dropdown-language-item { list-style: none; display: flex; gap: 0.4rem; }
.dropdown-language-item li a, .dropdown-language-item li span { display: inline-block; padding: 0.2rem 0.6rem; border: 1px solid #d3d3d3; border-radius: 0.25rem; color: #4b5661; font-size: 1.2rem; font-weight: 600; transition: background-color 0.2s, color 0.2s; }
.dropdown-language-item li a:hover { background-color: #0283e6; color: #fff; border-color: #0283e6; }
.dropdown-language-item li span.language-link.active-language { background-color: #0283e6; color: #fff; border-color: #0283e6; }

/* Hamburger */
.hammburger-menu { display: none; cursor: pointer; padding: 0.5rem; }
@media (max-width:768px) { .hammburger-menu { display: block; } }
.mobile-menu { display: flex; flex-direction: column; gap: 0.5rem; }
.mobile-menu .line1, .mobile-menu .line2, .mobile-menu .line3 { width: 2.5rem; height: 0.3rem; background-color: #4b5661; transition: all 0.3s; border-radius: 0.2rem; }
.mobile-menu.change .line1 { transform: rotate(45deg) translate(0.55rem, 0.55rem); }
.mobile-menu.change .line2 { opacity: 0; }
.mobile-menu.change .line3 { transform: rotate(-45deg) translate(0.55rem, -0.55rem); }

/* ================================================================ HERO SWIPER – pontosan mint az eredeti ================================================================ */
.hero-swiper { width: 100%; height: calc(100vh - 5rem); position: absolute; top: 5rem; left: 0; right: 0; z-index: 0; }
@media (max-width:768px) { .hero-swiper { height: calc(100vh - 8rem); top: 8rem; } }

.hero-swiper .swiper-slide { text-align: center; font-size: 1.8rem; background: #ffffff; position: relative; width: 100%; height: 100%; }
.hero-swiper .swiper-slide a.hero-link { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center; }

/* Felirat: középen, nagy, felső 80%-ban */
.hero-swiper .swiper-slide a.hero-link .hero-text { z-index: 2; position: absolute; font-size: 6.8rem; font-weight: 700; color: #ffffff; text-shadow: 0.1rem 0.1rem 0.1rem #000000; text-transform: uppercase; top: 0; left: 0; right: 0; bottom: 20rem; margin: 5rem 20rem; display: flex; align-items: center; justify-content: center; }
@media (max-width:1200px) { .hero-swiper .swiper-slide a.hero-link .hero-text { font-size: 6.2rem; margin: 5rem 15rem; } }
@media (max-width:992px)  { .hero-swiper .swiper-slide a.hero-link .hero-text { font-size: 4.8rem; margin: 5rem 10rem; } }
@media (max-width:768px)  { .hero-swiper .swiper-slide a.hero-link .hero-text { font-size: 3.6rem; margin: 5rem 5rem; } }
@media (max-width:576px)  { .hero-swiper .swiper-slide a.hero-link .hero-text { font-size: 3.2rem; margin: 1.5rem 1.5rem; } }

.hero-swiper .swiper-slide a.hero-link picture { display: block; width: 100%; height: 100%; }
.hero-swiper .swiper-slide a.hero-link picture img,
.hero-swiper .swiper-slide a.hero-link img.hero-image { display: block; width: 100%; height: 100%; object-fit: cover; animation: heroScale 40s linear infinite; }

@keyframes heroScale { 50% { transform: scale(1.3); } }

/* Space to push content below hero */
.hero-bottom-space { padding-top: calc(100vh - 5rem - 20rem); }
@media (max-width:768px) { .hero-bottom-space { padding-top: calc(100vh - 8rem - 20rem); } }

/* ================================================================ STATISTICS – rgba(0,0,0,0.75) FEKETE ================================================================ */
.statistic-block { display: flex; justify-content: space-evenly; align-items: center; flex-wrap: nowrap; background-color: rgba(0,0,0,0.75); height: 20rem; z-index: 2; position: relative; }
@media (max-width:768px) { .statistic-block { flex-wrap: wrap; } }

.statistic-block .statistic-item { text-align: center; margin: 0 4rem; color: #ffffff; }
@media (max-width:1200px) { .statistic-block .statistic-item { margin: 0 4rem; } }
@media (max-width:992px)  { .statistic-block .statistic-item { margin: 0 3rem; } }
@media (max-width:768px)  { .statistic-block .statistic-item { margin: 0 2rem; } }
@media (max-width:576px)  { .statistic-block .statistic-item { margin: 0 1rem; } }

.statistic-block .statistic-item p.statistic-item--title { margin: 0; font-size: 1.2rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.25rem; }
.statistic-block .statistic-item p.statistic-value { font-size: 6.4rem; font-weight: 100; margin: 0; }
@media (max-width:1200px) { .statistic-block .statistic-item p.statistic-value { font-size: 4.8rem; } }
@media (max-width:992px)  { .statistic-block .statistic-item p.statistic-value { font-size: 3.6rem; } }
@media (max-width:768px)  { .statistic-block .statistic-item p.statistic-value { font-size: 3.2rem; } }
@media (max-width:576px)  { .statistic-block .statistic-item p.statistic-value { font-size: 2.6rem; } }

/* ================================================================ PRODUCTS ================================================================ */
h3.mobilier-title { text-align: center; font-size: 3.2rem; font-weight: 300; margin: 6rem 2rem 2rem; color: #4b5661; }
@media (max-width:768px) { h3.mobilier-title { font-size: 2.6rem; } }

.tg-promo-products-container { display: flex; flex-wrap: wrap; justify-content: center; padding: 2rem 0; max-width: 100rem; margin: 0 auto; }
.tg-promo-products-container .product-default-swiper { margin: 1rem; }
@media (max-width:768px) { .tg-promo-products-container .product-default-swiper { margin: 0.5rem; width: 100%; max-width: calc(50% - 1rem); min-width: calc(50% - 1rem); min-height: auto; height: auto; } .tg-promo-products-container .product-default-swiper span.img-block { height: auto; width: 100%; } }

.product-default-swiper { background: #ffffff; border-radius: 0.5rem; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.1); display: flex; flex-direction: column; min-width: 20rem; max-width: 22rem; }
.product-default-swiper:hover { box-shadow: 0 0.3rem 1rem rgba(0,0,0,0.18); }
.product-default-swiper .product-header-part { position: relative; }

.product-default-swiper span.img-block { display: flex; align-items: center; justify-content: center; height: 23rem; width: auto; overflow: hidden; }
@media (max-width:576px) { .product-default-swiper span.img-block { height: auto; width: 16rem; } }
.product-default-swiper span.img-block img.img-style { border-top-left-radius: 0.4rem; border-top-right-radius: 0.4rem; width: 100%; height: auto; }

.product-default-swiper h2.product-title { margin-bottom: 0.25rem; margin-top: 1.75rem; padding: 0; width: 100%; }
.product-default-swiper h2.product-title a { display: block; font-size: 1.4rem; color: #222222; font-weight: 600; padding: 0 1.5rem; }
.product-default-swiper h2.product-title a:hover { color: #0283e6; }
@media (max-width:576px) { .product-default-swiper h2.product-title a { padding: 0 0.5rem; margin-bottom: 0.5rem; } }

.product-default-swiper .promo-top-left { position: absolute; top: 0; left: 0; }
.product-default-swiper .promo-bottom-right { position: absolute; bottom: 0; right: 0; text-align: right; }

.product-promo span { display: inline-block; padding: 0.2rem 0.8rem; border-radius: 0.3rem; font-size: 1.1rem; font-weight: 700; color: #fff; background-color: #0283e6; }
.product-pret-special span { display: inline-block; padding: 0.2rem 0.8rem; border-radius: 0.3rem; font-size: 1.1rem; font-weight: 700; color: #fff; background-color: #eb0000; }
.product-color span, .product-dimension span { display: inline-block; background: rgba(0,0,0,0.55); color: #fff; font-size: 1.1rem; padding: 0.15rem 0.5rem; border-radius: 0.2rem; margin: 0.2rem 0; }
.somiera-inclusa { margin: 0.2rem 0; }
.somiera-inclusa-text { background: #5daf34; color: #fff; font-size: 1rem; padding: 0.15rem 0.5rem; border-radius: 0.2rem; display: inline-block; }
.nr-somiera { font-weight: 700; }

/* Stars */
.stars { --percent: calc(var(--rating) / 5 * 100%); display: flex; align-items: center; font-size: 1.8rem; line-height: 1; margin: 0 0 2rem; }
.stars::before { content: "★★★★★"; letter-spacing: 3px; background: linear-gradient(90deg, #FFDE59 var(--percent), #d3d3d3 var(--percent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
@media (max-width:576px) { .stars { font-size: 1.4rem; } }
.goto .stars { padding: 0 1.5rem; }
span.star-nr { font-size: 1.2rem; margin-top: 0.2rem; color: #4b5661; }

/* Product footer */
.product-default-swiper .produs-footer { display: flex; flex-wrap: nowrap; justify-content: space-between; padding: 0 1.5rem 1.5rem 1.5rem; margin-top: auto; position: relative; }
@media (max-width:576px) { .product-default-swiper .produs-footer { padding: 0 0.5rem 0.5rem 0.5rem; } }
.product-default-swiper .produs-footer .produs-footer-pret { display: flex; flex-wrap: wrap; align-items: center; }
.prices-block--prp { font-size: 1rem; display: flex; flex-wrap: nowrap; width: 100%; }
.prices-block--prp span { color: #888; }
.prp-text { margin-right: 0.5rem; }
.prp-number, .prices-block--prp .decimals, .prices-block--prp .currency { text-decoration: line-through; color: #888; }
.prices-block--pret { display: flex; align-items: baseline; gap: 0.1rem; }
.pret-number { font-size: 2.4rem; font-weight: 700; color: #0283e6; white-space: nowrap; }
.prices-block--pret span.decimals { font-size: 1.2rem; position: relative; top: 0.2rem; margin: 0 0.5rem 0 0.1rem; color: #0283e6; font-weight: 700; text-decoration: none; }
.prices-block--pret span.currency { font-size: 1.4rem; color: #0283e6; text-decoration: none; }

.mobilier-more { display: flex; justify-content: center; margin: 2rem 1rem 4rem; }

/* ================================================================ ACTIVITIES ================================================================ */
.activity-container { background-color: #ffffff; padding: 4rem 0; }
.activity-block-title { text-align: center; font-weight: 100; font-size: 3.2rem; margin: 2rem 0 2rem; color: #4b5661; }
.activity-block { display: flex; flex-wrap: wrap; justify-content: center; max-width: 132.8rem; width: 100%; margin: 0 auto; }

.activity-block .activity-card { width: 23rem; margin: 1rem; border-radius: 0.5rem; padding: 0; border: solid 0.1rem #d3d3d3; display: flex; flex-direction: column; background-color: #ffffff; transition: box-shadow 0.25s; }
.activity-block .activity-card:hover { box-shadow: 0 0.3rem 1rem rgba(0,0,0,0.15); }
.activity-block .activity-card .activity-body { padding: 2rem; }
.activity-block .activity-card .activity-name { width: 100%; height: 15rem; text-align: center; overflow: hidden; border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; }
.activity-block .activity-card .activity-name img { width: 100%; height: 15rem; object-fit: cover; }
.activity-block .activity-card .activity-title { width: 100%; font-size: 1.8rem; font-weight: 800; margin-top: 0; margin-bottom: 1rem; text-align: center; color: #4b5661; transition: color 0.25s; }
.activity-block .activity-card .activity-title:hover { color: #0481e0; }
.activity-title-link { color: inherit; }
.activity-block .activity-card .activity-description { margin-bottom: 2rem; text-align: center; font-size: 1.3rem; color: #6e6e6e; line-height: 1.5; }
.activity-block .activity-card .activity-button { padding: 0 2rem 2rem; margin-top: auto; display: flex; justify-content: center; }

/* ================================================================ PARTNERS ================================================================ */
.partner-container { background-color: #ffffff; }
.partner-block { padding: 4rem 0; }
.partner-block h2.partner-block-title { text-align: center; font-weight: 100; font-size: 3.6rem; color: #4b5661; margin-bottom: 2rem; }
.partner-block .partner-block-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; max-width: 132rem; margin: 0 auto; }
.partner-block .partner-block-container .partner-card { display: flex; align-items: center; justify-content: center; width: 10rem; height: 10rem; margin: 2rem; border: solid 0.1rem #d3d3d3; line-height: 0; }
@media (max-width:768px) { .partner-block .partner-block-container .partner-card { margin: 1rem; } }
.partner-block .partner-block-container .partner-card img { width: auto; height: auto; max-width: 9rem; max-height: 9rem; transition: filter 0.25s; filter: grayscale(100%); opacity: 0.8; }
.partner-block .partner-block-container .partner-card img:hover { filter: grayscale(0); opacity: 1; }

/* ================================================================ PROJECTS ================================================================ */
.project-container { padding: 4rem 0; background-color: #ffffff; }
h2.activity-block-title { text-align: center; font-weight: 100; font-size: 3.2rem; margin: 2rem 0 2rem; color: #4b5661; }
.project-block { display: flex; flex-wrap: wrap; justify-content: center; max-width: 136rem; width: 100%; margin: 0 auto; }
.project-block .project-card { width: 30rem; margin: 2rem; display: flex; flex-direction: column; box-shadow: 0 0 0.1rem #0F1921; border-radius: 1rem; background-image: linear-gradient(to bottom right,#ffffff,#ffffff,#ffffff,#ffffff,#eeeeee,#ffffff); position: relative; overflow: hidden; }
@media (max-width:768px) { .project-block .project-card { margin: 1rem; } }
.project-block .project-card .project-name { line-height: 0; }
.project-block .project-card .project-name img { border-top-left-radius: 1rem; border-top-right-radius: 1rem; width: 100%; height: auto; }
.project-block .project-card .project-title { font-size: 2rem; margin: 1rem 0 0 0; text-align: center; font-weight: 100; position: absolute; top: 0; right: 0; z-index: 2; background-color: rgba(255,255,255,0.8); padding: 0.5rem 2rem; }
.project-block .project-card .project-description { text-align: center; padding: 1rem 2rem; font-size: 1.4rem; display: flex; align-items: center; justify-content: center; min-height: 4rem; }

/* ================================================================ FOOTER – #e6e6e6 szürke ================================================================ */
.region-footer-wrapper { padding: 4rem 0; background-color: #e6e6e6; margin-top: 4rem; box-shadow: 0 -0.5rem 0.5rem -0.5rem #d3d3d3; }
footer { max-width: 116rem; width: calc(100% - 4rem); padding: 0 2rem; margin: 0 auto; }
@media (max-width:768px) { footer { padding: 0 1rem; width: calc(100% - 2rem); } }
.footer-block { display: flex; flex-wrap: wrap; justify-content: space-between; }
.footer-block-item { margin: 0 1rem; flex: 1 1 auto; width: calc(25% - 2rem); }
@media (max-width:768px) { .footer-block-item { width: calc(50% - 2rem); margin-bottom: 2rem; } }
.footer-block-item .footer-info { color: #222222; font-weight: 600; font-size: 1.4rem; margin-bottom: 1rem; display: block; }
.footer-block-item a { display: block; padding-bottom: 0.5rem; color: #4b5661; font-size: 1.4rem; }
@media (max-width:768px) { .footer-block-item a { padding-bottom: 1rem; padding-top: 1rem; } }
.footer-block-item a:hover { color: #222222; text-decoration: underline; }
.social-icons { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.social-icon a { display: flex; align-items: center; }
.social-icon img { width: 3.2rem; height: 3.2rem; }
.industry-address { border-top: solid 0.1rem #4b5661; padding: 0.5rem 0 0 0; margin-top: 1rem; }
.industry-address p.transilvan-mobila-address { margin: 0.5rem 0; font-size: 1.2rem; color: #4b5661; }
.footer-ai { font-size: 1.1rem; color: #888; line-height: 1.5; margin-top: 0.5rem; }
.sal-sol { text-align: center; margin: 4rem 1rem; }
.sal-sol a { margin: 1rem; display: inline-block; }
.sal-sol img { height: 5rem; width: auto; }
