.rl-renderer{
    max-width: 760px;
}
.rl-renderer-form{
    display: grid;
    gap: 16px;
}
.rl-renderer-title{
    margin: 0 0 4px;
}
.rl-renderer-field{
    display: grid;
    gap: 6px;
}
/* v0.12.1: conditional fields must stay hidden even when component/theme CSS sets display. */
.rl-renderer-field[hidden]{
    display:none !important;
}
.rl-renderer-label{
    font-weight: 600;
}
.rl-renderer-input-wrap{
    display: flex;
    align-items: center;
    gap: 8px;
}
.rl-renderer-input{
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
}
.rl-renderer-unit{
    white-space: nowrap;
}
.rl-renderer-choice-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.rl-renderer-choice-option{
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.rl-renderer-submit{
    min-height: 44px;
    cursor: pointer;
}
.rl-renderer-status{
    min-height: 1.4em;
    font-size: 14px;
}
.rl-renderer-result-mount:empty{
    display: none;
}
.rl-renderer-error{
    padding: 12px;
    border: 1px solid #ddd;
}

/* Final form composition v0.6 */
.rl-calculator-page .rl-renderer-form{
    grid-template-columns:1fr 1fr;
    gap:14px 16px;
    padding:22px;
}

.rl-calculator-page .rl-renderer-title,
.rl-calculator-page .rl-renderer-choice,
.rl-calculator-page .rl-renderer-submit,
.rl-calculator-page .rl-renderer-status{
    grid-column:1 / -1;
}

.rl-calculator-page .rl-renderer-field[data-field-id="room_length"],
.rl-calculator-page .rl-renderer-field[data-field-id="room_width"],
.rl-calculator-page .rl-renderer-field[data-field-id="tile_length"],
.rl-calculator-page .rl-renderer-field[data-field-id="tile_width"],
.rl-calculator-page .rl-renderer-field[data-field-id="reserve_percent"],
.rl-calculator-page .rl-renderer-field[data-field-id="price_per_m2"]{
    grid-column:auto;
}

.rl-calculator-page .rl-renderer-input{
    min-height:42px;
    border-color:#d8e0eb;
    background:#fff;
}

.rl-calculator-page .rl-renderer-choice-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.rl-calculator-page .rl-renderer-choice-option{
    min-height:54px;
    background:#fff;
}

.rl-calculator-page .rl-renderer-choice-option:has(input:checked){
    background:var(--rl-accent-soft);
    border-color:var(--rl-accent);
}

.rl-calculator-page .rl-renderer-submit{
    min-height:46px;
    margin-top:0;
    background:var(--rl-accent);
    box-shadow:none;
}

.rl-calculator-page .rl-renderer-submit:hover{
    box-shadow:0 6px 18px rgba(23,185,176,.18);
}

@media(max-width:700px){
    .rl-calculator-page .rl-renderer-form{
        grid-template-columns:1fr;
    }
    .rl-calculator-page .rl-renderer-choice-list{
        grid-template-columns:1fr;
    }
}


/* Approved desktop calculator composition v0.6.2 */
@media(min-width:981px){
    .rl-calculator-page .rl-renderer-form{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:14px 16px;
        padding:22px;
    }

    .rl-calculator-page .rl-renderer-title,
    .rl-calculator-page .rl-renderer-choice,
    .rl-calculator-page .rl-renderer-submit,
    .rl-calculator-page .rl-renderer-status{
        grid-column:1 / -1;
    }

    .rl-calculator-page .rl-renderer-field[data-field-id="room_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="room_width"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_width"]{
        grid-column:auto;
    }

    .rl-calculator-page .rl-renderer-field[data-field-id="reserve_percent"]{
        grid-column:1 / 3;
    }

    .rl-calculator-page .rl-renderer-field[data-field-id="price_per_m2"]{
        grid-column:3 / 5;
    }
}


/* Mobile form v0.6.3 */
@media(max-width:640px){

    .rl-calculator-page .rl-renderer-form{
        grid-template-columns:1fr 1fr !important;
        gap:12px 10px;
        padding:16px;
    }

    .rl-calculator-page .rl-renderer-title,
    .rl-calculator-page .rl-renderer-choice,
    .rl-calculator-page .rl-renderer-submit,
    .rl-calculator-page .rl-renderer-status{
        grid-column:1 / -1 !important;
    }

    .rl-calculator-page .rl-renderer-title{
        font-size:20px;
        margin-bottom:0;
    }

    .rl-calculator-page .rl-renderer-field{
        min-width:0;
    }

    .rl-calculator-page .rl-renderer-field[data-field-id="room_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="room_width"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_width"],
    .rl-calculator-page .rl-renderer-field[data-field-id="reserve_percent"],
    .rl-calculator-page .rl-renderer-field[data-field-id="price_per_m2"]{
        grid-column:auto !important;
    }

    .rl-calculator-page .rl-renderer-label{
        font-size:12px;
        line-height:1.2;
    }

    .rl-calculator-page .rl-renderer-input{
        min-height:44px;
        padding:9px 10px;
        font-size:16px; /* prevents iOS zoom */
    }

    .rl-calculator-page .rl-renderer-choice-list{
        grid-template-columns:1fr !important;
        gap:8px;
    }

    .rl-calculator-page .rl-renderer-choice-option{
        min-height:46px;
        padding:10px 12px;
        justify-content:flex-start;
    }

    .rl-calculator-page .rl-renderer-submit{
        min-height:48px;
        font-size:15px;
    }

    .rl-calculator-page .rl-renderer-status{
        font-size:12px;
    }
}

@media(max-width:390px){
    .rl-calculator-page .rl-renderer-form{
        grid-template-columns:1fr !important;
    }

    .rl-calculator-page .rl-renderer-field[data-field-id="room_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="room_width"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_length"],
    .rl-calculator-page .rl-renderer-field[data-field-id="tile_width"],
    .rl-calculator-page .rl-renderer-field[data-field-id="reserve_percent"],
    .rl-calculator-page .rl-renderer-field[data-field-id="price_per_m2"]{
        grid-column:1 !important;
    }
}


/* Final mobile form density v0.6.4 */
@media(max-width:640px){

    .rl-calculator-page .rl-renderer-form{
        padding:14px;
        gap:10px 10px;
    }

    .rl-calculator-page .rl-renderer-choice-list{
        gap:7px;
    }

    .rl-calculator-page .rl-renderer-choice-option{
        min-height:42px;
        padding:8px 11px;
        font-size:13px;
        line-height:1.25;
    }

    .rl-calculator-page .rl-renderer-field{
        gap:5px;
    }

    .rl-calculator-page .rl-renderer-input{
        min-height:42px;
    }

    .rl-calculator-page .rl-renderer-submit{
        min-height:46px;
    }
}

/* Universal calculator content sections v0.8.0 */
.rl-renderer-section{
    margin-top:16px;
    padding:22px;
    border:1px solid #e3e9f1;
    border-radius:16px;
    background:#fff;
    box-sizing:border-box;
}
.rl-renderer-section-title{
    margin:0 0 14px;
    font-size:22px;
    line-height:1.2;
    color:#0b2545;
}
.rl-renderer-steps-grid,
.rl-renderer-cards-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.rl-renderer-step-card,
.rl-renderer-content-card{
    position:relative;
    display:flex;
    gap:12px;
    min-width:0;
    padding:16px;
    border:1px solid #e7edf4;
    border-radius:12px;
    background:#fbfcfe;
    box-sizing:border-box;
}
.rl-renderer-step-number{
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#e9fbf8;
    color:#12a99f;
    font-weight:700;
    font-size:13px;
}
.rl-renderer-step-content h3,
.rl-renderer-content-card h3{
    margin:0 0 5px;
    font-size:15px;
    line-height:1.3;
    color:#0b2545;
}
.rl-renderer-step-content p,
.rl-renderer-content-card p,
.rl-renderer-faq-answer p{
    margin:0;
    font-size:13px;
    line-height:1.5;
    color:#5d6b7c;
}
.rl-renderer-content-card{
    display:block;
}
.rl-renderer-card-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:10px;
    color:#0fa9a1;
    font-weight:600;
    text-decoration:none;
}
.rl-renderer-faq-list{
    display:grid;
    gap:8px;
}
.rl-renderer-faq-item{
    border:1px solid #e7edf4;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
}
.rl-renderer-faq-item summary{
    cursor:pointer;
    padding:13px 14px;
    font-weight:600;
    color:#0b2545;
}
.rl-renderer-faq-answer{
    padding:0 14px 14px;
}

