/*
Theme Name: In Good Company
Description: Mobile-first WooCommerce storefront for «В хорошей компании».
Version: 0.5.2
Text Domain: in-good-company
*/
:root{--ink:#202219;--paper:#f9f7ef;--lime:#e8f677;--lavender:#dfd8ff;--wrap:min(1320px, calc(100% - 2 * clamp(20px,5vw,76px)))}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #5739b5;outline-offset:4px}.wrap{width:var(--wrap);margin-inline:auto}
.site-header{position:relative;z-index:2;width:100%;color:var(--ink)}.site-header.overlay{position:absolute;top:0}.admin-bar .site-header.overlay{top:var(--wp-admin--admin-bar--height,32px)}
.header-bar{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:86px;border-bottom:1px solid #20221935}.brand{font-weight:950;font-size:21px;letter-spacing:-.065em;line-height:.95;text-decoration:none;max-width:120px}.brand img{display:block}.desktop-nav,.mobile-nav div{display:flex;gap:clamp(16px,3vw,44px);font-weight:650}.header-bar a{text-decoration:none}.header-bar a:hover{text-decoration:underline}.mobile-nav{display:none}.basket{font-weight:750}.skip{position:absolute;left:12px;top:10px;background:white;padding:8px;transform:translateY(-200%);z-index:5}.skip:focus{transform:none}
.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:100vh;min-height:100svh;background:var(--lavender);overflow:hidden}.hero-media{position:absolute;inset:0 0 0 44%;z-index:-2;width:56%;height:100%;object-fit:cover;object-position:55% center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#dfd8ff 0 40%,#dfd8ff00 62%),linear-gradient(180deg,#dfd8ffbb,transparent 25%);pointer-events:none}.hero-content{padding-block:114px 60px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin:0 0 18px}.hero h1{max-width:8.8em;font-size:clamp(56px,8.3vw,126px);line-height:.87;letter-spacing:-.085em;margin:0;font-weight:950;text-wrap:balance}.hero p:not(.eyebrow){max-width:33ch;margin:24px 0;font-size:clamp(16px,1.65vw,21px)}.action{display:inline-flex;align-items:center;gap:22px;min-height:50px;padding:12px 22px;background:var(--ink);color:white;text-decoration:none;font-weight:750;border-radius:5px}.action:hover{background:#373c29}.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.quick a{font-weight:700;text-decoration:none;border:1px solid #24231b55;border-radius:24px;padding:8px 13px;background:#fff5}.quick a:hover{background:white}
.section{padding-block:clamp(42px,7vw,98px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px}.section h2,.help h2{font-size:clamp(31px,5vw,64px);line-height:1;letter-spacing:-.065em;margin:0}.section-head a{font-weight:750}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,24px)}.card{min-width:0}.card-image{display:block;background:#e9e4f3;border-radius:8px;overflow:hidden}.card-image img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.card h3{font-size:clamp(16px,2vw,20px);line-height:1.25;margin:12px 0 6px}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{margin:0;font-weight:650}.help{background:var(--lime);padding-block:clamp(32px,6vw,72px)}.help p{max-width:50ch;margin:16px 0 0}.help .wrap{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer{padding-block:30px}.footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-main{min-height:55vh}.woocommerce div.product .woocommerce-product-gallery img{object-fit:contain}.woocommerce div.product .summary .price{color:var(--ink)}
@media(max-width:720px){.desktop-nav{display:none}.mobile-nav{display:block;order:-1}.mobile-nav summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.mobile-nav div{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;gap:14px}.header-bar{min-height:64px}.hero{align-items:end}.hero-media{inset:0 0 auto;width:100%;height:70%;object-position:60% 40%}.hero:after{background:linear-gradient(180deg,#dfd8ffb8,transparent 19%,transparent 29%,#dfd8ff 65%)}.hero-content{padding-block:max(235px,36svh) 28px}.hero h1{font-size:clamp(44px,12vw,70px)}.hero p:not(.eyebrow){margin:14px 0}.eyebrow{margin-bottom:12px}.quick{margin-top:14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.help .wrap{align-items:flex-start;flex-direction:column}.section-head{align-items:flex-start;flex-direction:column}}


/* Homepage */
#categories, #selection, #order { scroll-margin-top: 24px; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,2vw,24px); }
.category-tile { display:flex; flex-direction:column; border-radius:14px; overflow:hidden; text-decoration:none; background:#e1d9ff; }
.category-tile:nth-child(2) { background:#fdd9cc; }
.category-tile:nth-child(3) { background:#e8f677; }
.category-tile:nth-child(4) { background:#cde8e0; }
.category-tile img { width:100%; aspect-ratio:6/5; object-fit:cover; display:block; }
.category-copy { position:relative; display:grid; gap:4px; padding:14px 39px 17px 14px; }
.category-copy strong { font-size:clamp(17px,2vw,25px); line-height:1.15; letter-spacing:-.045em; }
.category-copy > span:not(.tile-arrow) { font-size:.9rem; }
.tile-arrow { position:absolute; right:13px; top:14px; font-size:1.15rem; }
.category-tile:hover strong, .product-link:hover h3 { text-decoration:underline; }
.product-section { padding-top:0; }
.product-link { display:block; text-decoration:none; }
.product-more { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; font-weight:750; }
.fit-guide { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:var(--lime); border-radius:18px; }
.fit-guide img { width:100%; height:100%; min-height:0; object-fit:cover; }
.fit-copy { padding:clamp(24px,5vw,72px); align-self:center; }
.fit-copy ol { padding-left:1.25em; margin:22px 0; }
.fit-copy li + li { margin-top:8px; }
.brand-panel { background:var(--lavender); }
.brand-grid, .order-faq { display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,5vw,68px); align-items:start; }
.brand-grid p:not(.eyebrow) { font-size:clamp(16px,2vw,21px); max-width:40ch; margin-top:0; }
.brand-grid a, .order-faq summary { font-weight:750; }
.order-faq details { border-bottom:1px solid #20221935; }
.order-faq details:first-child { border-top:1px solid #20221935; }
.order-faq summary { cursor:pointer; padding:16px 4px; }
.order-faq details p { margin:0 4px 16px; }
.footer { border-top:1px solid #20221935; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 25px; }
@media(max-width:720px) {
    .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fit-guide, .brand-grid, .order-faq { grid-template-columns:1fr; }
    .fit-guide img { height:auto; aspect-ratio:16/10; }
    .category-copy { padding-right:27px; }
    .tile-arrow { right:8px; }
    .category-copy > span:not(.tile-arrow) { font-size:.8rem; }
}



/* Full-width accessory showcase */
.accessories { width:calc(100% - 2 * clamp(12px,1.25vw,24px)); padding-block:clamp(20px,3vh,36px); }
.accessories .section-head { padding-inline:clamp(4px,2vw,26px); }
.accessories .category-grid {  gap:clamp(8px,1.1vw,18px); }
.accessories .category-tile { position:relative; isolation:isolate; justify-content:flex-end; color:white; }
.accessories .category-tile:first-child { grid-row:span 2; }
.accessories .category-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.accessories .category-tile::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 27%,#141811df 100%); }
.accessories .category-copy { padding:clamp(14px,2vw,28px); padding-right:44px; text-shadow:0 1px 6px #141811; }
.accessories .category-copy strong { font-size:clamp(21px,2.6vw,43px); }
.accessories .category-tile:first-child strong { font-size:clamp(32px,4.6vw,72px); }
.accessories .tile-arrow { top:auto; bottom:clamp(14px,2vw,28px); right:18px; }
.review-panel { background:#ede7ff; }
.review-grid, .project-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.review-grid figure, .project-grid article { margin:0; padding:clamp(20px,3vw,40px); border-radius:16px; background:#fffdf8; }
.review-grid blockquote { margin:0 0 16px; font-size:clamp(19px,2.5vw,30px); line-height:1.25; }
.review-grid figcaption { font-size:.88rem; font-weight:700; }
.project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-grid article { display:flex; flex-direction:column; background:#ded6ff; }
.project-grid article:nth-child(2) { background:#fdd9cc; }
.project-grid article:nth-child(3) { background:#d7eadf; }
.project-grid h2 { font-size:clamp(27px,3vw,46px); }
.project-grid article a { margin-top:auto; }
.project-grid a,.community-bar a { font-weight:750; }
.community-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; padding:18px clamp(18px,3vw,38px); border-radius:14px; background:var(--lime); }
.community-bar p { margin:0; }
@media(max-width:720px) {
    .accessories .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(180px, 26svh); }
    .accessories .category-tile:first-child { grid-column:1/-1; grid-row:auto; min-height:230px; }
    .accessories .category-copy { padding:12px 25px 12px 11px; }
    .accessories .tile-arrow { right:8px; bottom:12px; }
    .review-grid, .project-grid { grid-template-columns:1fr; }
    .community-bar { flex-direction:column; align-items:flex-start; }
}


/* Homepage layout and interactive product rails */
[hidden] { display:none !important; }
.section { padding-block:clamp(22px,3.5vw,49px); }
.section-head { margin-bottom:clamp(12px,1.5vw,20px); }

.accessories .category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(4,clamp(183px,calc(26.5625svh + 0.421875 * clamp(8px,1.1vw,18px)),296px)); }
.accessories .category-tile:nth-child(1) { grid-area:1 / 1 / 3 / 3; }
.accessories .category-tile:nth-child(2) { grid-area:1 / 3 / 2 / 5; }
.accessories .category-tile:nth-child(3) { grid-area:2 / 3 / 3 / 5; }
.accessories .category-tile:nth-child(4) { grid-area:3 / 1 / 5 / 2; }
.accessories .category-tile:nth-child(5) { grid-area:3 / 2 / 5 / 3; }
.accessories .category-tile:nth-child(6) { grid-area:3 / 3 / 5 / 5; background:#e3ddd0; }
.accessories .category-tile:nth-child(6) strong { font-size:clamp(30px,4.6vw,70px); }
.product-section { padding-top:0; }
.product-section .section-head { flex-direction:row; align-items:center; }
.product-rail { --rail-gap:clamp(12px,2vw,24px); display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3 * var(--rail-gap)) / 4); gap:var(--rail-gap); overflow-x:auto; scroll-snap-type:x mandatory; padding:2px 0 9px; }
.product-rail > .card { scroll-snap-align:start; }
.rail-controls { display:flex; gap:6px; }
.rail-controls button { font:inherit; font-size:1.2rem; width:44px; height:44px; background:transparent; border:1px solid #20221960; color:inherit; border-radius:50%; cursor:pointer; }
.rail-controls button:disabled { opacity:.35; cursor:default; }
.product-gallery { position:relative; }
.product-gallery .card-image { aspect-ratio:1; }
.product-badge { position:absolute; top:10px; left:10px; padding:4px 9px; border-radius:5px; background:var(--lime); color:var(--ink); font-size:.75rem; font-weight:800; pointer-events:none; }
.product-section[data-rail="1"] .product-badge { background:var(--lavender); }
.product-section[data-rail="2"] .product-badge { background:#fbbba7; }
.photo-dots { position:absolute; display:flex; flex-wrap:wrap; justify-content:center; bottom:5px; left:50%; transform:translateX(-50%); width:max-content; max-width:95%; background:#fff; padding:0 4px; border-radius:14px; }
.photo-dots button { display:grid; place-items:center; padding:0; width:20px; height:24px; border:0; background:transparent; cursor:pointer; }
.photo-dots button::before { content:""; width:7px; height:7px; border-radius:50%; background:#93948b; }
.photo-dots button[aria-pressed="true"]::before { background:var(--ink); }
.card .product-description { margin-bottom:5px; font-weight:400; font-size:.92rem; }
.review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.review-grid figure { display:flex; flex-direction:column; padding:clamp(14px,2vw,25px); }
.review-product { display:flex; align-items:center; gap:12px; line-height:1.25; }
.review-product img { flex:none; width:64px; height:64px; object-fit:cover; border-radius:8px; }
.review-grid figcaption { text-align:right; margin-top:auto; }
.review-source { grid-column:1/-1; margin:0; font-size:.82rem; }
.order-faq { align-items:stretch; gap:clamp(20px,4vw,50px); }
.faq-visual { overflow:hidden; border-radius:14px; }
.faq-visual img { width:100%; height:100%; display:block; object-fit:cover; }
.faq-questions { margin-block:20px 16px; }
.faq-questions summary { font-size:clamp(17px,1.6vw,22px); }
.faq-link { font-weight:750; }
.footer { background:#ede7ff; color:var(--ink); padding-block:clamp(26px,5vw,58px); }
.footer .footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; gap:24px; }
.footer-grid nav, .footer-company address { display:grid; align-content:start; gap:8px; font-style:normal; overflow-wrap:anywhere; }
.footer-grid nav h2 { font-size:1rem; margin:0 0 5px; }
.footer-company img { margin-bottom:12px; }
@media(max-width:900px) {
    .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
    .accessories .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:auto; }
    .accessories .category-tile:nth-child(n) { grid-area:auto; min-height:156px; }
    .accessories .category-tile:nth-child(1), .accessories .category-tile:nth-child(6) { grid-column:1/-1; min-height:220px; }
    .product-rail { grid-auto-columns:calc((100% - var(--rail-gap)) / 2); }
    .review-grid { grid-template-columns:1fr; }
    .faq-visual img { aspect-ratio:16/9; height:auto; }
}






/* Keep price and purchase controls aligned across each product rail. */
.product-rail > .card { display:flex; flex-direction:column; }
.product-rail .card h3 { margin:12px 0 6px; font-size:clamp(16px,1.55vw,22px); overflow-wrap:anywhere; }
.product-rail .product-description { color:#51534a; line-height:1.45; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.product-purchase { margin-top:auto; padding-top:12px; display:grid; gap:9px; }
.product-purchase .product-price { font-size:clamp(16px,1.5vw,22px); font-weight:800; line-height:1.25; }
.product-price ins { text-decoration:none; color:#365620; }
.product-price del { color:#65675e; font-size:.8em; font-weight:500; margin-right:.35em; }
.product-purchase .product-action { justify-content:center; text-align:center; min-height:44px; padding:8px 10px; font-size:.9rem; }


/* WooCommerce catalog */
.catalog-toolbar { display:grid; gap:16px; margin-bottom:24px; }
.catalog-menu { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-menu a { display:inline-flex; align-items:center; min-height:44px; padding:6px 14px; border:1px solid #20221940; border-radius:24px; text-decoration:none; font-weight:650; }
.catalog-menu a[aria-current="page"], .catalog-menu a:hover { background:var(--lavender); border-color:var(--lavender); }
.catalog-tools { display:grid; gap:12px; padding:16px; background:#fffdf8; border-radius:12px; }
.catalog-tools form { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.catalog-tools input:not([type="checkbox"]), .catalog-tools button, .woocommerce .woocommerce-ordering select { min-height:44px; font:inherit; border-radius:6px; }
.catalog-tools input:not([type="checkbox"]), .woocommerce .woocommerce-ordering select { padding:6px 9px; border:1px solid #20221955; background:white; }
.catalog-tools input[type="number"] { width:95px; }
.catalog-tools button { cursor:pointer; padding:8px 14px; }
.catalog-tools .catalog-check { min-height:44px; display:inline-flex; align-items:center; gap:5px; }
.catalog-tools input[type="checkbox"] { accent-color:var(--ink); }
.woocommerce .site-main ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.woocommerce .site-main ul.products::before, .woocommerce .site-main ul.products::after { display:none; }
.woocommerce .site-main ul.products li.product { width:auto; float:none; margin:0; display:flex; flex-direction:column; min-width:0; }
.woocommerce .site-main ul.products li.product a img { aspect-ratio:1; object-fit:cover; background:#ece9e1; border-radius:10px; margin:0 0 10px; }
.woocommerce .site-main ul.products li.product .woocommerce-loop-product__title { padding:0; font-size:clamp(16px,1.5vw,22px); line-height:1.25; overflow-wrap:anywhere; }
.woocommerce .site-main ul.products li.product .price { color:var(--ink); font-size:1rem; font-weight:750; margin-top:8px; }
.woocommerce .site-main ul.products li.product .price del { font-size:.85em; font-weight:500; }
.woocommerce .site-main ul.products li.product .price ins { text-decoration:none; }
.woocommerce .site-main ul.products li.product a.button { align-self:stretch; margin-top:auto; background:var(--ink); color:white; text-align:center; min-height:44px; display:grid; place-items:center; line-height:1.25; padding:8px; }
.woocommerce .site-main ul.products li.product .onsale { top:8px; right:8px; margin:0; background:var(--lime); color:var(--ink); }

/* Keep the native WooCommerce gallery and variation image switching. */
.woocommerce div.product div.images .flex-control-nav.flex-control-thumbs {
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding:8px 0 10px;
    scroll-snap-type:x proximity;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    flex:0 0 clamp(60px,8vw,92px);
    float:none;
    width:auto;
    scroll-snap-align:start;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    display:block;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:6px;
    opacity:.72;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    opacity:1;
    outline:2px solid var(--ink);
    outline-offset:-2px;
}
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image img {
    width:100%;
    max-height:65vh;
    object-fit:contain;
}
.woocommerce div.product .summary h1.product_title { font-size:clamp(27px,3vw,46px); line-height:1.05; letter-spacing:-.045em; }
.woocommerce div.product .summary .price { font-size:clamp(21px,2vw,29px); font-weight:750; }
.woocommerce div.product .summary .price ins { text-decoration:none; }
@media(max-width:900px) {
    .woocommerce .site-main ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
}
@media(max-width:640px) {
    .catalog-menu { flex-wrap:nowrap; overflow-x:auto; padding:4px; }
    .catalog-menu a { flex:none; }
    .woocommerce .site-main ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image img { max-height:52svh; }
}


/* Product purchase panel */
.woocommerce .site-main span.igc-sale,
.woocommerce .site-main ul.products li.product .igc-sale {
    inset:12px auto auto 12px;
    z-index:3;
    min-width:0;
    min-height:0;
    margin:0;
    padding:6px 11px;
    border-radius:5px;
    background:#ff665a;
    color:#251512;
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.1em;
    line-height:1.25;
}
.woocommerce div.product .summary h1.product_title { font-size:clamp(27px,2.5vw,44px); margin-bottom:14px; }
.woocommerce div.product .summary .price del { font-size:.76em; font-weight:500; margin-right:.3em; }
.woocommerce div.product .summary .price ins { color:#365620; }
.woocommerce div.product form.cart .variations { margin-bottom:14px; }
.woocommerce div.product form.cart .variations tr { display:grid; gap:6px; margin-bottom:12px; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { text-align:left; padding:0; line-height:1.4; }
.woocommerce div.product form.cart .variations select { width:auto; min-height:44px; padding:6px 10px; margin:0; border:1px solid #20221955; border-radius:7px; font:inherit; }
.igc-options { display:flex; flex-wrap:wrap; gap:8px; }
.igc-options button { min-height:44px; padding:7px 13px; border:1px solid #20221966; border-radius:8px; background:#fffdf8; color:var(--ink); font:inherit; cursor:pointer; }
.igc-options button[aria-pressed="true"] { background:var(--lavender); border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.igc-options button:disabled { opacity:.45; cursor:default; text-decoration:line-through; }
.woocommerce div.product form.cart .reset_variations { display:inline-block; margin-top:6px; font-size:.85rem; }
.woocommerce div.product form.cart .quantity .qty { min-height:48px; width:4em; border:1px solid #20221955; border-radius:8px; font:inherit; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height:48px; padding:10px 22px; background:var(--ink); color:white; border-radius:8px; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:#373c29; }
.igc-product-sku { color:#51534a; font-size:.9rem; margin-block:12px; }
.igc-product-info { border-top:1px solid #20221935; margin-top:18px; }
.igc-product-info details { border-bottom:1px solid #20221935; }
.igc-product-info summary { padding:13px 0; cursor:pointer; font-weight:750; }
.igc-product-info p, .igc-product-info dl { margin:0 0 12px; }
.igc-product-info dt { font-weight:700; }
.igc-product-info dd { margin:3px 0 12px; }


/* Catalog archive: product results and a right-hand sidebar. */
.catalog-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(260px,24vw,310px);
    grid-template-areas:"results sidebar";
    align-items:start;
    gap:clamp(18px,3vw,44px);
}
.catalog-results { grid-area:results; min-width:0; }
.catalog-layout .catalog-toolbar {
    grid-area:sidebar;
    margin:0;
    padding:18px;
    border:1px solid #e1ddd1;
    border-radius:14px;
    background:#fffdf8;
}
.catalog-panel summary { cursor:pointer; font-weight:800; font-size:1.05rem; }
.catalog-panel h2 { margin:16px 0 8px; font-size:1rem; letter-spacing:normal; }
.catalog-layout .catalog-menu { display:grid; gap:3px; overflow:visible; padding:0; }
.catalog-layout .catalog-menu a { display:flex; border:0; border-radius:7px; padding:7px 10px; font-size:.92rem; min-height:36px; }
.catalog-layout .catalog-tools { padding:0; gap:10px; background:none; }
.catalog-layout .catalog-tools form { display:grid; gap:10px; margin:0; }
.catalog-layout .catalog-tools .woocommerce-product-search { grid-template-columns:minmax(0,1fr) auto; }
.catalog-layout .catalog-tools input:not([type="checkbox"]) { min-width:0; width:100%; }
.catalog-layout .catalog-tools button { border:0; background:var(--ink); color:white; }
.catalog-price { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; margin:0; padding:0; border:0; }
.catalog-price legend { font-weight:750; padding:0 0 5px; }
.catalog-price label { display:grid; gap:4px; color:#51534a; font-size:.85rem; }
.catalog-layout .catalog-tools .catalog-check { min-height:32px; }
.catalog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.catalog-results .woocommerce-products-header__title { margin:0 0 18px; }
.woocommerce .catalog-results ul.products { clear:both; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.8vw,22px); }
.woocommerce .catalog-results ul.products li.product { padding:12px; border:1px solid #e1ddd1; border-radius:13px; background:#fffdf8; }
.woocommerce .catalog-results ul.products li.product .woocommerce-loop-product__link { display:block; padding-bottom:12px; text-decoration:none; }
.woocommerce .catalog-results ul.products li.product .woocommerce-loop-product__title { font-size:clamp(16px,1.45vw,21px); }
.woocommerce .catalog-results ul.products li.product .price { margin-bottom:5px; }
.catalog-stock { display:block; color:#51534a; font-size:.82rem; }
@media(max-width:1100px) {
    .woocommerce .catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .catalog-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"sidebar" "results"; }
    .catalog-layout .catalog-toolbar { padding:12px; }
    .woocommerce .catalog-results ul.products li.product { padding:8px; }
    .catalog-results .woocommerce-ordering { float:none; }
    .catalog-results .woocommerce-ordering select { max-width:100%; }
}
