/*
Theme Name: Euro Pro Bau
Theme URI: https://europrobau.hu/
Description: Euro Pro Bau - generalkivitelezo + webshop. Vilagos, letisztult dizajn EuroPro-pirosban (#a42325): piros gombok es CTA-savok, sotetbarna (#342a21) cimsorok, vilagosszurke (#ededef) szekciok + WooCommerce.
Version: 4.5.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: europro-bau
*/

/* Betűtípus a header.php-ben, nem blokkoló módon töltve. */
:root {
  --epb-blue:#a42325; --epb-blue-dark:#780406; --epb-link:#a42325; --epb-cyan:#a42325;
  --epb-head:#342a21; --epb-text:#444; --epb-line:#e2e2e2;
  --epb-grey:#ededef; --epb-light:#fbfbfd; --epb-card:#f5f5f5; --epb-black:#070707;
  --epb-page:1080px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--epb-text); background:#fff; font:400 14px/1.8 'Open Sans',Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--epb-link); text-decoration:none; }
a:hover { text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.epb-container { width:80%; max-width:var(--epb-page); margin:auto; position:relative; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; width:1px; }

h1,h2,h3,h4,h5,h6 { margin:0; padding-bottom:10px; color:var(--epb-head); font-family:'Open Sans',Helvetica,Arial,sans-serif; font-weight:700; line-height:1.25; text-transform:uppercase; }
h1 { font-size:30px; } h2 { font-size:26px; } h3 { font-size:22px; } h4 { font-size:18px; }
p { padding-bottom:1em; } p:last-of-type { padding-bottom:0; }

/* Gombok: kek alap, feher felirat, radius 0, hover sotetkek + nyil */
.epb-button, .button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  position:relative; display:inline-block; border:0!important; border-radius:0!important;
  padding:10px 22px!important; background:var(--epb-blue)!important; color:#fff!important;
  font:400 16px/1.7 'Open Sans',Helvetica,Arial,sans-serif!important; text-transform:uppercase;
  cursor:pointer; transition:background .2s, padding .2s;
}
.epb-button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
  background:var(--epb-blue-dark)!important; border-color:var(--epb-blue)!important; color:#fff!important;
}
.epb-button:hover { padding-right:2.2em!important; }
.epb-button::after { content:''; position:absolute; top:50%; right:.75em; transform:translate(-4px,-50%); width:.62em; height:.95em; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18'%3E%3Cpath d='M2 2.5 8.5 9 2 15.5' fill='none' stroke='currentColor' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; opacity:0; transition:opacity .2s ease, transform .2s ease; }
.epb-button:hover::after { opacity:1; transform:translate(0,-50%); }
.epb-button--white { background:#fff!important; color:var(--epb-blue)!important; box-shadow:6px 6px 18px 0 rgba(0,0,0,.3)!important; }
.epb-button--white:hover { background:#fff!important; color:var(--epb-blue)!important; }
.epb-button--shadow { box-shadow:6px 6px 18px 0 rgba(0,0,0,.3)!important; }

/* Fejlec: feher, logo balra, csupa nagybetus menu jobbra */
.epb-announcement { padding:8px 20px; background:var(--epb-blue); color:#fff; text-align:center; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.epb-header { position:sticky; top:0; z-index:50; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.08); }
.epb-header__main { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px; padding:8px 0; }
.epb-logo img { max-height:54px; width:auto; }
.epb-footer .custom-logo { filter:brightness(0) invert(1); }
.epb-logo__text { color:var(--epb-head); font:700 22px/1.2 'Open Sans',sans-serif; text-transform:uppercase; }
.epb-logo__text small { display:block; font-size:10px; font-weight:400; letter-spacing:.3em; color:var(--epb-text); }
.epb-nav ul { display:flex; align-items:center; gap:22px; padding:0; margin:0; list-style:none; }
.epb-nav li { position:relative; }
.epb-nav a { font-size:14px; font-weight:400; text-transform:uppercase; color:var(--epb-head); padding:10px 0; }
.epb-nav a:hover { color:#000; }
.epb-nav .sub-menu { display:none; position:absolute; top:100%; left:-16px; z-index:5; min-width:220px; padding:12px 16px; background:#fff; border-top:3px solid var(--epb-blue); box-shadow:0 10px 24px rgba(0,0,0,.12); list-style:none; }
.epb-nav li:hover > .sub-menu { display:block; }
.epb-header__right { display:flex; align-items:center; gap:16px; }
.epb-cart { font-size:14px; text-transform:uppercase; color:var(--epb-head); white-space:nowrap; }
.epb-cart:hover { color:#000; }
.epb-cart-count { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:4px; background:var(--epb-blue); color:#fff; border-radius:50%; font-size:10px; }
.epb-menu-toggle { display:none; padding:10px 14px; background:var(--epb-blue); color:#fff; border:0; font:400 14px 'Open Sans',sans-serif; text-transform:uppercase; cursor:pointer; }

/* HERO: kek overlay a foton, 8vw parnas, feher feliratok arnyekkal */
.epb-hero { position:relative; display:flex; align-items:center; justify-content:center; color:#fff; background:#333 center/cover no-repeat; text-align:center; padding:8vw 0; }
.epb-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(164,35,37,.9) 0%,rgba(164,35,37,.9) 100%); }
.epb-hero__content { position:relative; width:80%; max-width:80%; margin:auto; }
.epb-hero h1 { color:#fff; font-size:45px; line-height:1.2; text-shadow:0 0 .3em rgba(0,0,0,.4); padding-bottom:10px; }
.epb-hero__sub { text-transform:uppercase; font-size:20px; line-height:1.3; padding-bottom:10px; }
.epb-hero p { font-size:15px; line-height:1.4; }
.epb-hero__buttons { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; padding-top:20px; }
.epb-hero__buttons .epb-button { font-size:20px!important; }

/* Szekciok */
.epb-section { padding:54px 0; }
.epb-section--grey { background:var(--epb-grey); }
.epb-section--light { background:var(--epb-light); }
.epb-sec-head { text-align:center; max-width:700px; margin:0 auto 35px; }
.epb-sec-head h2 { padding-bottom:10px; }
.epb-sec-head p { font-size:14px; }
.epb-center { text-align:center; margin-top:30px; }

/* Kek CTA-sav: foto + kek overlay, 8vw, feher gomb kek felirattal */
.epb-cta { position:relative; text-align:center; color:#fff; background:#333 center/cover no-repeat; padding:8vw 0; }
.epb-cta::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(164,35,37,.9) 0%,rgba(164,35,37,.9) 100%); }
.epb-cta > .epb-container { position:relative; }
.epb-cta h2 { color:#fff; margin-bottom:5px; }
.epb-cta p { color:#fff; }
.epb-cta .epb-button { box-shadow:6px 6px 18px 0 rgba(0,0,0,.3)!important; }

/* Intro 3 kep */
.epb-intro-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.epb-intro-card { position:relative; display:block; min-height:260px; overflow:hidden; background:#eee; }
.epb-intro-card img { width:100%; height:100%; min-height:260px; object-fit:cover; transition:transform .35s; }
.epb-intro-card:hover img { transform:scale(1.03); }
.epb-intro-card__label { position:absolute; left:0; right:0; bottom:0; padding:36px 16px 14px; background:linear-gradient(transparent,rgba(0,0,0,.75)); color:#fff; font:700 16px/1.3 'Open Sans',sans-serif; text-transform:uppercase; }

/* Kategoriak + termekek */
.epb-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.epb-category { position:relative; display:block; min-height:180px; overflow:hidden; background:#eee; }
.epb-category img { width:100%; height:100%; min-height:180px; object-fit:cover; }
.epb-category span { position:absolute; left:0; right:0; bottom:0; padding:32px 14px 12px; background:linear-gradient(transparent,rgba(0,0,0,.75)); color:#fff; font:700 15px/1.3 'Open Sans',sans-serif; text-transform:uppercase; }
.epb-products .products { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:0!important; margin:0!important; }
.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; text-align:center; }
.woocommerce ul.products li.product a img { margin:0 0 12px!important; aspect-ratio:1/1; object-fit:contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0!important; color:var(--epb-head); font:400 14px/1.5 'Open Sans',sans-serif; }
.woocommerce ul.products li.product .price { color:var(--epb-text)!important; font-weight:700; }
.woocommerce span.onsale { min-width:auto!important; min-height:auto!important; padding:5px 8px!important; border-radius:0!important; background:var(--epb-blue)!important; line-height:1!important; }
.epb-quote-btn { display:inline-block; margin-top:8px; font-size:12px; text-transform:uppercase; text-decoration:underline; }
.epb-quote-btn:hover { color:var(--epb-blue-dark); }

/* Szolgaltatasok */
.epb-services { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.epb-service { position:relative; display:flex; min-height:240px; overflow:hidden; background:#eee; }
.epb-service img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.epb-service::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 15%,rgba(0,0,0,.72)); }
.epb-service__content { position:relative; z-index:1; margin-top:auto; padding:22px; color:#fff; }
.epb-service__content h3 { color:#fff; font-size:18px; padding-bottom:6px; }
.epb-service__content p { margin:0; font-size:13px; color:#eee; padding-bottom:6px; }
.epb-service__link { font-size:13px; text-transform:uppercase; text-decoration:underline; color:#fff; }

/* Markak */
.epb-brands { display:flex; flex-wrap:wrap; gap:14px 36px; justify-content:center; align-items:center; font:700 19px 'Open Sans',sans-serif; text-transform:uppercase; color:#999; }
.epb-brands img { width:auto; max-width:150px; max-height:52px; object-fit:contain; }
.epb-brands img[alt="Rockwool"] { max-width:190px; max-height:66px; }

/* Miert mi */
.epb-why { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.epb-why__img img { width:100%; border:5px solid var(--epb-blue); box-shadow:6px 6px 18px 0 rgba(0,0,0,.3); }
.epb-check { list-style:none; padding:0; margin:20px 0; }
.epb-check li { position:relative; padding:8px 0 8px 30px; font-weight:700; color:var(--epb-head); text-transform:uppercase; font-size:14px; }
.epb-check li::before { content:'\2713'; position:absolute; left:0; top:10px; color:var(--epb-blue); font-size:16px; font-weight:700; }

/* Referenciak */
.epb-ref-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.epb-ref-grid a { display:block; overflow:hidden; background:#eee; aspect-ratio:4/3; }
.epb-ref-grid img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.epb-ref-grid a:hover img { transform:scale(1.04); }

/* Velemenyek: #f5f5f5 kartya, cian keret, dolt betu */
.epb-testi { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.epb-testi__card { background:var(--epb-card); border:1px solid var(--epb-cyan); padding:26px; }
.epb-testi__card p { font-style:italic; }
.epb-testi__who { font-weight:700; color:var(--epb-head); text-transform:uppercase; font-size:13px; }
.epb-stars { color:#e8a200; letter-spacing:.15em; padding-bottom:8px; }

/* Tanusitvanyok */
.epb-certs { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; }
.epb-certs img { max-height:110px; width:auto; border:1px solid var(--epb-line); background:#fff; padding:6px; }

/* GYIK: #fbfbfd, cian keret, kek ikon */
.epb-faq { max-width:800px; margin:auto; }
.epb-faq__item { border:1px solid var(--epb-cyan); margin-bottom:10px; background:var(--epb-light); }
.epb-faq__q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 18px; background:none; border:0; cursor:pointer; font:700 15px 'Open Sans',sans-serif; color:var(--epb-head); text-align:left; }
.epb-faq__q span:last-child { font-size:22px; color:var(--epb-blue); font-weight:400; }
.epb-faq__a { display:none; padding:0 18px 18px; }
.epb-faq__item.is-open .epb-faq__a { display:block; }

/* Statisztika */
.epb-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; margin-top:10px; }
.epb-stat__num { color:var(--epb-blue); font:700 46px/1 'Open Sans',sans-serif; }
.epb-stat__label { text-transform:uppercase; font-weight:400; font-size:14px; color:var(--epb-text); }

/* Kapcsolat */
.epb-contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:start; }
.epb-contact label { display:block; margin:12px 0 5px; font-weight:700; font-size:14px; color:var(--epb-head); }
.epb-contact input, .epb-contact textarea, .woocommerce input.input-text, .woocommerce textarea { width:100%; border:1px solid #bbb; border-radius:0; padding:12px; font:inherit; background:#fff; color:var(--epb-text); }
.epb-contact textarea { min-height:130px; resize:vertical; }
.epb-notice { padding:12px; background:#eff8ef; border-left:3px solid #428c42; }
/* Kapcsolat 1/1 a koszabau.hu Divi-méretei alapján (section 4%, sor 2%, mező 3%, input #eee/16px, gomb 20px, infósáv #ededef, térkép 600px). */
.page-id-16 .epb-page { padding:0 0 0; }
.page-id-16 .epb-page__header { display:none; }
.page-id-16 .epb-page .epb-container { width:100%; max-width:none; margin:0; padding:0; }
.page-id-16 .epb-page .epb-container article { margin:0; }
.epb-kosza { margin:0; background:#fff; }
.epb-kosza p { padding-bottom:0; }
.epb-kosza h1, .epb-kosza h2, .epb-kosza h3 { padding-bottom:0; }
.epb-kosza__banner { margin:0; padding:0; background:linear-gradient(rgba(164,35,37,.9),rgba(164,35,37,.9)), url('assets/defaults/hero.jpg') center/cover no-repeat; }
.epb-kosza__title { width:80%; max-width:1080px; margin:0 auto; padding:80px 0; text-align:left; font-size:36px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; color:#fff; font-family:'Open Sans',Helvetica,Arial,sans-serif; }
.epb-kosza__formwrap { background:#fff; padding:4% 0; }
.epb-kosza__sub { width:80%; max-width:1080px; margin:0 auto; padding:6% 0 2%; text-align:center; font-size:26px; font-weight:700; text-transform:uppercase; color:#342a21; font-family:'Open Sans',Helvetica,Arial,sans-serif; }
.epb-kosza__form { width:80%; max-width:1080px; margin:0 auto; padding:2% 0; }
.epb-kosza__form .epb-notice { font-size:14px; }
.epb-kosza__field { margin:0 0 3%; }
.epb-kosza__row { display:grid; grid-template-columns:1fr 1fr; gap:3%; margin:0 0 3%; }
.epb-kosza__row .epb-kosza__field { margin-bottom:0; }
.epb-kosza__form input, .epb-kosza__form textarea { width:100%; border:0; border-radius:0; background:#eee; color:#000; padding:16px; font-size:14px; line-height:1.7; font-family:inherit; }
.epb-kosza__form input::placeholder, .epb-kosza__form textarea::placeholder { color:#000; opacity:1; }
.epb-kosza__form textarea { min-height:150px; resize:vertical; display:block; }
.epb-kosza__form input:focus, .epb-kosza__form textarea:focus { outline:2px solid #a42325; outline-offset:-2px; }
.epb-kosza__actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin:0; }
.epb-kosza__captcha { display:flex; align-items:center; gap:8px; font-size:14px; color:#666; margin:0; }
.epb-kosza__captcha input { max-width:50px; text-align:center; padding:16px; }
.epb-kosza__submit { margin:0; }
.epb-kosza__btn { display:inline-block; border:0; border-radius:0; background:#a42325; color:#fff; padding:.3em 1em; font-size:20px; font-weight:700; line-height:1.7; font-family:'Open Sans',Helvetica,Arial,sans-serif; cursor:pointer; transition:background .2s; }
.epb-kosza__btn:hover { background:#780406; }
.epb-kosza__gridwrap { background:#ededef; padding:4% 0; }
.epb-kosza__grid { display:grid; grid-template-columns:47.25% 47.25%; justify-content:space-between; align-items:start; width:80%; max-width:1080px; margin:0 auto; padding:2% 0; }
.epb-kosza__info { font-size:14px; line-height:1.8; color:#444; font-family:'Open Sans',Helvetica,Arial,sans-serif; }
.epb-kosza__info h2 { font-size:26px; font-weight:700; text-transform:none; margin:0; padding-bottom:10px; color:#342a21; font-family:'Open Sans',Helvetica,Arial,sans-serif; }
.epb-kosza__info h3 { font-size:22px; font-weight:700; margin:0; padding:10px 0; color:#342a21; text-transform:none; font-family:'Open Sans',Helvetica,Arial,sans-serif; }
.epb-kosza__info p { margin:0; padding-bottom:1em; }
.epb-kosza__info a { color:#a42325; }
/* Cégadatok védelme: szövegkijelölés és másolás tiltása a kontaktinfó-blokkban. */
.epb-kosza__info, .epb-kosza__info * { user-select:none!important; -webkit-user-select:none!important; -moz-user-select:none!important; -ms-user-select:none!important; -webkit-touch-callout:none!important; }
.epb-kosza__img { line-height:0; }
.epb-kosza__img img { width:100%; max-width:100%; height:auto; border:5px solid #a42325; background:#fff; }
.epb-kosza__map { margin:0; padding:0; line-height:0; }
.epb-kosza__map iframe { width:100%; height:600px; border:0; }
@media (max-width:980px) { .epb-kosza__grid, .epb-kosza__row { grid-template-columns:1fr; } .epb-kosza__row .epb-kosza__field { padding-left:0; } }
.epb-contact-info { background:var(--epb-blue); color:#fff; padding:30px; }
.epb-contact-info h3 { color:#fff; }
.epb-contact-info a { color:#fff; text-decoration:underline; }

/* Aloldalak + Woo */
.epb-page { padding:54px 0; min-height:40vh; }
.epb-page__header { margin-bottom:25px; }
.woocommerce .woocommerce-breadcrumb { margin:0 0 24px; color:#999; font-size:13px; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:50px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto!important; float:none!important; }
.woocommerce div.product .product_title { font-size:30px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--epb-text); font-size:20px; font-weight:700; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; }
.woocommerce-cart-form table.cart img { width:90px; }
.woocommerce table.shop_table { border-radius:0; border-color:var(--epb-line); }
.woocommerce-message, .woocommerce-info { border-top-color:var(--epb-blue); }

/* Lablec: kek fo + fekete sav */
.epb-footer { background:var(--epb-blue); color:#eee; padding:55px 0 0; font-size:14px; }
.epb-footer__grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:35px; padding-bottom:40px; }
.epb-footer h3 { color:#fff; font-size:16px; }
.epb-footer ul { padding:0; margin:0; list-style:none; }
.epb-footer li { margin:7px 0; line-height:1.7; }
.epb-footer a { color:#fff; }
.epb-footer a:hover { text-decoration:underline; }
.epb-footer__bottom { background:var(--epb-black); color:#fff; font-size:12px; }
.epb-footer__bottom .epb-container { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; }

@media (max-width:980px) {
  .epb-hero h1 { font-size:40px; }
  .epb-hero__sub { font-size:18px; }
  .epb-hero__content { max-width:100%; }
  .epb-services { grid-template-columns:repeat(2,1fr); }
  .epb-ref-grid { grid-template-columns:repeat(3,1fr); }
  .epb-category-grid, .epb-products .products { grid-template-columns:repeat(3,1fr); }
  .epb-stats { grid-template-columns:repeat(2,1fr); }
  .epb-footer__grid { grid-template-columns:repeat(2,1fr); }
  .epb-why, .epb-contact-grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .epb-container, .epb-hero__content { width:90%; }
  .epb-section { padding:45px 0; }
  .epb-header__main { min-height:66px; }
  .epb-menu-toggle { display:block; }
  .epb-nav { display:none; position:absolute; top:100%; right:0; left:0; padding:10px 5% 18px; background:#fff; border-bottom:1px solid var(--epb-line); }
  .epb-nav.is-open { display:block; }
  .epb-nav ul { display:block; }
  .epb-nav li { padding:10px 0; border-bottom:1px solid var(--epb-line); }
  .epb-nav .sub-menu { display:block; position:static; padding:5px 0 0 15px; border:0; box-shadow:none; }
  .epb-hero h1 { font-size:29px; }
  .epb-hero__sub { font-size:18px; }
  .epb-intro-grid, .epb-services, .epb-testi { grid-template-columns:1fr; }
  .epb-category-grid, .epb-products .products { grid-template-columns:repeat(2,1fr); gap:10px; }
  .epb-ref-grid { grid-template-columns:repeat(2,1fr); }
  .woocommerce div.product { display:block; }
  .woocommerce div.product div.summary { margin-top:26px; }
  .epb-footer__grid { grid-template-columns:1fr; }
}
@media (min-width:1350px) {
  .epb-section { padding:54px 0; }
}

/* Shop archívum: 4 oszlopos rács + bal kategória-sáv */
.post-type-archive-product ul.products, .tax-product_cat ul.products, .single-product ul.products { display:grid!important; grid-template-columns:repeat(4,1fr); gap:24px; margin:0!important; padding:0!important; }
.post-type-archive-product ul.products, .tax-product_cat ul.products { grid-auto-flow:row!important; }
.post-type-archive-product ul.products > li.product:first-child, .tax-product_cat ul.products > li.product:first-child { grid-column:1!important; grid-row:1!important; }
.post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product, .single-product ul.products li.product { width:auto!important; float:none!important; margin:0!important; }
.epb-shop { display:grid; grid-template-columns:250px minmax(0,1fr); gap:30px; align-items:start; }
.epb-shop__side { background:#f7f7f7; border:1px solid #e6e6e6; padding:20px; }
.epb-shop__side h3 { font-size:16px; margin-bottom:10px; }
.epb-catlist { list-style:none; margin:0 0 20px; padding:0; }
.epb-catlist li { margin:6px 0; font-size:14px; }
.epb-catlist li a { color:#342a21; }
.epb-catlist li a:hover { color:#a42325; }
.epb-catlist .count { color:#999; }
.epb-widget { margin-bottom:20px; }
@media (max-width:1000px) { .post-type-archive-product ul.products, .tax-product_cat ul.products, .single-product ul.products { grid-template-columns:repeat(3,1fr); } .epb-shop { grid-template-columns:1fr; } }
@media (max-width:600px) { .post-type-archive-product ul.products, .tax-product_cat ul.products, .single-product ul.products { grid-template-columns:repeat(2,1fr); gap:12px; } }

/* Egyenletes webshopkártyák, a WooCommerce float-osztályainak felülírásával. */
.post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { clear:none!important; display:flex!important; flex-direction:column; min-width:0; }
.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link, .tax-product_cat ul.products li.product .woocommerce-LoopProduct-link { display:flex; flex:1; flex-direction:column; }
.post-type-archive-product ul.products li.product a img, .tax-product_cat ul.products li.product a img { width:100%!important; height:170px!important; flex:0 0 170px; object-fit:contain; }
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title, .tax-product_cat ul.products li.product .woocommerce-loop-product__title { display:block; min-height:64px; }
.post-type-archive-product ul.products li.product .price, .tax-product_cat ul.products li.product .price { display:block; min-height:44px; margin-top:auto; }
.post-type-archive-product ul.products li.product > .button::after, .tax-product_cat ul.products li.product > .button::after, .post-type-archive-product ul.products li.product > .button.added::after, .tax-product_cat ul.products li.product > .button.added::after { display:none!important; content:none!important; }
.post-type-archive-product ul.products li.product a.added_to_cart, .tax-product_cat ul.products li.product a.added_to_cart { display:none!important; }
.post-type-archive-product ul.products li.product .epb-quote-btn, .tax-product_cat ul.products li.product .epb-quote-btn { min-height:24px; }
.epb-shop-search { margin:0 0 20px; }

/* A terméklista flex-sorokat használ, így a WooCommerce nem hagyhat üres rácscellát. */
.post-type-archive-product ul.products, .tax-product_cat ul.products { display:flex!important; flex-wrap:wrap; align-items:stretch; }
.post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { flex:0 0 calc((100% - 72px) / 4); }
@media (max-width:1000px) { .post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { flex-basis:calc((100% - 48px) / 3); } }
@media (max-width:600px) { .post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { flex-basis:calc((100% - 12px) / 2); } }
@media (min-width:1001px) {
  .post-type-archive-product ul.products, .tax-product_cat ul.products { display:grid!important; grid-template-columns:repeat(4,1fr); }
  .post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { width:auto!important; flex:none!important; }
  .post-type-archive-product ul.products li.product:nth-child(4n+1), .tax-product_cat ul.products li.product:nth-child(4n+1) { grid-column:1!important; }
  .post-type-archive-product ul.products li.product:nth-child(4n+2), .tax-product_cat ul.products li.product:nth-child(4n+2) { grid-column:2!important; }
  .post-type-archive-product ul.products li.product:nth-child(4n+3), .tax-product_cat ul.products li.product:nth-child(4n+3) { grid-column:3!important; }
  .post-type-archive-product ul.products li.product:nth-child(4n), .tax-product_cat ul.products li.product:nth-child(4n) { grid-column:4!important; }
  .post-type-archive-product ul.products li.product:nth-child(-n+4), .tax-product_cat ul.products li.product:nth-child(-n+4) { grid-row:1!important; }
  .post-type-archive-product ul.products li.product:nth-child(n+5):nth-child(-n+8), .tax-product_cat ul.products li.product:nth-child(n+5):nth-child(-n+8) { grid-row:2!important; }
  .post-type-archive-product ul.products li.product:nth-child(n+9):nth-child(-n+12), .tax-product_cat ul.products li.product:nth-child(n+9):nth-child(-n+12) { grid-row:3!important; }
}
