/* Browar Tarnobrzeg — standalone identity layer. */
:where(*,*::before,*::after) { box-sizing:border-box; }
html { font-size:18px; scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:#101110; color:#f3ecdf; }
img { max-width:100%; height:auto; }
.wp-site-blocks { min-height:100vh; }
:root { --bt-ink:#101110; --bt-ink-soft:#1b1b19; --bt-paper:#f3ecdf; --bt-amber:#c58a3b; --bt-mist:#c9c1b5; --bt-wide:1440px; --bt-wide-half:720px; --bt-content:860px; --bt-gutter:32px; }
.wp-site-blocks { overflow:clip; }
.bt-site-header { position:relative; z-index:10; background:var(--bt-ink); border-bottom:1px solid rgba(243,236,223,.12); }
.bt-header-inner { width:min(var(--bt-wide),calc(100% - var(--bt-gutter) - var(--bt-gutter))); margin:auto; min-height:88px; gap:44px; display:grid!important; grid-template-columns:max-content minmax(0,1fr); align-items:center; }
.bt-brand { gap:12px; min-width:max-content; }
.bt-brand .wp-block-site-title { margin:0; }
.bt-brand .wp-block-site-title a { display:block; width:clamp(172px,18vw,222px); aspect-ratio:276.164/72.676; overflow:hidden; background:url("../images/browar-tarnobrzeg-logo-light.svg") center/contain no-repeat; color:transparent; font-size:0; white-space:nowrap; }
.bt-brand .wp-block-site-logo { margin:0; }
.bt-brand .wp-block-site-logo + .wp-block-site-title { display:none; }
.bt-brand .custom-logo { display:block; width:auto; max-width:222px; max-height:66px; }
.bt-site-header .wp-block-navigation { margin-left:auto; min-width:0; }.bt-site-header .wp-block-navigation__container { justify-content:flex-end; flex-wrap:nowrap; column-gap:24px; }.bt-site-header .wp-block-navigation-item,.bt-site-header .wp-block-navigation-item__content { white-space:nowrap; }.bt-site-header .wp-block-navigation-item__content { color:var(--bt-paper); padding:8px 0; }.bt-site-header .wp-block-navigation-item__content:hover { color:var(--bt-amber); }.bt-site-header .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) > .wp-block-navigation-item__content { border:1px solid var(--bt-amber); padding:11px 16px; color:var(--bt-amber); }.bt-site-header .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) > .wp-block-navigation-item__content:hover { background:var(--bt-amber); color:var(--bt-ink); }
.bt-header-cta { flex-shrink:0; }.bt-header-cta .wp-block-button__link { display:inline-flex; min-width:max-content; white-space:nowrap; }.bt-header-cta .wp-block-button__link,.is-style-outline .wp-block-button__link { background:transparent!important; color:var(--bt-paper)!important; border:1px solid var(--bt-amber)!important; }.bt-header-cta .wp-block-button__link:hover,.is-style-outline .wp-block-button__link:hover { background:var(--bt-amber)!important; color:var(--bt-ink)!important; }
.bt-hero-carousel { position:relative; width:100%; height:clamp(440px,58svh,580px); overflow:hidden; background:var(--bt-ink); isolation:isolate; }
.bt-carousel-viewport,.bt-hero-slide { position:absolute; inset:0; }
.bt-hero-slide { z-index:0; visibility:hidden; opacity:0; pointer-events:none; background-image:linear-gradient(90deg,rgba(16,17,16,.98) 0%,rgba(16,17,16,.88) 24%,rgba(16,17,16,.34) 56%,rgba(16,17,16,.02) 78%),var(--bt-slide-image); background-position:center; background-size:cover; transition:opacity .65s ease,visibility 0s linear .65s; }
.bt-hero-slide.is-active { z-index:1; visibility:visible; opacity:1; pointer-events:auto; transition-delay:0s; }
.bt-hero-slide__inner { width:min(var(--bt-wide),calc(100% - var(--bt-gutter) - var(--bt-gutter))); height:100%; margin:auto; display:flex; align-items:center; padding:46px 0 72px; }
.bt-hero-slide__content { width:min(680px,56%); }
.bt-hero-slide__title { max-width:720px; margin:0!important; color:var(--bt-paper); font-family:"Playfair Display",Georgia,serif; font-size:clamp(3.25rem,6vw,6rem); font-weight:700; line-height:.9; letter-spacing:-.055em; text-wrap:balance; }
.bt-hero-slide__title:after { content:""; display:block; width:52px; height:2px; margin:22px 0 0; background:var(--bt-amber); }
.bt-hero-slide__copy { max-width:455px; margin:18px 0 25px; color:var(--bt-paper); font-size:1rem; line-height:1.55; }
.bt-hero-slide__copy > :first-child { margin-top:0; }.bt-hero-slide__copy > :last-child { margin-bottom:0; }
.bt-hero-slide__button { display:inline-flex; align-items:center; min-height:48px; padding:12px 22px; background:var(--bt-amber); color:var(--bt-ink)!important; font-size:.84rem; font-weight:700; letter-spacing:.03em; transition:background-color .2s ease,color .2s ease; }
.bt-hero-slide__button:hover,.bt-hero-slide__button:focus-visible { background:var(--bt-paper); color:var(--bt-ink)!important; }
.bt-carousel-controls { position:absolute; z-index:3; left:50%; bottom:24px; display:none; align-items:center; gap:12px; transform:translateX(-50%); }
.bt-js .bt-carousel-controls { display:flex; }
.bt-carousel-arrow,.bt-carousel-dot { appearance:none; border:0; border-radius:0; cursor:pointer; }
.bt-carousel-arrow { width:38px; height:38px; display:grid; place-items:center; padding:0; background:transparent; color:var(--bt-paper); }
.bt-carousel-arrow svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:square; stroke-linejoin:miter; }
.bt-carousel-arrow:hover,.bt-carousel-arrow:focus-visible { color:var(--bt-amber); }
.bt-carousel-dots { display:flex; align-items:center; gap:8px; }
.bt-carousel-dot { width:28px; height:2px; padding:0; background:rgba(243,236,223,.42); transition:width .2s ease,background-color .2s ease; }
.bt-carousel-dot.is-active { width:46px; background:var(--bt-amber); }
.bt-carousel-arrow:focus-visible,.bt-carousel-dot:focus-visible,.bt-hero-slide__button:focus-visible { outline:2px solid var(--bt-paper); outline-offset:3px; }
.bt-hero { min-height:calc(100svh - 88px); display:grid; align-items:center; background-image:linear-gradient(90deg,rgba(16,17,16,.08) 0%,rgba(16,17,16,0) 64%),url("../images/bt-hero-brewery.webp"); background-size:cover; background-position:center; }.bt-hero-inner { width:min(var(--bt-wide),calc(100% - var(--bt-gutter) - var(--bt-gutter))); margin:auto; padding:clamp(90px,11vw,170px) 0; }.bt-hero-inner > * { max-width:720px; }.bt-hero-index,.bt-section-label { color:var(--bt-amber); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.bt-hero-index { display:flex; align-items:center; gap:12px; margin:0 0 26px; }.bt-hero-index:after { content:""; display:block; width:48px; height:1px; background:var(--bt-amber); }.bt-hero-title { margin:0!important; letter-spacing:-.055em; text-wrap:balance; }.bt-hero-copy { max-width:470px; margin:30px 0!important; color:var(--bt-mist); font-size:1.05rem; }
.bt-section { padding:clamp(72px,7vw,112px) max(var(--bt-gutter),calc(50vw - var(--bt-wide-half))); }.bt-section-heading { gap:32px; align-items:end; margin-bottom:48px; }.bt-section-heading h2 { margin:0!important; max-width:820px; letter-spacing:-.04em; }.bt-section-heading p { max-width:520px; margin:0; color:var(--bt-mist); }.bt-lines-section { background:var(--bt-ink); }.bt-line-grid { gap:clamp(16px,1.35vw,24px); align-items:stretch; }.bt-line-grid > .wp-block-column { display:flex; }
.bt-line-card { position:relative; isolation:isolate; width:100%; aspect-ratio:4/5; min-height:clamp(500px,31vw,600px); padding:clamp(28px,2vw,38px); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid rgba(243,236,223,.14); background:#1b1b19; color:var(--bt-paper); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }.bt-line-card:before { content:""; position:absolute; z-index:0; inset:0; background-image:var(--bt-line-bg); background-size:cover; background-position:center; transition:transform .5s ease; pointer-events:none; }.bt-line-card:after { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(180deg,rgba(16,17,16,0) 42%,rgba(16,17,16,.2) 58%,rgba(16,17,16,.82) 76%,rgba(16,17,16,.98) 100%); pointer-events:none; }.bt-line-card > * { position:relative; z-index:1; }.bt-line-card:hover { transform:translateY(-6px); border-color:rgba(243,236,223,.34); box-shadow:0 22px 44px rgba(0,0,0,.3); }.bt-line-card:hover:before { transform:scale(1.025); }.bt-line-card:focus-within { outline:2px solid var(--bt-amber); outline-offset:4px; }.bt-line-card--hrabia { --bt-line-bg:url("../images/brands/hrabia-tile.jpg"); --bt-line-accent:#d3453f; }.bt-line-card--kraft { --bt-line-bg:url("../images/brands/bt-awatar-tile.jpg"); --bt-line-accent:#f08a37; }.bt-line-card--baron { --bt-line-bg:url("../images/brands/baron-tile.jpg"); --bt-line-accent:#65b879; }
.bt-line-logo { display:none!important; }.bt-line-card__description { max-width:330px; margin:0!important; color:var(--bt-paper)!important; font-size:.98rem; line-height:1.55; text-shadow:0 2px 12px rgba(0,0,0,.75); }.bt-line-card__link { margin:19px 0 0!important; }.bt-line-card__link a { color:var(--bt-line-accent); font-size:.82rem; font-weight:700; letter-spacing:.035em; text-decoration:none; text-shadow:0 2px 10px rgba(0,0,0,.7); }.bt-line-card__link a:hover,.bt-line-card__link a:focus-visible { color:var(--bt-paper); text-decoration:underline; text-decoration-color:var(--bt-line-accent); text-underline-offset:5px; }.bt-line-card__link a:focus-visible { outline:2px solid var(--bt-paper); outline-offset:4px; }
.bt-beers-section { background:#161714; }.bt-beer-grid .wp-block-post-template { gap:clamp(16px,1.25vw,22px); }.bt-beer-card { height:100%; padding:clamp(16px,1.4vw,24px); border:1px solid rgba(243,236,223,.12); background:var(--bt-ink); transition:transform .25s ease,border-color .25s ease; }.bt-beer-card:hover { transform:translateY(-5px); border-color:var(--bt-amber); }.bt-beer-card .wp-block-post-featured-image { margin:0 0 20px; background:#24241f; }.bt-beer-card .wp-block-post-featured-image img { object-fit:cover; }.bt-beer-card .wp-block-post-title { margin:0 0 8px!important; font-size:clamp(1.45rem,1.65vw,1.9rem)!important; }.bt-beer-card .wp-block-post-excerpt { color:var(--bt-mist); font-size:.9rem; }.bt-beer-card .wp-block-post-excerpt__more-link { display:block; margin-top:12px; color:var(--bt-amber); font-weight:700; }.bt-empty-note { display:none; color:var(--bt-mist); font-size:.86rem; }.bt-beer-grid:has(.wp-block-post-template:empty) + .bt-empty-note { display:block; }
.bt-contract { padding:clamp(72px,7vw,112px) max(var(--bt-gutter),calc(50vw - var(--bt-wide-half))); background:var(--bt-paper); color:var(--bt-ink); }.bt-contract h2 { color:var(--bt-ink)!important; margin-top:0!important; letter-spacing:-.04em; }.bt-contract p { color:#5b5349; max-width:720px; }.bt-contract .wp-block-button__link { background:var(--bt-ink)!important; color:var(--bt-paper)!important; }.bt-contract-number { font-family:"Playfair Display",Georgia,serif; color:var(--bt-amber)!important; font-size:clamp(5rem,10vw,10rem); font-weight:700; line-height:.8; text-align:right; letter-spacing:-.07em; }.bt-contract-number + p { margin-left:auto; max-width:180px; text-align:right; font-size:.8rem; }
.bt-availability { background:var(--bt-ink-soft); }.bt-availability h2 { margin-top:0!important; letter-spacing:-.04em; }.bt-map-placeholder { min-height:clamp(340px,26vw,460px); display:grid; place-content:center; background:radial-gradient(circle at 46% 39%,rgba(197,138,59,.32) 0 3px,transparent 4px),radial-gradient(circle at 66% 67%,rgba(197,138,59,.28) 0 3px,transparent 4px),radial-gradient(circle at 37% 69%,rgba(197,138,59,.25) 0 3px,transparent 4px),linear-gradient(135deg,#262722,#161714); border:1px solid rgba(243,236,223,.14); text-align:center; }.bt-map-placeholder p { font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.2rem,5vw,4.6rem); line-height:.9; margin:0; }.bt-map-placeholder span { color:var(--bt-amber); }
.bt-site-footer { padding:64px max(var(--bt-gutter),calc(50vw - var(--bt-wide-half))) 28px; background:#090a09; }.bt-site-footer .wp-block-site-title { margin:0 0 18px; }.bt-site-footer .wp-block-site-title a { display:block; width:min(220px,100%); aspect-ratio:276.164/72.676; overflow:hidden; background:url("../images/browar-tarnobrzeg-logo-light.svg") left center/contain no-repeat; color:transparent; font-size:0; white-space:nowrap; }.bt-site-footer p { color:var(--bt-mist); font-size:.9rem; }.bt-site-footer h3 { margin-top:0!important; font-family:Lato,Arial,sans-serif; font-size:.82rem!important; letter-spacing:.12em; text-transform:uppercase; }.bt-footer-rule { border-color:rgba(243,236,223,.14)!important; margin:48px 0 22px!important; }
.bt-archive,.bt-single-beer { width:min(var(--bt-wide),calc(100% - var(--bt-gutter) - var(--bt-gutter))); max-width:var(--bt-wide)!important; margin:auto; padding:clamp(72px,7vw,112px) 0; }.bt-archive > .wp-block-query,.bt-single-beer > .wp-block-columns { width:100%; max-width:none!important; }.bt-page,.bt-page-form { width:min(1040px,calc(100% - var(--bt-gutter) - var(--bt-gutter))); max-width:1040px!important; margin:auto; padding:clamp(72px,7vw,112px) 0; }.bt-page h1,.bt-page-form h1 { letter-spacing:-.05em; }.bt-page-form > p { max-width:720px; color:var(--bt-mist); }.bt-archive-intro { max-width:860px; margin-bottom:56px; }.bt-archive-intro h1 { margin:0!important; letter-spacing:-.05em; }.bt-single-beer .wp-block-post-featured-image { background:#24241f; }.bt-single-beer .wp-block-post-title { margin:16px 0!important; letter-spacing:-.05em; }.bt-single-beer .wp-block-post-excerpt { color:var(--bt-amber); font-size:1.15rem; }
.bt-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:720px; }.bt-contact-form p { margin:0; }.bt-contact-form p:nth-of-type(3),.bt-contact-form p:nth-of-type(4) { grid-column:1/-1; }.bt-contact-form label { display:block; margin-bottom:7px; color:var(--bt-mist); font-size:.8rem; font-weight:700; letter-spacing:.05em; }.bt-contact-form input,.bt-contact-form textarea { width:100%; box-sizing:border-box; border:1px solid rgba(243,236,223,.26); border-radius:0; background:#1b1b19; color:var(--bt-paper); padding:13px; font:inherit; }.bt-contact-form input:focus,.bt-contact-form textarea:focus { outline:1px solid var(--bt-amber); border-color:var(--bt-amber); }.bt-contact-form .bt-button { appearance:none; border:0; cursor:pointer; background:var(--bt-amber); color:var(--bt-ink); padding:15px 22px; font:700 .84rem Lato,Arial,sans-serif; letter-spacing:.05em; }.bt-form-message { padding:14px 18px; max-width:720px; }.bt-form-message--success { background:#314331; color:#e8f0df; }.bt-form-message--error { background:#5e2928; color:#fff1ed; }
.bt-product-line { margin:0 0 9px!important; color:var(--bt-amber); font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.bt-product-line a { color:inherit; }.bt-wc-archive .bt-archive-intro > p:last-child { color:var(--bt-mist); }.bt-single-product { padding-top:40px; }.bt-single-product .woocommerce-breadcrumb { margin-bottom:40px; color:var(--bt-mist); font-size:.78rem; }.bt-single-product .woocommerce-breadcrumb a { color:var(--bt-amber); }.bt-single-product__hero { gap:clamp(32px,5vw,82px); align-items:center; }.bt-single-product .wp-block-woocommerce-product-image-gallery { background:#1b1b19; }.bt-single-product .woocommerce-product-gallery img { width:100%; object-fit:contain; }.bt-single-product .wp-block-post-excerpt { max-width:610px; color:var(--bt-mist); font-size:1.05rem; }.bt-product-rule { width:72px!important; margin:28px 0!important; border-color:var(--bt-amber)!important; }.bt-product-details-title { margin:0 0 14px!important; font-family:Lato,Arial,sans-serif!important; font-size:.76rem!important; letter-spacing:.1em; text-transform:uppercase; }.bt-single-product .wp-block-woocommerce-product-specifications table,.bt-single-product table.woocommerce-product-attributes { width:100%; border-collapse:collapse; background:transparent; color:var(--bt-paper); }.bt-single-product .wp-block-woocommerce-product-specifications th,.bt-single-product .wp-block-woocommerce-product-specifications td,.bt-single-product table.woocommerce-product-attributes th,.bt-single-product table.woocommerce-product-attributes td { padding:10px 0; border:0; border-bottom:1px solid rgba(243,236,223,.14); text-align:left; }.bt-single-product .wp-block-woocommerce-product-specifications th,.bt-single-product table.woocommerce-product-attributes th { width:42%; color:var(--bt-mist); font-size:.78rem; }.bt-single-product__description { max-width:960px!important; margin-top:clamp(64px,7vw,108px); padding-top:clamp(48px,5vw,78px); border-top:1px solid rgba(243,236,223,.14); }.bt-single-product__description h2 { margin-top:0!important; }.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce .single_add_to_cart_button,.woocommerce a.add_to_cart_button,.woocommerce a.product_type_simple,.wp-block-woocommerce-product-price,.wp-block-woocommerce-product-button,.wp-block-woocommerce-add-to-cart-form,.wc-block-components-product-price,.wc-block-components-product-button { display:none!important; }.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,1.25vw,22px); }.woocommerce ul.products:before,.woocommerce ul.products:after { display:none!important; }.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:clamp(16px,1.4vw,24px); border:1px solid rgba(243,236,223,.12); background:var(--bt-ink); }.woocommerce ul.products li.product img { margin-bottom:20px!important; }.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--bt-paper); font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.45rem,1.65vw,1.9rem)!important; }.woocommerce nav.woocommerce-pagination ul { border:0; }.woocommerce nav.woocommerce-pagination ul li { border:0; margin:0 4px; }.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:40px; padding:11px; border:1px solid rgba(243,236,223,.18); color:var(--bt-paper); }.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--bt-amber); color:var(--bt-ink); }
@media (max-width:1180px) { :root { --bt-gutter:24px; }.bt-site-header .wp-block-navigation__container { column-gap:18px; }.bt-header-inner { gap:26px; } }
@media (max-width:980px) { .bt-line-grid { flex-wrap:wrap!important; }.bt-line-grid > .wp-block-column { flex:0 0 calc(50% - 12px)!important; }.bt-line-grid > .wp-block-column:last-child { margin-inline:auto; }.bt-line-card { min-height:0; } }
@media (max-width:900px) { .bt-site-header .wp-block-navigation { display:flex; margin-left:auto; }.bt-header-inner { min-height:72px; }.bt-hero-slide__content { width:min(590px,72%); }.bt-hero { min-height:680px; background-position:60% center; }.bt-line-card { padding:26px; }.bt-contract-number,.bt-contract-number + p { text-align:left; margin-left:0; }.bt-map-placeholder { min-height:280px; }.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { :root { --bt-gutter:16px; }.bt-header-inner { width:calc(100% - 32px); gap:12px; }.bt-brand .wp-block-site-title a { width:150px; }.bt-brand .custom-logo { max-width:150px; max-height:48px; }.bt-header-cta .wp-block-button__link { padding:9px 10px!important; font-size:.69rem!important; }.bt-hero-carousel { height:clamp(430px,62svh,500px); }.bt-hero-slide { background-image:linear-gradient(90deg,rgba(16,17,16,.98) 0%,rgba(16,17,16,.82) 58%,rgba(16,17,16,.25) 100%),var(--bt-slide-image); background-position:62% center; }.bt-hero-slide__inner { width:calc(100% - 32px); padding:38px 0 68px; }.bt-hero-slide__content { width:88%; }.bt-hero-slide__title { font-size:clamp(2.65rem,13vw,4rem); }.bt-hero-slide__title:after { margin-top:16px; }.bt-hero-slide__copy { margin:14px 0 20px; font-size:.9rem; }.bt-hero-slide__button { min-height:44px; padding:10px 17px; font-size:.76rem; }.bt-carousel-controls { bottom:16px; }.bt-carousel-arrow { width:34px; height:34px; }.bt-carousel-dot { width:20px; }.bt-carousel-dot.is-active { width:34px; }.bt-hero-inner { width:calc(100% - 32px); }.bt-hero { min-height:620px; background-position:65% center; }.bt-section { padding-left:16px; padding-right:16px; }.bt-line-grid { gap:12px; }.bt-line-grid > .wp-block-column { flex-basis:100%!important; }.bt-line-grid > .wp-block-column:last-child { margin-inline:0; }.bt-line-card { min-height:420px; max-height:660px; padding:22px; }.bt-beer-grid .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }.bt-beer-card { padding:12px; }.bt-beer-card .wp-block-post-title { font-size:1.38rem!important; }.bt-contact-form { grid-template-columns:1fr; }.bt-contact-form p { grid-column:1/-1!important; }.bt-site-footer { padding-left:16px; padding-right:16px; }.woocommerce ul.products { grid-template-columns:1fr; }.bt-single-product { padding-top:24px; }.bt-single-product__hero { gap:28px; }.bt-single-product__description { margin-top:52px; padding-top:42px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.bt-beer-card,.bt-hero-slide,.bt-carousel-dot { transition:none; } }
