
/* RANEL EMO PRODUCT CATALOG V1 */
.emo-catalog-hero,.emo-detail-hero{background:linear-gradient(135deg,#07111e 0%,#0b1c31 58%,#102b48 100%);color:#fff;padding:54px 0 64px;position:relative;overflow:hidden}
.emo-catalog-hero:after,.emo-detail-hero:after{content:"";position:absolute;right:-140px;top:-180px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018);pointer-events:none}
.emo-catalog-hero .designer-back-link,.emo-detail-hero .designer-back-link{color:#cbd9e8}
.emo-catalog-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:64px;align-items:center;margin-top:34px}
.emo-catalog-hero h1,.emo-detail-hero h1{font-size:clamp(42px,6vw,74px);line-height:.98;letter-spacing:-.035em;margin:10px 0 22px;max-width:900px}
.emo-catalog-hero p,.emo-detail-lead{font-size:18px;line-height:1.65;color:#d3deea;max-width:760px}
.emo-catalog-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.emo-catalog-hero-meta span{display:flex;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.13);padding:9px 12px;border-radius:999px;color:#cbd7e4;font-size:13px}.emo-catalog-hero-meta b{color:#fff}
.emo-catalog-mark{min-height:300px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.emo-catalog-mark span{font-size:86px;font-weight:800;letter-spacing:-.07em;line-height:1}.emo-catalog-mark small{margin-top:14px;letter-spacing:.24em;font-size:12px;color:#9fb4ca}
.emo-catalog-section{background:#f3f6f9}.emo-section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:28px}.emo-section-heading h2{margin:6px 0 0;font-size:clamp(30px,4vw,48px);letter-spacing:-.025em}.emo-section-heading>p{max-width:560px;color:#5b6877;line-height:1.65}
.emo-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.emo-product-card{background:#fff;border:1px solid #dfe6ed;border-radius:18px;overflow:hidden;box-shadow:0 16px 38px rgba(17,36,57,.06)}
.emo-product-card-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#eef2f5;border-bottom:1px solid #dfe6ed;text-decoration:none}.emo-product-card-preview{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center;padding:18px}.emo-product-card-preview+ .emo-product-card-preview{border-left:1px solid #d8e0e7}.emo-product-card-preview img{display:block;width:100%;height:235px;object-fit:contain;mix-blend-mode:multiply}.emo-product-card-preview b{position:absolute;left:14px;bottom:12px;background:#0d2036;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;letter-spacing:.08em}
.emo-product-card-body{padding:24px}.emo-product-card-kicker{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.12em;color:#748396}.emo-product-card-kicker span{font-weight:800;color:#172a41}.emo-product-card-body h2{font-size:34px;margin:10px 0 8px}.emo-product-card-body>p{color:#5f6c7a;line-height:1.6}.emo-product-card-variants{display:grid;gap:6px;margin:18px 0 22px}.emo-product-card-variants span{font-size:13px;color:#33475d;padding-top:8px;border-top:1px solid #edf0f3}.emo-product-card-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-weight:750;color:#0d3155;border-top:1px solid #e9edf1;padding-top:16px}
.emo-empty-card{padding:34px;border-radius:16px;background:#fff;border:1px solid #dfe6ed}
.emo-file-placeholder{display:flex;align-items:center;justify-content:center;width:82px;height:100px;border:2px solid #a9b5c2;border-radius:8px;color:#748392;font-weight:800;letter-spacing:.12em;background:#fff}.emo-file-placeholder--large{width:150px;height:190px;margin:auto}
.emo-breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:30px;font-size:13px;color:#aebfd1}.emo-breadcrumbs a{color:#d6e0ea;text-decoration:none}.emo-breadcrumbs strong{color:#fff}
.emo-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:52px;align-items:center}.emo-detail-copy .emo-rich-copy{color:#bfcddd;margin-top:20px}.emo-rich-copy{line-height:1.75;color:#536273}
.emo-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.emo-detail-badges span{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 11px;font-size:12px;color:#d8e2eb}
.emo-detail-hero-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.emo-detail-hero-preview{display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.18)}.emo-detail-hero-preview img{width:100%;height:250px;object-fit:contain;background:#f4f6f8}.emo-detail-hero-preview>span{display:flex;flex-direction:column;padding:13px;color:#526173;font-size:12px}.emo-detail-hero-preview b{font-size:18px;color:#10243c;margin-bottom:3px}
.emo-information-section{background:#fff}.emo-information-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:22px;align-items:start}.emo-information-grid h2{font-size:40px;margin:8px 0 18px}.emo-info-panel{border:1px solid #dfe6ed;border-radius:16px;padding:24px;background:#f8fafc}.emo-info-panel h3{margin:0 0 18px;font-size:22px}
.emo-included-list{display:grid}.emo-included-list>div{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e4e9ef}.emo-included-list>div:first-child{border-top:0}.emo-included-list>div>span{font-size:11px;font-weight:800;color:#789}.emo-included-list p{margin:0;display:flex;flex-wrap:wrap;gap:6px 10px}.emo-included-list strong{color:#172b42}.emo-included-list small{background:#e8eef4;border-radius:999px;padding:2px 8px}.emo-included-list em{width:100%;font-style:normal;font-size:12px;color:#6a7887}
.emo-spec-list{margin:0}.emo-spec-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid #e4e9ef}.emo-spec-list>div:first-child{border-top:0}.emo-spec-list dt{color:#6a7785}.emo-spec-list dd{margin:0;font-weight:750;color:#18304a;text-align:right}
.emo-variants-section{background:#f3f6f9}.emo-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.emo-variant-card{background:#fff;border:1px solid #dce4eb;border-radius:18px;overflow:hidden}.emo-variant-preview{background:#edf1f4;padding:22px;min-height:420px;display:flex;align-items:center;justify-content:center}.emo-variant-preview a{display:block;width:100%}.emo-variant-preview img{display:block;width:100%;height:390px;object-fit:contain;mix-blend-mode:multiply}.emo-variant-body{padding:24px}.emo-variant-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.emo-variant-heading span{font-size:10px;letter-spacing:.15em;color:#718196}.emo-variant-heading h3{font-size:36px;margin:2px 0 0}.emo-variant-heading>b{font-size:13px;color:#40546b}.emo-variant-name{font-weight:700;color:#1c3855}.emo-file-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.emo-gallery-section{background:#fff}.emo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.emo-gallery-grid a{display:block;text-decoration:none;color:#24384d}.emo-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover;border-radius:12px;border:1px solid #dfe5eb}.emo-gallery-grid span{display:block;padding-top:7px;font-size:13px}
.emo-detail-nav-section{background:#071523;color:#fff;padding-top:32px;padding-bottom:32px}.emo-detail-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}.emo-detail-nav>a{display:flex;flex-direction:column;text-decoration:none;color:#fff}.emo-detail-nav>a span{font-size:11px;color:#9fb0c2;text-transform:uppercase;letter-spacing:.1em}.emo-detail-nav>a strong{margin-top:3px}.emo-detail-nav .is-next{text-align:right}.emo-detail-nav-all{padding:10px 14px!important;border:1px solid rgba(255,255,255,.16);border-radius:999px!important;font-size:12px}
@media(max-width:1000px){.emo-catalog-hero-grid,.emo-detail-hero-grid,.emo-information-grid{grid-template-columns:1fr}.emo-catalog-mark{min-height:200px}.emo-product-grid,.emo-variant-grid{grid-template-columns:1fr}.emo-section-heading{align-items:start;flex-direction:column;gap:10px}.emo-detail-hero-previews{max-width:680px}.emo-information-grid{gap:16px}}
@media(max-width:680px){.emo-catalog-hero,.emo-detail-hero{padding:36px 0 44px}.emo-catalog-mark span{font-size:64px}.emo-product-card-preview{min-height:170px;padding:10px}.emo-product-card-preview img{height:165px}.emo-detail-hero-previews{grid-template-columns:1fr 1fr}.emo-detail-hero-preview img{height:170px}.emo-variant-preview{min-height:280px;padding:12px}.emo-variant-preview img{height:260px}.emo-variant-heading{align-items:start;flex-direction:column}.emo-gallery-grid{grid-template-columns:1fr 1fr}.emo-detail-nav{grid-template-columns:1fr}.emo-detail-nav .is-next{text-align:left}.emo-detail-nav-all{order:-1;width:max-content}.emo-breadcrumbs{flex-wrap:wrap}}

/* RANEL_EMO_DARK_THEME_V1_3 */
.emo-catalog-section,
.emo-information-section,
.emo-variants-section,
.emo-gallery-section {
    background:
        radial-gradient(circle at top right, rgba(20, 52, 88, 0.28), transparent 32%),
        linear-gradient(180deg, #07131f 0%, #081726 52%, #06111d 100%);
    color: #f5f7fb;
}

.emo-catalog-section .container,
.emo-information-section .container,
.emo-variants-section .container,
.emo-gallery-section .container,
.emo-detail-nav-section .container {
    position: relative;
}

.emo-catalog-section,
.emo-information-section,
.emo-variants-section,
.emo-gallery-section,
.emo-detail-nav-section {
    border-top: 1px solid rgba(255,255,255,0.07);
}

.emo-section-heading h2,
.emo-information-grid h2,
.emo-info-panel h3,
.emo-product-card-body h2,
.emo-variant-heading h3,
.emo-detail-nav a strong,
.emo-gallery-section h2 {
    color: #f5f7fb;
}

.emo-section-heading > p,
.emo-product-card-body > p,
.emo-rich-copy,
.emo-variant-body p,
.emo-info-panel,
.emo-spec-list dt,
.emo-gallery-grid span,
.emo-product-card-variants span,
.emo-included-list p,
.emo-detail-nav a span {
    color: #aebfd1;
}

.emo-empty-card,
.emo-product-card,
.emo-variant-card,
.emo-info-panel {
    background: rgba(11, 24, 38, 0.82);
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 20px 44px rgba(0,0,0,0.18);
    backdrop-filter: blur(4px);
}

.emo-product-card-visual,
.emo-variant-preview {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.08);
}

.emo-product-card-preview + .emo-product-card-preview {
    border-left-color: rgba(255,255,255,0.08);
}

.emo-product-card-preview img,
.emo-variant-preview img,
.emo-detail-hero-preview img,
.emo-gallery-grid img {
    background: rgba(255,255,255,0.04);
}

.emo-product-card-kicker,
.emo-product-card-kicker span,
.emo-included-list strong,
.emo-spec-list dd,
.emo-product-card-link,
.emo-detail-nav-all {
    color: #f5f7fb;
}

.emo-product-card-variants span,
.emo-included-list > div,
.emo-spec-list > div {
    border-color: rgba(255,255,255,0.08);
}

.emo-product-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.emo-info-panel,
.emo-gallery-grid img {
    border-color: rgba(255,255,255,0.08);
}

.emo-detail-nav-section {
    background:
        radial-gradient(circle at top left, rgba(145, 15, 30, 0.22), transparent 22%),
        linear-gradient(180deg, #04101b 0%, #050d16 100%);
}

.emo-detail-nav {
    align-items: center;
}

.emo-detail-nav-all {
    border-color: rgba(255,255,255,0.14) !important;
    background: rgba(255,255,255,0.03);
}

.emo-detail-nav-all:hover {
    background: rgba(255,255,255,0.08);
}

.emo-file-actions .btn.btn-outline {
    color: #f5f7fb;
    border-color: rgba(255,255,255,0.22);
    background: transparent;
}

.emo-file-actions .btn.btn-outline:hover {
    background: rgba(255,255,255,0.06);
}

.emo-file-actions .btn.btn-primary {
    box-shadow: 0 12px 28px rgba(212, 24, 36, 0.22);
}

.emo-gallery-grid a {
    color: #f5f7fb;
}

@media (max-width: 1000px) {
    .emo-catalog-section,
    .emo-information-section,
    .emo-variants-section,
    .emo-gallery-section,
    .emo-detail-nav-section {
        background-attachment: scroll;
    }
}

/* RANEL_EMO_PDF_PREVIEW_V1_4 */

/* Technical drawings should read as white paper, even inside the dark EMO theme. */
.emo-product-card-preview,
.emo-variant-preview,
.emo-detail-hero-preview {
    overflow: hidden;
}

/* Catalog thumbnails */
.emo-product-card-preview {
    padding: 18px;
    background: rgba(255,255,255,0.025);
}

.emo-product-card-preview img {
    width: 100%;
    height: 225px;
    object-fit: contain;
    box-sizing: border-box;
    padding: 10px;
    background: #ffffff !important;
    border: 1px solid rgba(15,31,48,0.12);
    border-radius: 9px;
    box-shadow:
        0 10px 24px rgba(0,0,0,0.20),
        0 1px 0 rgba(255,255,255,0.55) inset;
    mix-blend-mode: normal !important;
    filter: contrast(1.035) brightness(1.01);
}

/* Small previews in the detail hero */
.emo-detail-hero-preview {
    background: #ffffff;
    border: 1px solid rgba(255,255,255,0.12);
}

.emo-detail-hero-preview img {
    width: 100%;
    height: 250px;
    object-fit: contain;
    box-sizing: border-box;
    padding: 10px;
    background: #ffffff !important;
    mix-blend-mode: normal !important;
    filter: contrast(1.035) brightness(1.01);
}

.emo-detail-hero-preview > span {
    background: #f7f9fb;
    border-top: 1px solid #e6ebf0;
}

/* Large drawing cards on the EMO product page */
.emo-variant-preview {
    min-height: 440px;
    padding: 28px;
    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,0.055), transparent 60%),
        rgba(255,255,255,0.025);
}

.emo-variant-preview a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.emo-variant-preview img {
    width: 100%;
    height: 390px;
    max-width: 100%;
    object-fit: contain;
    box-sizing: border-box;
    padding: 18px;
    background: #ffffff !important;
    border: 1px solid rgba(11,28,44,0.14);
    border-radius: 10px;
    box-shadow:
        0 18px 42px rgba(0,0,0,0.26),
        0 1px 0 rgba(255,255,255,0.65) inset;
    mix-blend-mode: normal !important;
    filter: contrast(1.045) brightness(1.015);
    transition: transform .18s ease, box-shadow .18s ease;
}

.emo-variant-preview a:hover img {
    transform: translateY(-2px);
    box-shadow:
        0 22px 48px rgba(0,0,0,0.30),
        0 1px 0 rgba(255,255,255,0.65) inset;
}

/* Clear separation between drawing and technical data */
.emo-variant-body {
    border-top: 1px solid rgba(255,255,255,0.07);
}

/* PDF action should visually read as the primary document action. */
.emo-file-actions .btn.btn-primary {
    min-width: 142px;
}

@media (max-width: 680px) {
    .emo-product-card-preview {
        padding: 10px;
    }

    .emo-product-card-preview img {
        height: 165px;
        padding: 7px;
        border-radius: 7px;
    }

    .emo-detail-hero-preview img {
        height: 170px;
        padding: 7px;
    }

    .emo-variant-preview {
        min-height: 300px;
        padding: 14px;
    }

    .emo-variant-preview img {
        height: 270px;
        padding: 10px;
        border-radius: 8px;
    }
}

/* RANEL_EMO_COMPACT_CATALOG_V1_5 */

/* Dense catalog layout intended for 20+ EMO models. */
.emo-catalog-section .emo-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.emo-catalog-section .emo-product-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-radius: 14px;
}

.emo-catalog-section .emo-product-card-visual {
    min-height: 0;
}

.emo-catalog-section .emo-product-card-preview {
    min-height: 0;
    height: 142px;
    padding: 10px;
}

.emo-catalog-section .emo-product-card-preview img {
    height: 122px;
    padding: 6px;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.emo-catalog-section .emo-product-card-preview b {
    left: 8px;
    bottom: 8px;
    padding: 4px 7px;
    font-size: 10px;
}

.emo-catalog-section .emo-product-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.emo-catalog-section .emo-product-card-kicker {
    gap: 8px;
    font-size: 9px;
    letter-spacing: .11em;
}

.emo-catalog-section .emo-product-card-body h2 {
    margin: 7px 0 6px;
    font-size: 27px;
    line-height: 1.02;
}

.emo-catalog-section .emo-product-card-body > p {
    margin: 0;
    font-size: 13px;
    line-height: 1.48;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 38px;
}

.emo-catalog-section .emo-product-card-variants {
    gap: 3px;
    margin: 12px 0 13px;
}

.emo-catalog-section .emo-product-card-variants span {
    padding-top: 6px;
    font-size: 11px;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.emo-catalog-section .emo-product-card-link {
    margin-top: auto;
    padding-top: 11px;
    font-size: 12px;
}

.emo-catalog-section .emo-section-heading {
    margin-bottom: 22px;
}

/* With many models, reduce excess vertical space around the catalog. */
.emo-catalog-section.section {
    padding-top: 58px;
    padding-bottom: 72px;
}

@media (max-width: 1280px) {
    .emo-catalog-section .emo-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .emo-catalog-section .emo-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .emo-catalog-section .emo-product-card-preview {
        height: 150px;
    }

    .emo-catalog-section .emo-product-card-preview img {
        height: 130px;
    }
}

@media (max-width: 580px) {
    .emo-catalog-section .emo-product-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .emo-catalog-section .emo-product-card {
        display: grid;
        grid-template-columns: 42% 58%;
    }

    .emo-catalog-section .emo-product-card-visual {
        grid-template-columns: 1fr;
        border-bottom: 0;
        border-right: 1px solid rgba(255,255,255,.08);
    }

    .emo-catalog-section .emo-product-card-preview {
        height: 108px;
        padding: 7px;
    }

    .emo-catalog-section .emo-product-card-preview + .emo-product-card-preview {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .emo-catalog-section .emo-product-card-preview img {
        height: 94px;
        padding: 4px;
    }

    .emo-catalog-section .emo-product-card-body {
        padding: 13px;
    }

    .emo-catalog-section .emo-product-card-body h2 {
        font-size: 24px;
    }

    .emo-catalog-section .emo-product-card-body > p {
        -webkit-line-clamp: 3;
        min-height: 0;
    }

    .emo-catalog-section .emo-product-card-variants span {
        white-space: normal;
    }
}

/* RANEL_EMO_HERO_IMAGE_V1_6 */

/* Catalog landing hero: decorative cabinet illustration in the right hero block. */
.emo-catalog-mark {
    position: relative;
    min-height: 320px;
    overflow: hidden;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 30px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
        radial-gradient(circle at top right, rgba(255,255,255,0.08), transparent 55%),
        rgba(255,255,255,0.04);
}

.emo-catalog-mark::before {
    content: "";
    position: absolute;
    inset: 14px 14px 14px 14px;
    background:
        url('/images/emo-product-catalog/hero-cabinet-v1.png?v=20260924-6')
        no-repeat right center / contain;
    opacity: 0.96;
    filter: drop-shadow(0 20px 42px rgba(0,0,0,0.30));
    pointer-events: none;
}

.emo-catalog-mark::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 42%;
    background: linear-gradient(180deg, rgba(4,12,21,0) 0%, rgba(4,12,21,0.52) 100%);
    pointer-events: none;
}

.emo-catalog-mark span,
.emo-catalog-mark small {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-self: flex-start;
    width: max-content;
}

.emo-catalog-mark span {
    margin-top: auto;
    font-size: clamp(52px, 5.6vw, 82px);
    line-height: 1;
    letter-spacing: -0.06em;
    padding: 14px 18px 8px;
    border-radius: 16px;
    background: rgba(5, 15, 26, 0.34);
    backdrop-filter: blur(6px);
    box-shadow: inset 0 1px rgba(255,255,255,0.06);
}

.emo-catalog-mark small {
    margin-top: 10px;
    margin-left: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    letter-spacing: 0.18em;
    font-size: 11px;
    color: #d7e4ef;
    background: rgba(5, 15, 26, 0.48);
    backdrop-filter: blur(6px);
}

@media (max-width: 1000px) {
    .emo-catalog-mark {
        min-height: 240px;
        padding: 20px;
    }

    .emo-catalog-mark::before {
        background-position: center right;
        inset: 12px;
        opacity: 0.92;
    }
}

@media (max-width: 680px) {
    .emo-catalog-mark {
        min-height: 210px;
        padding: 16px;
    }

    .emo-catalog-mark::before {
        inset: 10px;
        background-size: auto 88%;
    }

    .emo-catalog-mark span {
        font-size: 52px;
        padding: 10px 14px 6px;
    }

    .emo-catalog-mark small {
        font-size: 10px;
        letter-spacing: 0.14em;
    }
}