@media(max-width:640px){
    .rl-renderer-section{
        margin-top:12px;
        padding:16px;
        border-radius:14px;
    }
    .rl-renderer-section-title{
        font-size:20px;
    }
    .rl-renderer-steps-grid,
    .rl-renderer-cards-grid{
        grid-template-columns:1fr;
        gap:9px;
    }
    .rl-renderer-step-card,
    .rl-renderer-content-card{
        padding:13px;
    }
}


/* Image radio cards v0.10.2 — compact 2×2 layout */
.rl-calculator-page .rl-renderer-image-choice-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px;
}
.rl-calculator-page .rl-renderer-image-choice-option{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    min-height:0;
    padding:8px;
    border:1px solid #dfe7ef;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    overflow:hidden;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.rl-calculator-page .rl-renderer-image-choice-option input{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    margin:0;
}
.rl-calculator-page .rl-renderer-choice-image-wrap{
    display:block;
    width:140px;
    height:140px;
    max-width:100%;
    margin:0 auto;
    overflow:hidden;
    border-radius:8px;
    background:#f7f9fb;
}
.rl-calculator-page .rl-renderer-choice-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.rl-calculator-page .rl-renderer-choice-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    padding:0 2px 2px;
    color:#0b2545;
}
.rl-calculator-page .rl-renderer-choice-copy strong{
    font-size:13px;
    line-height:1.25;
}
.rl-calculator-page .rl-renderer-choice-copy small{
    font-size:12px;
    line-height:1.2;
    color:#12a99f;
}
.rl-calculator-page .rl-renderer-image-choice-option:has(input:checked){
    border-color:var(--rl-accent);
    background:var(--rl-accent-soft);
    box-shadow:0 0 0 1px var(--rl-accent);
}
.rl-calculator-page .rl-renderer-image-choice-option:hover{
    border-color:var(--rl-accent);
}

