/* Multilingual product/form presentation; all validation and consent logic stays in CF7. */
.single-product #main .pos-top15-foreign-hero {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:18px 32px;align-items:start;margin:16px 0 28px;text-align:left;
}
.single-product #main .pos-top15-foreign-hero h1 {
    grid-column:1;grid-row:1;font-size:clamp(30px,3vw,44px)!important;
    line-height:1.15;text-align:left!important;text-transform:none!important;margin:0;
    letter-spacing:-.02em;overflow-wrap:normal;word-break:normal;
}
.single-product #main .pos-top15-foreign-hero>.pos-ux-lead {
    grid-column:1;grid-row:2;margin:0;line-height:1.6;font-size:18px;
}
.single-product #main .pos-top15-foreign-hero>.button {
    grid-column:1;grid-row:3;justify-self:start;margin:0!important;
    white-space:normal;min-height:48px;height:auto;
}
.single-product #main .pos-top15-foreign-hero>.pos-ux-main-photo {
    grid-column:2;grid-row:1/5;margin:0;
}
.pos-top15-foreign-hero .pos-ux-main-photo img {
    display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;
}
.pos-top15-foreign-hero .pos-ux-main-photo figcaption {
    margin-top:8px;color:#4b5f66;font-size:14px;line-height:1.45;
}
.single-product #main .pos-top15-foreign-hero>.pos-product-key-benefits {
    grid-column:1;grid-row:4;display:block;margin:0;padding:0;
    background:none;border:0;box-shadow:none;
}
.single-product #main .pos-top15-foreign-hero>.pos-product-key-benefits>li {
    display:block;border:0;border-left:3px solid #a7b212;border-radius:0;
    box-shadow:none;background:none;padding:4px 0 4px 12px;
    margin:0 0 10px;font-size:15px;line-height:1.5;
}

/* The old grid nests a two-column paragraph inside another two-column grid. Flatten one level. */
#main .wpcf7.pos-top15-form-card .cf7-row {
    display:block!important;width:100%!important;grid-template-columns:none!important;
}
#main .wpcf7.pos-top15-form-card .cf7-row>p {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 16px;width:100%!important;max-width:none!important;margin:0 0 12px;
}
#main .wpcf7.pos-top15-form-card .cf7-row>p>br {display:none}
#main .wpcf7.pos-top15-form-card .cf7-row>p>label {
    width:100%!important;min-width:0;max-width:none!important;margin-right:0!important;
}
/* Some translated CF7 forms use separate label[for] + input blocks instead of
   wrapping labels. Keep their two-field grid without nesting another grid. */
#main .wpcf7.pos-top15-form-card .cf7-row.pos-top15-div-row {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 16px;align-items:start;
}
#main .wpcf7.pos-top15-form-card .cf7-row.pos-top15-div-row>div {
    min-width:0;width:100%!important;max-width:none!important;
}
#main .wpcf7.pos-top15-form-card .cf7-row.pos-top15-div-row>div>p {
    display:block!important;width:100%!important;max-width:none!important;margin:0 0 12px;
}
#main .wpcf7.pos-top15-form-card label[for] {margin-bottom:0}
#main .wpcf7.pos-top15-form-card p>label[for]+br {display:none}
#main .wpcf7.pos-top15-form-card {
    max-width:920px;margin:0 auto 28px;padding:28px;
    border:1px solid #dce3df;border-radius:14px;background:#f7f9f8;box-shadow:none;
}
#main .wpcf7.pos-top15-form-card form {margin:0}
#main .wpcf7.pos-top15-form-card label {
    display:block;font-size:15px;line-height:1.5;margin:0 0 12px;
}
#main .wpcf7.pos-top15-form-card input:not([type=checkbox]):not([type=submit]):not([type=file]) {
    width:100%;max-width:none;min-height:46px;margin:6px 0 0;
}
#main .wpcf7.pos-top15-form-card textarea {
    width:100%;max-width:none;min-height:132px;height:132px;margin:6px 0 0;resize:vertical;
}
#main .wpcf7.pos-top15-form-card input[type=file] {
    display:block;width:100%;max-width:100%;min-height:46px;height:auto;
    padding:8px;white-space:normal;font-size:14px;
}
#main .wpcf7.pos-top15-form-card .pos-message-hint {
    font-size:14px;line-height:1.5;margin:0 0 12px;
}
#main .wpcf7.pos-top15-form-card .wpcf7-acceptance {
    display:block;margin:0 0 16px;font-size:14px;line-height:1.55;
}
#main .wpcf7.pos-top15-form-card .wpcf7-acceptance label {display:inline;font-weight:400}
#main .wpcf7.pos-top15-form-card .wpcf7-acceptance .wpcf7-list-item {margin:0}
#main .wpcf7.pos-top15-form-card input[type=submit] {
    min-height:48px;height:auto;max-width:100%;white-space:normal;margin:0;
}
#main .wpcf7.pos-top15-form-card .form-required-note {font-size:13px;margin:0 0 8px}

