@import url("variables.css");

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text-primary); background: var(--white); font-family: var(--font-body); line-height: 1.6; overflow-x: hidden; }
body.menu-open, body.search-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--brand-secondary); outline-offset: 3px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 10px 15px; color: #fff; background: var(--brand-dark); border-radius: 6px; }
.skip-link:focus { top: 16px; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.section { padding: 104px 0; }
.section--compact { padding: 72px 0; }
.surface { background: var(--surface); }
.dark { color: #fff; background: var(--brand-dark); }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; color: var(--brand-primary); font-weight: 750; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 2px; background: var(--brand-secondary); content: ""; }
.dark .eyebrow { color: #d4d5d6; }
h1,h2,h3,h4 { margin: 0 0 .55em; font-family: var(--font-display); line-height: 1.04; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 6vw, 6.6rem); }
h2 { font-size: clamp(2.15rem, 4vw, 4.35rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
p { margin: 0 0 1.2em; }
.lead { max-width: 760px; color: var(--text-muted); font-size: clamp(1.05rem, 1.55vw, 1.28rem); }
.dark .lead { color: #c9cacc; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 46px; }
.section-head > :first-child { max-width: 850px; }
.section-head p { max-width: 480px; }
.btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; font-weight: 750; transition: transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition); }
.btn:hover { transform: translateY(-2px); }
.btn--primary { color: #fff; background: var(--brand-primary); }
.btn--primary:hover { background: #34373a; }
.btn--secondary { color: #fff; background: var(--brand-secondary); }
.btn--outline { border-color: currentColor; background: transparent; }
.btn--light { color: var(--brand-dark); background: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-primary); font-weight: 760; }
.text-link::after { content: "→"; transition: transform var(--transition); }
.text-link:hover::after { transform: translateX(5px); }
.icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Header */
.site-header { position: relative; z-index: 1000; width: 100%; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--border-color); }
.site-header.is-sticky { position: fixed; top: 0; box-shadow: 0 8px 30px rgba(34,36,38,.08); animation: header-in .3s ease both; }
.header-spacer { display: none; }
.utility { color: #dedfe0; background: var(--brand-dark); font-size: .78rem; }
.utility__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 20px; }
.utility__group { display: flex; align-items: center; gap: 22px; }
.utility a:hover { color: #fff; }
.utility button { padding: 0; color: inherit; background: none; border: 0; }
.main-nav { display: flex; min-height: 84px; align-items: center; gap: 28px; }
.brand { display: inline-flex; min-width: 190px; align-items: center; gap: 10px; }
.brand img { width: 190px; height: auto; max-height: 66px; object-fit: contain; object-position: left center; }
.nav-links { display: flex; flex: 1; align-self: stretch; align-items: stretch; justify-content: center; gap: 4px; }
.nav-item { display: flex; align-items: center; }
.nav-link { display: inline-flex; height: 100%; align-items: center; gap: 6px; padding: 0 12px; color: #36383a; background: none; border: 0; font-size: 1rem; font-weight: 700; white-space: nowrap; }
.nav-link:hover, .nav-item.is-open .products-link, .nav-item.is-open .products-toggle { color: var(--brand-primary); }
.products-nav-control { display: flex; height: 100%; align-items: stretch; }
.products-link { padding-right: 4px; }
.products-toggle { display: inline-flex; width: 34px; height: 100%; align-items: center; justify-content: center; padding: 0; color: #36383a; background: none; border: 0; cursor: pointer; }
.products-toggle::after { content: "⌄"; font-size: .8rem; transition: transform var(--transition); }
.nav-item.is-open .products-toggle::after { transform: rotate(180deg); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.mobile-toggle { display: none; width: 48px; height: 48px; place-items: center; background: #fff; border: 1px solid var(--border-color); border-radius: 50%; }
.mobile-toggle span, .mobile-toggle::before, .mobile-toggle::after { width: 20px; height: 2px; background: currentColor; content: ""; transition: var(--transition); }
.mobile-toggle span { position: absolute; }
.mobile-toggle::before { transform: translateY(-6px); }
.mobile-toggle::after { transform: translateY(6px); }
.mega-menu { position: absolute; top: 100%; left: 50%; width: min(1280px, calc(100vw - 48px)); padding: 32px; visibility: hidden; opacity: 0; background: #fff; border: 1px solid var(--border-color); border-radius: 0 0 18px 18px; box-shadow: var(--shadow); transform: translate(-50%, 14px); transition: opacity var(--transition), transform var(--transition), visibility var(--transition); }
.nav-item.is-open .mega-menu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.mega-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.mega-column { min-width: 0; }
.mega-image { height: 132px; margin-bottom: 18px; overflow: hidden; border-radius: 10px; }
.mega-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s ease; }
.mega-column:hover img { transform: scale(1.04); }
.mega-column h3 { font-size: 1.15rem; }
.mega-column a { display: block; padding: 4px 0; color: var(--text-muted); font-size: .86rem; }
.mega-column a:hover { color: var(--brand-primary); }
.mega-column .mega-image { padding: 0; color: inherit; }
.mega-column .mega-title { display: inline-flex; padding: 0; color: var(--brand-dark); font-size: 1.15rem; font-weight: 800; line-height: 1.25; }
.mega-column .mega-title:hover { color: var(--brand-primary); }

/* Hero */
.hero { position: relative; min-height: 760px; overflow: hidden; background: #eeeae2; }
.hero-slider, .hero-slide { min-height: 760px; }
.hero-slide { position: absolute; inset: 0; display: grid; align-items: center; opacity: 0; pointer-events: none; transition: opacity .65s ease; }
.hero-slide.is-active { opacity: 1; pointer-events: auto; }
.hero-slide__media { position: absolute; inset: 0; }
.hero-slide__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(246,242,233,.98) 0%, rgba(246,242,233,.82) 38%, rgba(246,242,233,.07) 72%); content: ""; }
.hero-slide__media img { width: 100%; height: 100%; object-fit: cover; }
.hero-slide:nth-child(2) .hero-slide__media img { object-position: center; }
.hero-slide__content { position: relative; z-index: 1; width: min(760px, 58%); padding: 80px 0 120px; }
.hero-slide h1 { max-width: 790px; color: var(--brand-dark); }
.hero-slide p { max-width: 650px; color: #55585b; font-size: clamp(1.08rem,1.7vw,1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-slide:nth-child(1) p,
.hero-slide:nth-child(3) p { margin-bottom: .45em; }
.hero-slide:nth-child(1) .hero-actions,
.hero-slide:nth-child(3) .hero-actions { margin-top: 16px; }
.slider-controls { position: absolute; z-index: 4; bottom: 54px; left: max(24px, calc((100vw - var(--container))/2)); display: flex; align-items: center; gap: 10px; }
.slider-dot { width: 34px; height: 4px; padding: 0; overflow: hidden; background: rgba(34,36,38,.22); border: 0; border-radius: 99px; }
.slider-dot::after { display: block; width: 0; height: 100%; background: var(--brand-primary); content: ""; }
.slider-dot.is-active::after { width: 100%; transition: width 5.5s linear; }
.quote-panel { position: relative; z-index: 5; margin-top: -74px; }
.quote-panel__inner { display: grid; grid-template-columns: .75fr 2.25fr; overflow: hidden; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.quote-intro { padding: 42px; color: #fff; background: var(--brand-primary); }
.quote-intro h2 { font-size: 2.25rem; }
.quote-form { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; padding: 34px; }
.field { display: grid; gap: 6px; }
.field--wide { grid-column: span 2; }
.field--full { grid-column: 1/-1; }
.field label { font-size: .78rem; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; min-height: 46px; padding: 10px 12px; color: var(--text-primary); background: #fff; border: 1px solid var(--border-color); border-radius: 8px; }
.field textarea { min-height: 86px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand-primary); outline: 2px solid rgba(74,77,80,.12); }
.checkbox { display: flex; align-items: flex-start; gap: 9px; font-size: .78rem; }
.checkbox input { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--brand-primary); }
.hp-field { position: absolute !important; left: -9999px !important; }
.form-status { display: none; grid-column: 1/-1; padding: 12px 14px; border-radius: 7px; }
.form-status.is-visible { display: block; }
.form-status.is-success { color: var(--success); background: #e9f5ef; }
.form-status.is-error { color: var(--danger); background: #faecec; }

/* Content components */
.intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 80px; }
.media-frame { position: relative; overflow: hidden; min-height: 560px; border-radius: var(--radius-lg); }
.media-frame img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.capabilities { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px 24px; margin: 30px 0 0; padding: 0; list-style: none; }
.capabilities li { display: flex; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--border-color); font-weight: 700; }
.capabilities li::before { color: var(--brand-secondary); content: "✦"; }
.category-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.category-card { position: relative; min-height: 460px; overflow: hidden; color: #fff; border-radius: var(--radius-lg); }
.category-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .75s ease; }
.category-card::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(30,32,34,.9), transparent 68%); content: ""; }
.category-card:hover img { transform: scale(1.045); }
.category-card__body { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: 34px; }
.category-card__body p { max-width: 500px; color: #dedfe0; }
.split-feature { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.feature-card { overflow: hidden; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius-lg); }
.feature-card__image { height: 390px; overflow: hidden; }
.feature-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.feature-card:hover img { transform: scale(1.035); }
.feature-card__body { padding: 34px; }
.editorial { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.editorial-points { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.point { padding: 26px; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius); }
.point__num { display: block; margin-bottom: 24px; color: var(--brand-secondary); font-size: .8rem; font-weight: 800; }
.industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.industry-card { min-height: 260px; padding: 28px; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius); transition: var(--transition); }
.industry-card:hover { border-color: var(--brand-primary); transform: translateY(-5px); box-shadow: 0 16px 40px rgba(34,36,38,.08); }
.industry-card .icon-wrap, .process-step .icon-wrap { display: grid; width: 52px; height: 52px; margin-bottom: 48px; place-items: center; color: var(--brand-primary); background: var(--brand-light); border-radius: 50%; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); counter-reset: process; }
.process-step { position: relative; padding: 32px; border-top: 1px solid #626569; counter-increment: process; }
.process-step::before { position: absolute; top: -6px; left: 32px; width: 11px; height: 11px; background: var(--brand-secondary); border: 3px solid var(--brand-dark); border-radius: 50%; content: ""; }
.process-step::after { display: block; margin-top: 30px; color: #8a8d90; font-size: 3rem; font-weight: 800; content: "0" counter(process); }
.sustain-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: stretch; }
.sustain-copy { padding: 64px; background: var(--brand-light); border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.sustain-media { min-height: 520px; overflow: hidden; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; }
.sustain-media img { width: 100%; height: 100%; object-fit: cover; }
.sustain-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 30px; padding: 0; list-style: none; }
.sustain-list li { padding: 12px 0; border-bottom: 1px solid rgba(74,77,80,.18); font-weight: 700; }
.map-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 50px; }
.world-map { width: 100%; }
.map-land { fill: #dedfdd; stroke: #fff; stroke-width: 1.5; }
.map-marker { fill: var(--brand-secondary); stroke: var(--brand-dark); stroke-width: 3; }
.region-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.region-list span { padding: 7px 12px; color: #e0e1e2; border: 1px solid #575a5e; border-radius: 999px; font-size: .8rem; }
.catalog-cta { position: relative; overflow: hidden; padding: 95px 0; color: #fff; background: var(--brand-primary); }
.catalog-cta::after { position: absolute; top: -100px; right: -80px; width: 430px; height: 430px; border: 80px solid rgba(255,255,255,.05); border-radius: 50%; content: ""; }
.catalog-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 40px; }

/* Generic pages */
.page-hero { position: relative; display: grid; min-height: 500px; align-items: end; overflow: hidden; color: #fff; background: var(--brand-dark); }
.page-hero__media { position: absolute; inset: 0; opacity: .62; }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(34,36,38,.95), rgba(34,36,38,.22)); content: ""; }
.page-hero__content { position: relative; z-index: 1; max-width: 930px; padding: 130px 0 70px; }
.page-hero h1 { font-size: clamp(3rem,6vw,5.5rem); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; font-size: .8rem; color: #d0d1d2; }
.breadcrumbs span::before { margin-right: 8px; content: "/"; }
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.product-card { overflow: hidden; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius); }
.product-card__image { height: 280px; overflow: hidden; background: var(--surface); }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.product-card:hover img { transform: scale(1.04); }
.product-card__body { padding: 25px; }
.product-card__meta { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin: 20px 0; padding: 14px 0; border-block: 1px solid var(--border-color); color: var(--text-muted); font-size: .75rem; }
.product-card__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.product-card__actions .btn { min-height: 42px; padding: 8px 14px; font-size: .78rem; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border-color); border-radius: var(--radius); }
table { width: 100%; border-collapse: collapse; min-width: 680px; }
th,td { padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--border-color); }
th { color: #fff; background: var(--brand-primary); font-size: .8rem; }
td { font-size: .9rem; }
.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.info-grid--two { grid-template-columns: repeat(2,1fr); }
.info-card { padding: 30px; border: 1px solid var(--border-color); border-radius: var(--radius); }
.faq { max-width: 900px; margin-inline: auto; }
.faq-item { border-bottom: 1px solid var(--border-color); }
.faq-q { display: flex; width: 100%; justify-content: space-between; padding: 24px 0; text-align: left; background: none; border: 0; font-weight: 780; }
.faq-q::after { content: "+"; font-size: 1.4rem; }
.faq-item.is-open .faq-q::after { content: "−"; }
.faq-a { max-height: 0; overflow: hidden; color: var(--text-muted); transition: max-height .3s ease; }
.faq-item.is-open .faq-a { max-height: 220px; }
.content-prose { max-width: 880px; }
.content-prose h2 { margin-top: 1.4em; font-size: 2rem; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; }
.contact-card { padding: 38px; background: var(--brand-dark); color: #fff; border-radius: var(--radius-lg); }
.contact-list { display: grid; gap: 20px; margin-top: 36px; }
.contact-list small { display: block; color: #a5a7a9; }
.contact-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; padding: 38px; border: 1px solid var(--border-color); border-radius: var(--radius-lg); }
.legal-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }

/* Search */
.search-overlay { position: fixed; z-index: 2000; inset: 0; display: none; color: #fff; background: rgba(34,36,38,.98); }
.search-overlay.is-open { display: block; }
.search-inner { width: min(880px, calc(100% - 40px)); margin: 9vh auto 0; }
.search-close { float: right; width: 48px; height: 48px; color: #fff; background: none; border: 1px solid #696c70; border-radius: 50%; }
.search-title { clear: both; padding-top: 25px; }
.search-input { width: 100%; padding: 20px 0; color: #fff; background: none; border: 0; border-bottom: 2px solid #73767a; font-size: clamp(1.5rem,4vw,3rem); }
.search-results { display: grid; max-height: 52vh; gap: 8px; margin-top: 25px; overflow-y: auto; }
.search-result { padding: 16px; border: 1px solid #55585b; border-radius: 10px; }
.search-result:hover { background: #34373a; }
.search-result small { color: #a0a2a4; }

/* Footer */
.site-footer { color: #d9dadb; background: #1f2123; }
.footer-main { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 60px; padding: 80px 0 60px; }
.footer-brand img { width: 210px; height: auto; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 330px; margin-top: 22px; color: #97999c; }
.footer-social { display: flex; gap: 9px; margin-top: 20px; }
.footer-social a { display: grid; width: 38px; height: 38px; place-items: center; color: #d9dadb; border: 1px solid #4b4e51; border-radius: 50%; transition: color var(--transition), border-color var(--transition), background var(--transition); }
.footer-social a:hover, .footer-social a:focus-visible { color: #1f2123; background: #fff; border-color: #fff; }
.footer-social .icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer-col h3 { color: #fff; font-size: 1rem; letter-spacing: 0; }
.footer-col a { display: block; padding: 5px 0; color: #a5a7a9; font-size: .88rem; }
.footer-col a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; border-top: 1px solid #3a3d40; color: #929497; font-size: .76rem; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 18px; }
.mobile-quote { position: fixed; z-index: 900; right: 16px; bottom: 16px; display: none; box-shadow: var(--shadow); }
.whatsapp-float { position: fixed; z-index: 901; right: 20px; bottom: 20px; display: grid; width: 52px; height: 52px; place-items: center; color: #fff; background: #188653; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; box-shadow: 0 10px 30px rgba(20,87,58,.24); transition: transform var(--transition), background var(--transition); }
.whatsapp-float:hover, .whatsapp-float:focus-visible { color: #fff; background: #126e43; transform: translateY(-2px); }
.whatsapp-float .icon { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.whatsapp-float::after { position: absolute; right: 62px; padding: 7px 10px; color: #fff; background: #1f2123; border-radius: 6px; content: attr(data-label); font-size: .73rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateX(5px); transition: opacity var(--transition), transform var(--transition); }
.whatsapp-float:hover::after, .whatsapp-float:focus-visible::after { opacity: 1; transform: none; }

/* Reveal */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes header-in { from { transform: translateY(-100%); } }

/* Maintenance */
.maintenance { display: grid; min-height: 100vh; place-items: center; padding: 30px; color: #fff; background: var(--brand-dark); }
.maintenance__card { width: min(760px,100%); padding: clamp(35px,7vw,80px); text-align: center; border: 1px solid #505357; border-radius: var(--radius-lg); }
.maintenance__card img { width: 260px; height: auto; margin: 0 auto 50px; filter: brightness(0) invert(1); }
.maintenance__card h1 { font-size: clamp(2.5rem,6vw,5rem); }
.maintenance__contacts { display: flex; justify-content: center; gap: 22px; margin-top: 35px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Homepage mega menu click-layer fix: keep header/mega menu above hero slider */
.site-header,
.site-header.is-sticky {
  z-index: 99999 !important;
  isolation: isolate;
}

.mega-menu,
.nav-item.is-open .mega-menu {
  z-index: 100000 !important;
  pointer-events: auto !important;
}

.hero,
.hero-slider,
.hero-slide,
.hero-slide__media,
.hero-slide__media::after {
  z-index: 0;
}

.hero-slide.is-active,
.hero-slide__media,
.hero-slide__media::after {
  pointer-events: none;
}

.hero-slide.is-active .hero-slide__content,
.hero-slide.is-active .hero-actions,
.hero-slide.is-active a,
.hero-slide.is-active button {
  pointer-events: auto;
}


.field-hint{
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
}


/* Home Levha Çözümleri cards */
.home-levha-section{
  padding-top:clamp(28px,4vw,56px);
}
.home-levha-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,28px);
}
.home-levha-card{
  background:#111;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.14);
}
.home-levha-card a{
  display:block;
  height:100%;
  color:#f7f1e8;
  text-decoration:none;
}
.home-levha-card__media{
  height:clamp(170px,17vw,230px);
  background:#080808;
  overflow:hidden;
}
.home-levha-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.home-levha-card:hover .home-levha-card__media img{
  transform:scale(1.035);
}
.home-levha-card__body{
  padding:clamp(20px,2.4vw,28px);
}
.home-levha-card__body p{
  margin:0 0 22px;
  color:rgba(247,241,232,.74);
  line-height:1.65;
}
.home-levha-meta{
  margin:0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.11);
}
.home-levha-meta div{
  display:grid;
  grid-template-columns:minmax(86px,.75fr) minmax(0,1fr);
  gap:16px;
  align-items:baseline;
  padding:5px 0;
}
.home-levha-meta dt{
  color:rgba(247,241,232,.45);
  font-size:.86rem;
  font-weight:700;
}
.home-levha-meta dd{
  margin:0;
  color:#f7f1e8;
  font-size:.9rem;
  font-weight:800;
  text-align:right;
}
@media(max-width:980px){
  .home-levha-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .home-levha-grid{grid-template-columns:1fr}
  .home-levha-card__media{height:210px}
  .home-levha-meta div{grid-template-columns:1fr;gap:2px}
  .home-levha-meta dd{text-align:left}
}


/* Home Levha Çözümleri light REN-style override */
.home-levha-section{
  padding-top:clamp(28px,4vw,56px);
}
.home-levha-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 18px 44px rgba(31,34,36,.06);
}
.home-levha-card a{
  display:block;
  height:100%;
  color:var(--text);
  text-decoration:none;
}
.home-levha-card__media{
  height:clamp(160px,15vw,215px);
  background:#f6f4f0;
  overflow:hidden;
}
.home-levha-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.home-levha-card:hover .home-levha-card__media img{
  transform:scale(1.025);
}
.home-levha-card__body{
  position:relative;
  padding:clamp(24px,2.6vw,32px);
}
.home-levha-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.home-levha-title-row h3{
  margin:0;
  font-size:clamp(1.25rem,1.6vw,1.65rem);
  letter-spacing:-.03em;
}
.home-levha-icon{
  width:48px;
  height:48px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#e9f0d8;
  color:#2f3437;
  font-size:1.25rem;
  font-weight:900;
  box-shadow:0 8px 20px rgba(31,34,36,.08);
}
.home-levha-card__body p{
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.65;
}
.home-levha-meta{
  margin:0;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.home-levha-meta div{
  display:grid;
  grid-template-columns:minmax(86px,.75fr) minmax(0,1fr);
  gap:16px;
  align-items:baseline;
  padding:6px 0;
}
.home-levha-meta dt{
  color:var(--muted);
  font-size:.86rem;
  font-weight:700;
}
.home-levha-meta dd{
  margin:0;
  color:var(--text);
  font-size:.9rem;
  font-weight:800;
  text-align:right;
}
@media(max-width:980px){
  .home-levha-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .home-levha-grid{grid-template-columns:1fr}
  .home-levha-card__media{height:210px}
  .home-levha-meta div{grid-template-columns:1fr;gap:2px}
  .home-levha-meta dd{text-align:left}
}


/* Mobile menu icon refinement */
.mobile-toggle{
  position:relative;
  color:var(--brand-dark);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(47,52,55,.16);
  box-shadow:0 10px 26px rgba(31,34,36,.08);
  -webkit-tap-highlight-color:transparent;
}
.mobile-toggle span,
.mobile-toggle::before,
.mobile-toggle::after{
  position:absolute;
  left:50%;
  width:22px;
  height:2px;
  border-radius:999px;
  background:var(--brand-dark);
  content:"";
  transform:translateX(-50%);
  transition:transform .22s ease, opacity .18s ease, background .22s ease;
}
.mobile-toggle span{top:50%;transform:translate(-50%,-50%)}
.mobile-toggle::before{top:calc(50% - 7px)}
.mobile-toggle::after{top:calc(50% + 7px)}
.mobile-toggle[aria-expanded="true"] span{opacity:0}
.mobile-toggle[aria-expanded="true"]::before{top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.mobile-toggle[aria-expanded="true"]::after{top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-toggle:focus,
.mobile-toggle:focus-visible{
  outline:none;
  border-color:rgba(47,52,55,.28);
  box-shadow:0 0 0 4px rgba(166,161,153,.18),0 10px 26px rgba(31,34,36,.08);
}


/* Mobile header/menu final fix */
@media (max-width:1024px){
  .site-header,
  .site-header.is-sticky{
    position:sticky !important;
    top:0 !important;
    width:100% !important;
    z-index:2147483000 !important;
    box-shadow:0 8px 24px rgba(31,34,36,.08);
  }
  .header-spacer{
    display:none !important;
    height:0 !important;
  }
  .mobile-toggle{
    width:56px;
    height:56px;
    min-width:56px;
    position:relative;
    display:grid !important;
    place-items:center;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(47,52,55,.16);
    border-radius:999px;
    color:var(--brand-dark);
    box-shadow:0 10px 28px rgba(31,34,36,.10);
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .mobile-toggle span,
  .mobile-toggle::before,
  .mobile-toggle::after{
    position:absolute;
    left:50%;
    width:22px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    content:"";
    transform:translateX(-50%);
    transition:transform .22s ease, opacity .18s ease, top .22s ease;
  }
  .mobile-toggle span{top:50%;transform:translate(-50%,-50%)}
  .mobile-toggle::before{top:calc(50% - 7px)}
  .mobile-toggle::after{top:calc(50% + 7px)}
  .mobile-toggle[aria-expanded="true"] span{opacity:0}
  .mobile-toggle[aria-expanded="true"]::before{top:50%;transform:translate(-50%,-50%) rotate(45deg)}
  .mobile-toggle[aria-expanded="true"]::after{top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
}


/* Mobile fixed header + hamburger follow fix */
@media (max-width:1024px){
  .site-header,
  .site-header.is-sticky{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:2147483000 !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 8px 24px rgba(31,34,36,.08);
  }
  .header-spacer{
    display:block !important;
    height:var(--ren-mobile-header-height, 96px) !important;
  }
  .nav-actions{
    position:relative;
    z-index:2147483002 !important;
  }
  .mobile-toggle{
    position:relative;
    z-index:2147483003 !important;
    pointer-events:auto !important;
    touch-action:manipulation;
  }
}


/* Desktop mega menu hover restore */
@media (min-width:1025px){
  .nav-item.has-mega:hover .mega-menu,
  .nav-item.has-mega:focus-within .mega-menu{
    visibility:visible !important;
    opacity:1 !important;
    transform:translate(-50%,0) !important;
    pointer-events:auto !important;
  }

  .nav-item.has-mega:hover .products-link,
  .nav-item.has-mega:hover .products-toggle,
  .nav-item.has-mega:focus-within .products-link,
  .nav-item.has-mega:focus-within .products-toggle{
    color:var(--brand-primary) !important;
  }

  .nav-item.has-mega:hover .products-toggle::after,
  .nav-item.has-mega:focus-within .products-toggle::after{
    transform:rotate(180deg);
  }
}


/* Final desktop mega menu hover restore - all pages */
@media (min-width:1025px){
  .site-header .nav-item.has-mega{
    position:relative;
  }
  .site-header .nav-item.has-mega:hover > .mega-menu,
  .site-header .nav-item.has-mega:focus-within > .mega-menu,
  .site-header .nav-item.has-mega.is-open > .mega-menu{
    visibility:visible !important;
    opacity:1 !important;
    transform:translate(-50%,0) !important;
    pointer-events:auto !important;
  }
  .site-header .nav-item.has-mega:hover .products-link,
  .site-header .nav-item.has-mega:hover .products-toggle,
  .site-header .nav-item.has-mega:focus-within .products-link,
  .site-header .nav-item.has-mega:focus-within .products-toggle,
  .site-header .nav-item.has-mega.is-open .products-link,
  .site-header .nav-item.has-mega.is-open .products-toggle{
    color:var(--brand-primary) !important;
  }
  .site-header .nav-item.has-mega:hover .products-toggle::after,
  .site-header .nav-item.has-mega:focus-within .products-toggle::after,
  .site-header .nav-item.has-mega.is-open .products-toggle::after{
    transform:rotate(180deg);
  }
}


/* All pages desktop products hover fallback */
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .site-header .has-mega:hover .mega-menu,
  .site-header .has-mega:focus-within .mega-menu,
  .site-header .has-mega.is-open .mega-menu{
    visibility:visible !important;
    opacity:1 !important;
    transform:translate(-50%,0) !important;
    pointer-events:auto !important;
  }
}


/* Mega menu desktop holder center restore */
@media (min-width:1025px){
  .site-header .nav-item.has-mega{
    position:static !important;
  }
  .site-header .mega-menu{
    left:50% !important;
    right:auto !important;
    width:min(1280px, calc(100vw - 48px)) !important;
    transform:translate(-50%,14px) !important;
  }
  .site-header .has-mega:hover .mega-menu,
  .site-header .has-mega:focus-within .mega-menu,
  .site-header .has-mega.is-open .mega-menu{
    transform:translate(-50%,0) !important;
  }
}


/* Multilingual selector - 2026-07-19 */
.language-selector{position:relative;z-index:100500;display:inline-flex;align-items:center}
.language-selector__button{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;color:inherit;background:none;border:0;font-weight:750;cursor:pointer}
.language-selector__menu{position:absolute;top:calc(100% + 10px);right:0;display:none;min-width:150px;padding:7px;background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 38px rgba(31,34,36,.16);z-index:100501}
.language-selector.is-open .language-selector__menu{display:grid}
.language-selector__menu a{display:block;padding:9px 11px;color:var(--text-primary);border-radius:8px;font-size:.84rem;font-weight:700;white-space:nowrap}
.language-selector__menu a:hover,.language-selector__menu a.is-active{background:var(--brand-light);color:var(--brand-primary)}
html[dir="rtl"] body{direction:rtl;text-align:right}
html[dir="rtl"] .main-nav,html[dir="rtl"] .nav-links,html[dir="rtl"] .utility__inner,html[dir="rtl"] .section-head,html[dir="rtl"] .hero-actions,html[dir="rtl"] .contact-list{direction:rtl}
html[dir="rtl"] .language-selector__menu{right:auto;left:0}
html[dir="rtl"] .text-link::after{content:"←"}
html[dir="rtl"] .pdp-table th:first-child,html[dir="rtl"] .pdp-table td:first-child{text-align:right}
html[dir="rtl"] .pdp-table td{text-align:center}
html[dir="rtl"] .pdp-feature-list li{flex-direction:row}
html[dir="rtl"] .pdp-breadcrumbs li+li::before{margin-right:0;margin-left:7px}
@media(max-width:1024px){.language-selector__menu{position:fixed;top:54px;right:14px;left:auto;min-width:170px}.utility__group:last-child{overflow:visible!important}.utility{overflow:visible!important}html[dir="rtl"] .language-selector__menu{right:auto;left:14px}}

/* Spanish audit phase 1: clickable card titles and mobile language selector */
.product-card__body h3 a,.category-card__body h2 a,.info-card h3 a{color:inherit;text-decoration:none}
.product-card__body h3 a:hover,.category-card__body h2 a:hover,.info-card h3 a:hover{color:var(--brand-primary)}
.category-card__media{display:block;overflow:hidden}
.category-card__media img{display:block;width:100%}
.language-selector--mobile{display:none}
@media(max-width:1024px){
  .language-selector--desktop{display:none}
  .language-selector--mobile{display:inline-flex;flex:0 0 auto}
  .language-selector--mobile .language-selector__button{width:48px;height:48px;justify-content:center;gap:3px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:50%;font-size:.72rem;font-weight:800}
  .language-selector--mobile .language-selector__menu{position:fixed;top:78px;right:72px;left:auto;min-width:172px}
  html[dir="rtl"] .language-selector--mobile .language-selector__menu{right:auto;left:72px}
}
@media(max-width:430px){
  .nav-actions{gap:8px}
  .language-selector--mobile .language-selector__button,.mobile-toggle{width:44px;height:44px}
  .language-selector--mobile .language-selector__menu{top:72px;right:64px}
  html[dir="rtl"] .language-selector--mobile .language-selector__menu{right:auto;left:64px}
}

/* 2026-07-31 contact social */
.contact-social-wrap { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); }
.contact-social-label { display: block; color: #a5a7a9; margin-bottom: 10px; }
.contact-social { margin-top: 0; }