@media(max-width:700px){
    .rl-calculator-page .rl-renderer-image-choice-list{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px;
    }
    .rl-calculator-page .rl-renderer-image-choice-option{
        padding:7px;
    }
    .rl-calculator-page .rl-renderer-choice-copy strong{
        font-size:12px;
    }
    .rl-calculator-page .rl-renderer-choice-copy small{
        font-size:11px;
    }
    .rl-calculator-page .rl-renderer-choice-image-wrap{
        width:110px;
        height:110px;
    }
}


/* Desktop compact density v0.10.3
   Recreates the visual density users see around 75% browser zoom,
   without changing browser zoom and without affecting mobile. */
@media(min-width:981px){
    .rl-calculator-page .rl-renderer{
        max-width:570px;
        margin-left:auto;
        margin-right:auto;
    }

    .rl-calculator-page .rl-renderer-form{
        gap:10px 12px;
        padding:17px;
    }

    .rl-calculator-page .rl-renderer-title{
        font-size:18px;
        line-height:1.2;
        margin-bottom:0;
    }

    .rl-calculator-page .rl-renderer-label{
        font-size:12px;
        line-height:1.2;
    }

    .rl-calculator-page .rl-renderer-field{
        gap:4px;
    }

    .rl-calculator-page .rl-renderer-input{
        min-height:36px;
        padding:7px 9px;
        font-size:13px;
    }

    .rl-calculator-page .rl-renderer-unit{
        font-size:11px;
    }

    .rl-calculator-page .rl-renderer-image-choice-list{
        gap:7px;
    }

    .rl-calculator-page .rl-renderer-image-choice-option{
        gap:5px;
        padding:6px;
        border-radius:10px;
    }

    .rl-calculator-page .rl-renderer-choice-image-wrap{
        width:105px;
        height:105px;
        border-radius:7px;
    }

    .rl-calculator-page .rl-renderer-choice-copy strong{
        font-size:11px;
    }

    .rl-calculator-page .rl-renderer-choice-copy small{
        font-size:10px;
    }

    .rl-calculator-page .rl-renderer-submit{
        min-height:38px;
        font-size:12px;
    }

    .rl-calculator-page .rl-renderer-status{
        font-size:11px;
        min-height:1.2em;
    }

    .rl-calculator-page .rl-renderer-section{
        margin-top:11px;
        padding:16px;
        border-radius:12px;
    }

    .rl-calculator-page .rl-renderer-section-title{
        margin-bottom:10px;
        font-size:17px;
    }

    .rl-calculator-page .rl-renderer-steps-grid,
    .rl-calculator-page .rl-renderer-cards-grid{
        gap:8px;
    }

    .rl-calculator-page .rl-renderer-step-card,
    .rl-calculator-page .rl-renderer-content-card{
        gap:8px;
        padding:11px;
        border-radius:9px;
    }

    .rl-calculator-page .rl-renderer-step-number{
        flex-basis:21px;
        width:21px;
        height:21px;
        font-size:10px;
    }

    .rl-calculator-page .rl-renderer-step-content h3,
    .rl-calculator-page .rl-renderer-content-card h3{
        margin-bottom:3px;
        font-size:12px;
    }

    .rl-calculator-page .rl-renderer-step-content p,
    .rl-calculator-page .rl-renderer-content-card p,
    .rl-calculator-page .rl-renderer-faq-answer p{
        font-size:10.5px;
        line-height:1.45;
    }

    .rl-calculator-page .rl-renderer-card-link{
        margin-top:7px;
        font-size:11px;
    }

    .rl-calculator-page .rl-renderer-faq-list{
        gap:6px;
    }

    .rl-calculator-page .rl-renderer-faq-item summary{
        padding:10px 11px;
        font-size:11px;
    }

    .rl-calculator-page .rl-renderer-faq-answer{
        padding:0 11px 11px;
    }
}
\n\n/* v0.10.4 — reserved advertising slot (hidden by meta until enabled) */\n.rl-calculator-page .rl-renderer-ad-section{\n    padding:0;\n    background:transparent;\n    border:0;\n    box-shadow:none;\n}\n\n.rl-calculator-page .rl-renderer-ad-slot{\n    min-height:92px;\n    display:flex;\n    flex-direction:column;\n    align-items:center;\n    justify-content:center;\n    gap:5px;\n    border:1px dashed #d9e2ec;\n    border-radius:12px;\n    background:#fbfcfe;\n    color:#8b98aa;\n    text-align:center;\n}\n\n.rl-calculator-page .rl-renderer-ad-label{\n    font-size:10px;\n    line-height:1.2;\n    text-transform:uppercase;\n    letter-spacing:.08em;\n}\n\n.rl-calculator-page .rl-renderer-ad-placeholder{\n    font-size:11px;\n    line-height:1.35;\n}\n\n@media (max-width: 700px){\n    .rl-calculator-page .rl-renderer-ad-slot{\n        min-height:76px;\n    }\n}\n
/* Universal section visual library v0.11.0 */
.rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-cards-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-content-card{
    display:flex;
    flex-direction:column;
    min-height:168px;
    background:#fff;
}
.rl-calculator-page .rl-renderer-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    margin-bottom:5px;
    border-radius:9px;
    background:#e9fbf8;
    color:#10aaa1;
}
.rl-calculator-page .rl-renderer-card-icon svg{
    width:17px;
    height:17px;
    fill:currentColor;
}
.rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-content-card h3{
    margin-top:0;
}
.rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-content-card p{
    margin-bottom:10px;
}
.rl-calculator-page .rl-renderer-card-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:38px;
    margin-top:auto;
    padding:8px 10px;
    box-sizing:border-box;
    border-radius:8px;
    background:#0b2d55;
    color:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
}
.rl-calculator-page .rl-renderer-card-button:hover{
    background:#123a68;
    color:#fff;
}
.rl-calculator-page .rl-renderer-card-button--disabled{
    opacity:.75;
    cursor:default;
}

