.kmebel-faq__question {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid #d9d9d9;color:#1b1b1b;cursor:pointer;list-style:none;}
.kmebel-faq__question::-webkit-details-marker {display:none;}
.kmebel-faq__question:focus-visible {outline:2px solid #8c0014;outline-offset:4px;}
.kmebel-faq__icon {display:flex;flex-shrink:0;transition:transform .2s;}
.kmebel-faq__item[open] .kmebel-faq__icon {transform:rotate(45deg);}
.kmebel-faq__answer {padding:24px;line-height:1.5;}
.kmebel-faq__answer p:last-child {margin-bottom:0;}
.delivery-item h2.delivery-item__title {font-weight:400;margin-top:0;line-height:1.3;}
.delivery-item__desc {line-height:1.5;overflow-wrap:anywhere;}
.kmebel-rates {width:100%;border-collapse:collapse;margin:24px 0;font-size:inherit;table-layout:fixed;}
.kmebel-rates th,.kmebel-rates td {padding:10px;border:1px solid #d9d9d9;text-align:left;overflow-wrap:anywhere;}
.kmebel-rates thead th {background:#f4f4f4;font-weight:500;}
.kmebel-rates th:first-child {width:64%;}
.kmebel-rates tbody th {font-weight:400;}
.contacts-accent__desc p {margin:0 0 12px;}
.contacts-item__value a {color:inherit;overflow-wrap:anywhere;}
.kmebel-warranty-content {max-width:900px;margin:auto;line-height:1.6;overflow-wrap:anywhere;}
.kmebel-warranty-content li {margin-bottom:8px;}
@media(max-width:767px) {
 .kmebel-faq__question {font-size:14px;padding:16px 0;}
 .kmebel-faq__answer {font-size:14px;padding:20px;}
 .kmebel-rates th,.kmebel-rates td {padding:8px;}
 .sect-contacts .contacts-accent {padding:24px 20px;}
}
/* Override the theme's generic 500px table minimum only for delivery rates. */
.kmebel-rates {min-width:0;}
.kmebel-rates th,.kmebel-rates td {min-width:0;font-size:inherit;line-height:1.4;vertical-align:top;}
.kmebel-rates th:first-child,.kmebel-rates td:first-child {padding-left:10px;}
.kmebel-rates tr:first-child td {padding-top:10px;}
.kmebel-rates th::after,.kmebel-rates td::after {content:none;}
@media(max-width:767px) {
 .kmebel-rates th:first-child,.kmebel-rates td:first-child {padding-left:8px;}
 .kmebel-rates tr:first-child td {padding-top:8px;}
}
@media(max-width:360px) {
 .footer .actions .btn {padding-left:20px;padding-right:20px;}
}
/* The cart uses WooCommerce's responsive layout, not the generic table minimum. */
.woocommerce-cart table.shop_table,.woocommerce-cart table.shop_table th {min-width:0;}

/* Shared top banners: geometry measured from the existing warranty banner. */
.kmebel-page-banner { min-height:410px; height:auto; padding:25px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; }
.kmebel-page-banner .sect-title { margin:0 0 10px; line-height:1; overflow-wrap:break-word; font-weight:300; }
.kmebel-page-banner .delivery-banner__desc { font-size:18px; line-height:1.2; }
.kmebel-page-banner .delivery-banner__img { width:100%; left:0; }
.kmebel-appliances { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.kmebel-appliances .logo-item { height:220px; width:100%; padding:12px; background:#fff; display:flex; align-items:center; justify-content:center; }
.kmebel-appliances .logo-item img { position:static; display:block; width:auto; height:clamp(100px,11vw,160px); max-width:100%; max-height:100%; object-fit:contain; }
.kmebel-delivery-link { display:inline-block; color:#a6001d; text-decoration:underline; font-weight:600; padding:12px 0; }
.kmebel-delivery-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
/* Store map only: keep the separate homepage warehouse map unchanged. */
.contacts-accent-map.kmebel-store-map { height:auto; background:#f4f4f4; }
.kmebel-store-map iframe { display:block; width:100%; height:320px; border:0; }
.kmebel-store-map__link { margin:0; padding:12px 16px; font-size:14px; line-height:1.4; }
.kmebel-store-map__link a { display:inline-block; color:#8c0014; text-decoration:underline; padding:4px 0; }
.kmebel-store-map__link a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.guaranty .guaranty__stamp img { width:213px; height:auto; object-fit:contain; }
.js-add-to-card { width:190px; min-width:190px; box-sizing:border-box; justify-content:center; }
.js-add-to-card .product-btn__text { white-space:nowrap; }
.js-add-to-card[aria-disabled=true] { cursor:wait; }
.js-add-to-card.is-loading .product-btn__icon { width:18px; height:18px; flex:0 0 18px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:kmebel-cart-spin .8s linear infinite; }
.js-add-to-card.is-loading .product-btn__icon img { visibility:hidden; }
.kmebel-cart-feedback { color:#a6001d; font-size:14px; line-height:1.4; margin:8px 0 0; }
.kmebel-cart-feedback:empty { display:none; }
.product-action .kmebel-variable-cart { width:100%; }
.kmebel-variable-cart table.variations { width:100%; min-width:0; }
.kmebel-variable-cart table.variations th,.kmebel-variable-cart table.variations td { display:block; text-align:left; }
.kmebel-variable-cart select { width:100%; max-width:100%; padding:10px; }
@keyframes kmebel-cart-spin { to { transform:rotate(360deg); } }
@media(max-width:991px) { .kmebel-page-banner .sect-title { font-size:24px; line-height:1.2; } }
@media(max-width:767px) {
 .kmebel-page-banner .delivery-banner__desc { font-size:14px; text-align:center; }
 .kmebel-appliances { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
 .kmebel-appliances .logo-item { height:180px; }
 .guaranty .guaranty__stamp img { width:115px; }
 .product-card .js-add-to-card { min-width:0; width:100%; padding-left:8px; padding-right:8px; font-size:12px; gap:6px; }
}
@media(max-width:575px) { .kmebel-appliances { grid-template-columns:repeat(2,minmax(0,1fr)); } .kmebel-appliances .logo-item { height:160px; } }

.product-action .js-add-to-card { width:220px; max-width:100%; }
.js-add-to-card .product-btn__icon { width:18px; height:18px; flex:0 0 18px; }

.js-add-to-card { column-gap:10px; }
/* Catalog action labels must be readable without hover at every breakpoint. */
.product-card .product-card__action { right:12px; }
.product-card .product-card__action .product-btn { width:190px; max-width:100%; min-width:0; height:44px; padding:8px 12px; gap:10px; background:#8c0014; color:#fff; }
.product-card .product-card__action .product-btn .product-btn__text { display:inline; opacity:1; color:#fff; transition:none; }
.product-card .product-card__action .product-btn .product-btn__icon { width:18px; height:18px; flex:0 0 18px; background:transparent; }
.product-btn.product-btn--big.js-add-to-card { gap:10px; padding:12px 20px; }
.product-btn.product-btn--big.js-add-to-card .product-btn__icon { width:18px; height:18px; flex:0 0 18px; background:transparent; }
.product-btn.product-btn--big.js-add-to-card .product-btn__text { background:transparent; transition:none; }
@media(max-width:767px) { .product-card .product-card__action .product-btn { font-size:12px; gap:6px; } }

/* Existing product accordion: closed in the server response, with native buttons. */
.product-accordion .accordion-item__header { width:100%; text-align:left; background:transparent; border:0; border-bottom:1px solid #000; cursor:pointer; font-family:inherit; font-size:inherit; }
.product-accordion .accordion-item__header:focus-visible { outline:2px solid #8c0014; outline-offset:3px; }
.product-accordion .accordion-item__body[hidden] { display:none; }
.kmebel-delivery-summary { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.kmebel-delivery-summary a,.kmebel-delivery-detail a { color:#8c0014; text-decoration:underline; }
.kmebel-contact-form .form-field__label { color:#fff; }
.kmebel-contact-help,.kmebel-contact-status { color:#fff; font-size:14px; line-height:1.4; margin:12px 0; }
.kmebel-contact-status:empty { display:none; }

/* Align the existing home photo column with the taller interactive map. */
@media(min-width:769px) { .home .sect-contacts .contacts-row .contacts-left { height:auto; display:flex; } .home .sect-contacts .contacts-left .contacts-banner { height:auto; flex:1; } .home .sect-contacts .contacts-banner__img img { width:100%; height:100%; object-fit:cover; } }