/* One inline question plus one distinct indicator; Ug cannot become a flex child by itself. */
#main summary.pos-top15-summary {
    display:flex!important;align-items:flex-start;justify-content:space-between;
    gap:16px;list-style:none!important;cursor:pointer;min-height:48px;
}
#main summary.pos-top15-summary::-webkit-details-marker {display:none}
#main summary.pos-top15-summary::marker {content:''}
#main summary.pos-top15-summary>.pos-top15-summary-label {
    display:block;flex:1;min-width:0;line-height:1.45;
}
#main summary.pos-top15-summary>.pos-top15-summary-label h2 {
    display:inline;font-size:inherit;margin:0;
}
#main summary.pos-top15-summary .pos-top15-symbol {display:inline-block;white-space:nowrap}
#main summary.pos-top15-summary .pos-top15-symbol sub {display:inline;font-size:.75em;vertical-align:sub}
#main summary.pos-top15-summary::after {content:none!important;display:none!important}
#main summary.pos-top15-summary>.pos-top15-summary-indicator {
    display:grid;place-items:center;flex:0 0 24px;
    width:24px;height:24px;margin:0!important;border:1px solid #8b9891;
    border-radius:50%;font-size:20px;font-weight:500;line-height:1;color:#24383e;
}
#main summary.pos-top15-summary>.pos-top15-summary-indicator::before {content:'+'}
#main details[open]>summary.pos-top15-summary>.pos-top15-summary-indicator {background:#edf2e5}
#main details[open]>summary.pos-top15-summary>.pos-top15-summary-indicator::before {content:'−'}
#main summary.pos-top15-summary:hover {background:#edf2e5}
#main summary.pos-top15-summary:focus-visible {outline:3px solid #53640d;outline-offset:-4px}

/* Neutral related solutions preserve their URLs while leaving the enquiry action dominant. */
html[lang] body.single-product #main .pos-related-products a.button {
    background:#fff!important;border:1px solid #cbd5d1!important;color:#24383e!important;
    box-shadow:none!important;text-transform:none!important;letter-spacing:0;
}
html[lang] body.single-product #main .pos-related-products a.button:hover,
html[lang] body.single-product #main .pos-related-products a.button:focus-visible {
    background:#edf2e5!important;border-color:#627078!important;color:#24383e!important;
    text-decoration:underline;text-underline-offset:3px;
}
html[lang] body.single-product #main .pos-related-products a.button:focus-visible {outline:3px solid #53640d;outline-offset:3px}
.single-product .pos-quality-tools.pos-top15-at-end {display:none!important}
/* Show the whole verified upstand/opening assembly rather than cropping its edges. */
html[lang] body.single-product #main .pos-top15-upstand-photo img {
    aspect-ratio:4/3!important;object-fit:contain!important;object-position:center!important;
    height:auto!important;max-height:none!important;background:#f7f9f8;
}

@media(min-width:850px) {
    /* The existing foreign technical container remains fully open on desktop. */
    #main .pos-mobile-specs>summary.pos-top15-summary {display:none!important}
}
@media(max-width:849px) {
    /* Legacy child-theme CSS makes foreign .pos-quality-copy a flex column and
       assigns order:20 to every direct child. The complete new hero must stay first. */
    html[lang] body.single-product #main .custom-product-page .pos-top15-foreign-hero {
        order:0!important;min-width:0;width:100%;
    }
    html[lang] body.single-product #main .pos-top15-product-copy>.row.landing-gallery {
        order:4!important;min-width:0;max-width:100%;
    }
    .single-product #main .pos-top15-foreign-hero {
        grid-template-columns:minmax(0,1fr);gap:16px;margin-top:12px;
    }
    .single-product #main .pos-top15-foreign-hero h1 {grid-row:1}
    .single-product #main .pos-top15-foreign-hero>.pos-ux-lead {grid-row:2;font-size:16px}
    .single-product #main .pos-top15-foreign-hero>.pos-ux-main-photo {grid-column:1;grid-row:3}
    .single-product #main .pos-top15-foreign-hero>.button {grid-row:4;justify-self:stretch;text-align:center}
    .single-product #main .pos-top15-foreign-hero>.pos-product-key-benefits {grid-row:5}
    .pos-top15-foreign-hero .pos-ux-main-photo img {aspect-ratio:16/10;max-height:380px}
    #main .wpcf7.pos-top15-form-card {padding:18px;border-radius:12px}
}
@media(max-width:549px) {
    #main .wpcf7.pos-top15-form-card .cf7-row>p {grid-template-columns:minmax(0,1fr)!important;gap:0}
    #main .wpcf7.pos-top15-form-card .cf7-row.pos-top15-div-row {grid-template-columns:minmax(0,1fr)!important;gap:0}
    #main .wpcf7.pos-top15-form-card input:not([type=checkbox]):not([type=submit]),
    #main .wpcf7.pos-top15-form-card textarea {font-size:16px}
    .single-product #main .pos-top15-foreign-hero h1 {font-size:30px!important}
}
@media print {.single-product .pos-quality-tools {display:none!important}}