.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-content-card{
    padding:0;
    overflow:hidden;
    background:#fff;
}
.rl-calculator-page .rl-renderer-article-media{
    display:block;
    width:100%;
    aspect-ratio:16/7;
    overflow:hidden;
    background:#eef4f7;
}
.rl-calculator-page .rl-renderer-article-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.rl-calculator-page .rl-renderer-article-media--placeholder{
    background:linear-gradient(135deg,#edf8f8 0%,#f7fafc 58%,#eef3f7 100%);
}
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-content-card h3,
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-content-card p,
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-card-link,
.rl-calculator-page .rl-renderer-card-eyebrow{
    margin-left:11px;
    margin-right:11px;
}
.rl-calculator-page .rl-renderer-card-eyebrow{
    display:block;
    margin-top:10px;
    margin-bottom:5px;
    color:#10aaa1;
    font-size:9.5px;
    font-weight:700;
    line-height:1.2;
}
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-content-card h3{
    margin-top:10px;
}
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-content-card p{
    margin-bottom:11px;
}
.rl-calculator-page .rl-renderer-cards--articles .rl-renderer-card-link{
    margin-bottom:11px;
}

.rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-cards-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-content-card{
    display:flex;
    flex-direction:column;
    min-height:92px;
    background:#fbfcfe;
}
.rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-content-card h3{
    font-size:12px;
}
.rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-card-link{
    margin-top:auto;
}

@media(max-width:980px){
    .rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-cards-grid,
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-cards-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-cards-grid,
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid,
    .rl-calculator-page .rl-renderer-cards--calculators .rl-renderer-cards-grid{
        grid-template-columns:1fr;
    }
    .rl-calculator-page .rl-renderer-cards--next_steps .rl-renderer-content-card{
        min-height:0;
    }
    .rl-calculator-page .rl-renderer-card-button{
        min-height:42px;
        font-size:13px;
    }
    .rl-calculator-page .rl-renderer-article-media{
        aspect-ratio:16/8;
    }
}


/* =========================================================
   Article cards v0.11.1
   Featured-image cards: 4 desktop / 2 tablet / 1 mobile
   ========================================================= */
@media(min-width:981px){
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-article-media{
        height:112px;
        aspect-ratio:auto;
    }
}
@media(min-width:641px) and (max-width:980px){
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-article-media{
        height:130px;
        aspect-ratio:auto;
    }
}
@media(max-width:640px){
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-cards-grid{
        grid-template-columns:1fr;
    }
    .rl-calculator-page .rl-renderer-cards--articles .rl-renderer-article-media{
        height:auto;
        aspect-ratio:16/8;
    }
}


/* =========================================================
   Contextual section hub link v0.11.2
   Example: "Все статьи о плитке →"
   ========================================================= */
.rl-calculator-page .rl-renderer-section-more{
    display:flex;
    justify-content:flex-end;
    margin-top:12px;
}

.rl-calculator-page .rl-renderer-section-more-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    text-decoration:none;
    color:#13aaa4;
    transition:opacity .18s ease, transform .18s ease;
}

.rl-calculator-page .rl-renderer-section-more-link:hover{
    opacity:.82;
    transform:translateX(2px);
}

@media(max-width:640px){
    .rl-calculator-page .rl-renderer-section-more{
        justify-content:flex-start;
        margin-top:10px;
    }
}
