.lhctl-section {
    --lhctl-ink: #08294d;
    --lhctl-line: #e5e8ec;
    --lhctl-muted: #66778a;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.82fr) minmax(380px, 0.92fr);
    background: #fff;
    color: var(--lhctl-ink);
    margin: 24px 0;
    overflow: hidden;
    box-sizing: border-box;
}

/* Compact list mode used when the block has no editorial images. */
.lhctl-section.lhctl-no-images {
    display: block;
    width: 100%;
    max-width: 610px;
    margin: 18px auto 24px;
}

.lhctl-showcase {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 680px;
    background: #f0ece7;
}

.lhctl-showcase.is-single { grid-template-columns: 1fr; }

.lhctl-section .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.lhctl-showcase-image {
    min-width: 0;
    overflow: hidden;
    border-right: 1px solid rgba(255,255,255,.35);
}
.lhctl-showcase-image:last-child { border-right: 0; }
.lhctl-showcase-image img {
    width: 100%;
    height: 100%;
    min-height: 680px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.lhctl-panel {
    padding: 32px 38px 28px 50px;
    align-self: stretch;
    box-sizing: border-box;
}
.lhctl-no-images .lhctl-panel { padding: 0 !important; }

.lhctl-heading { margin-bottom: 16px; }
.lhctl-heading h2 {
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: var(--lhctl-ink) !important;
    font-family: inherit !important;
    font-size: 31px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
}
.lhctl-heading p {
    margin: 0 !important;
    color: var(--lhctl-ink) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.lhctl-products { width: 100%; }

.lhctl-product {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: start !important;
    padding: 15px 0 16px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--lhctl-line) !important;
}
.lhctl-product:last-child { border-bottom: 0 !important; }

.lhctl-product-image {
    width: 92px !important;
    height: 126px !important;
    max-width: 92px !important;
    display: block !important;
    background: #f2f0ed;
    overflow: hidden;
    flex: none !important;
}
.lhctl-product-image img {
    width: 92px !important;
    height: 126px !important;
    max-width: 92px !important;
    display: block !important;
    object-fit: cover !important;
    margin: 0 !important;
}

.lhctl-product-info { min-width: 0; }
.lhctl-product-name {
    display: inline-block !important;
    color: var(--lhctl-ink) !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin: 2px 0 3px !important;
}
.lhctl-product-name:hover { opacity: .78; }

.lhctl-product-price {
    color: var(--lhctl-ink) !important;
    font-size: 21px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}
.lhctl-product-price .amount,
.lhctl-product-price bdi,
.lhctl-product-price ins,
.lhctl-product-price del { color: inherit !important; }
.lhctl-product-price del { opacity: .48; font-size: .72em; margin-right: 4px; }
.lhctl-product-price ins { text-decoration: none; }

.lhctl-product-actions {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}
.lhctl-variation-selectors {
    display: flex !important;
    gap: 6px !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;
    min-width: 0;
}

.lhctl-variation-select,
.lhctl-add-button {
    height: 38px !important;
    min-height: 38px !important;
    border: 1.25px solid var(--lhctl-ink) !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--lhctl-ink) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    margin: 0 !important;
}
.lhctl-variation-select {
    width: auto !important;
    min-width: 86px !important;
    max-width: 132px !important;
    padding: 0 28px 0 10px !important;
    font-size: 14px !important;
    line-height: 36px !important;
    appearance: auto;
    cursor: pointer;
}
.lhctl-add-button {
    position: relative;
    flex: 1 1 170px !important;
    min-width: 155px !important;
    padding: 0 14px !important;
    font-size: 12.5px !important;
    line-height: 35px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}
.lhctl-add-button:hover:not(:disabled) { background: var(--lhctl-ink) !important; color: #fff !important; }
.lhctl-add-button:disabled { opacity: .48; cursor: not-allowed; }
.lhctl-add-button.is-loading { color: transparent !important; }

.lhctl-spinner {
    display: none;
    position: absolute;
    left: 50%; top: 50%; width: 16px; height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: lhctl-spin .65s linear infinite;
}
.lhctl-add-button.is-loading .lhctl-spinner { display: block; color: var(--lhctl-ink); }

.lhctl-row-message {
    min-height: 15px;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.3;
    color: var(--lhctl-muted);
}

@keyframes lhctl-spin { to { transform: rotate(360deg); } }

@media (max-width: 1080px) {
    .lhctl-section { grid-template-columns: minmax(0, 1.35fr) minmax(360px, .9fr); }
    .lhctl-panel { padding: 28px 30px 26px 40px; }
}

@media (max-width: 920px) {
    .lhctl-section:not(.lhctl-no-images) { grid-template-columns: 1fr; }
    .lhctl-showcase { min-height: 460px; }
    .lhctl-showcase-image img { min-height: 460px; }
    .lhctl-section.lhctl-no-images { max-width: 610px; padding: 0 18px; }
}

@media (max-width: 620px) {
    .lhctl-section.lhctl-no-images { max-width: none; padding: 0 16px; }
    .lhctl-heading h2 { font-size: 27px !important; }
    .lhctl-product { grid-template-columns: 82px minmax(0, 1fr) !important; column-gap: 13px !important; }
    .lhctl-product-image,
    .lhctl-product-image img { width: 82px !important; max-width: 82px !important; height: 112px !important; }
    .lhctl-product-name { font-size: 15.5px !important; }
    .lhctl-product-price { font-size: 19px !important; margin-bottom: 9px !important; }
    .lhctl-product-actions { flex-wrap: wrap !important; }
    .lhctl-variation-selectors { flex-wrap: wrap !important; }
    .lhctl-add-button { flex-basis: 100% !important; width: 100% !important; }
}
