/*
Theme Name: Baza Machów
Theme URI: https://baza-machow.pl/
Author: Baza Nurkowa Machów
Description: Lekki, autorski motyw WordPress dla Bazy Nurkowej Machów. Treści stron i wpisów pozostają w WordPressie.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: baza-machow
*/

:root{--bm-red:#bd171b;--bm-red-dark:#991216;--bm-ink:#17191d;--bm-muted:#666b72;--bm-paper:#fbfaf8;--bm-line:#e8e3df;--bm-white:#fff;--bm-width:1240px;--bm-serif:Georgia,"Times New Roman",serif;--bm-sans:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bm-paper);color:var(--bm-ink);font-family:var(--bm-sans);font-size:16px;line-height:1.65}
body,button,input,select,textarea{font-family:var(--bm-sans)}
img{max-width:100%;height:auto}
a{color:var(--bm-red);text-underline-offset:3px}
a:hover{color:var(--bm-red-dark)}
button{cursor:pointer}
.screen-reader-text{position:absolute!important;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;padding:0;border:0;white-space:nowrap}
.skip-link:focus{z-index:999999;top:10px;left:10px;width:auto;height:auto;padding:12px 16px;background:#fff;clip:auto;clip-path:none;color:#111}

.bm-site-header{position:relative;z-index:1000;width:100%;background:#17191d;color:#fff}
.home .bm-site-header{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,rgba(7,10,14,.82),rgba(7,10,14,0))}
.bm-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(var(--bm-width),calc(100% - 48px));min-height:92px;margin:0 auto}
.bm-brand{display:flex;align-items:center;gap:12px;min-width:190px;color:#fff!important;text-decoration:none!important}
.bm-brand .custom-logo-link{display:flex;align-items:center;color:#fff;text-decoration:none}
.bm-brand img{display:block;width:auto;max-width:250px;max-height:66px;object-fit:contain}
.bm-brand-text{font-size:14px;font-weight:800;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}
.bm-brand-text small{display:block;margin-bottom:5px;font-size:9px;font-weight:600;letter-spacing:.3em}
.bm-nav-wrap{display:flex;align-items:center;gap:26px}
.bm-main-nav ul{display:flex;align-items:center;gap:clamp(12px,2vw,29px);margin:0;padding:0;list-style:none}
.bm-main-nav li{margin:0;padding:0}
.bm-main-nav a{display:block;padding:12px 0;color:#fff!important;font-size:13px;font-weight:700;letter-spacing:.035em;text-decoration:none!important;transition:color .2s}
.bm-main-nav a:hover,.bm-main-nav .current-menu-item>a{color:#ff5b5e!important}
.bm-header-cta,.bm-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--bm-red);border-radius:7px;background:var(--bm-red);color:#fff!important;font-size:13px;font-weight:800;letter-spacing:.04em;text-decoration:none!important;transition:background .2s,transform .2s}
.bm-header-cta:hover,.bm-button:hover{transform:translateY(-2px);background:var(--bm-red-dark);color:#fff!important}
.bm-menu-toggle{display:none;width:46px;height:44px;padding:8px;border:1px solid #ffffff66;border-radius:6px;background:#101216;color:#fff}
.bm-menu-toggle span{display:block;width:22px;height:2px;margin:5px auto;background:currentColor}

.bm-hero{position:relative;isolation:isolate;display:flex;min-height:min(850px,100svh);align-items:center;overflow:hidden;padding:150px 24px 145px;background-color:#14191e;background-position:center;background-size:cover;color:#fff}
.bm-hero::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,12,17,.9) 0%,rgba(8,12,17,.68) 39%,rgba(8,12,17,.08) 82%),linear-gradient(0deg,rgba(8,12,17,.5),transparent 45%);content:""}
.bm-hero-inner{width:min(var(--bm-width),100%);margin:0 auto}
.bm-hero-copy{max-width:740px}
.bm-eyebrow{margin:0 0 18px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.bm-hero h1{margin:0;color:#fff;font-size:clamp(48px,7vw,92px);font-weight:900;line-height:.99;letter-spacing:.005em;text-transform:uppercase}
.bm-hero-accent{display:block;margin-top:16px;color:#f04448;font-size:clamp(19px,2.5vw,31px);font-weight:800;line-height:1.2;letter-spacing:.025em}
.bm-hero-rule{width:62px;height:3px;margin:28px 0 22px;background:var(--bm-red)}
.bm-hero-text{max-width:480px;margin:0 0 30px;color:#fff;font-size:clamp(16px,1.5vw,19px);line-height:1.7}
.bm-hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.bm-button--outline{border-color:#fff;background:rgba(0,0,0,.16)}
.bm-button--outline:hover{border-color:#fff;background:rgba(255,255,255,.15)}
.bm-hero-stats{position:absolute;right:24px;bottom:35px;left:24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(var(--bm-width),calc(100% - 48px));margin:0 auto;border:1px solid rgba(255,255,255,.4);border-radius:14px;background:rgba(15,18,20,.68);box-shadow:0 14px 35px rgba(0,0,0,.2);backdrop-filter:blur(8px)}
.bm-stat{display:flex;min-height:82px;align-items:center;gap:13px;padding:14px 18px}
.bm-stat+.bm-stat{border-left:1px solid rgba(255,255,255,.25)}
.bm-stat-icon{flex:0 0 auto;color:#ef373d;font-size:27px;line-height:1}
.bm-stat strong,.bm-stat small{display:block;color:#fff}
.bm-stat strong{font-size:15px;line-height:1.25}
.bm-stat small{margin-top:4px;color:#ffffffbf;font-size:9px;letter-spacing:.06em;text-transform:uppercase}

.bm-main{min-height:45vh}
.bm-home-content{width:100%}
.bm-home-content>.bm-fallback-intro{width:min(var(--bm-width),calc(100% - 44px));margin:0 auto;padding:72px 0}
.bm-fallback-intro h2,.bm-section-title{margin:0 0 14px;font-family:var(--bm-serif);font-size:clamp(30px,4vw,50px);line-height:1.15}
.bm-fallback-intro p{max-width:760px;color:var(--bm-muted)}
.bm-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.bm-service-card{display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:25px;border:1px solid var(--bm-line);border-radius:12px;background:#fff;box-shadow:0 8px 24px #0000000a;color:var(--bm-ink)!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.bm-service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000014}
.bm-service-card span{margin-bottom:8px;color:var(--bm-red);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.bm-service-card strong{font-family:var(--bm-serif);font-size:25px;line-height:1.2}
.bm-service-card small{margin-top:8px;color:var(--bm-muted);font-size:14px;line-height:1.5}

.bm-content-shell{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}
.bm-page-title,.bm-post-title{margin:0 0 18px;color:var(--bm-red);font-family:var(--bm-serif);font-size:clamp(36px,5vw,58px);line-height:1.12}
.bm-entry-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 26px;color:var(--bm-muted);font-size:13px}
.bm-entry-featured{margin:0 0 30px;overflow:hidden;border-radius:14px}
.bm-entry-featured img{display:block;width:100%;max-height:620px;object-fit:cover}
.bm-entry-content{font-size:17px;line-height:1.8}
.bm-entry-content h2,.bm-entry-content h3,.bm-content-shell h2,.bm-content-shell h3{margin:1.65em 0 .5em;color:var(--bm-red);font-family:var(--bm-serif);line-height:1.2}
.bm-entry-content img{height:auto;border-radius:10px}
.bm-entry-content blockquote{margin:1.5em 0;padding:12px 22px;border-left:4px solid var(--bm-red);background:#f3efeb;color:#444}
.bm-entry-content table{width:100%;border-collapse:collapse}
.bm-entry-content th,.bm-entry-content td{padding:11px;border-bottom:1px solid var(--bm-line);text-align:left}
.bm-post-nav{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;border-top:1px solid var(--bm-line)}
.bm-post-nav a{font-weight:700;text-decoration:none}
.bm-archive-head{width:min(var(--bm-width),calc(100% - 44px));margin:0 auto;padding:54px 0 20px}
.bm-post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(var(--bm-width),calc(100% - 44px));margin:0 auto;padding:12px 0 70px}
.bm-post-card{overflow:hidden;border:1px solid var(--bm-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px #0000000a;transition:transform .2s,box-shadow .2s}
.bm-post-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #00000012}
.bm-post-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#e9e4de}
.bm-post-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.bm-post-card:hover .bm-post-card-image img{transform:scale(1.03)}
.bm-post-card-copy{padding:22px}
.bm-post-card h2{margin:0 0 10px;font-family:var(--bm-serif);font-size:25px;line-height:1.2}
.bm-post-card h2 a{color:var(--bm-ink);text-decoration:none}
.bm-post-card h2 a:hover{color:var(--bm-red)}
.bm-pagination{grid-column:1/-1;display:flex;justify-content:center;gap:8px;margin-top:15px}
.bm-pagination .navigation.pagination{width:100%}
.bm-pagination .nav-links{display:flex;justify-content:center;gap:8px}
.bm-pagination .page-numbers{padding:8px 13px;border:1px solid var(--bm-line);border-radius:5px;background:#fff;text-decoration:none}
.bm-pagination .current{border-color:var(--bm-red);background:var(--bm-red);color:#fff}

.bm-site-footer{padding:34px 24px;background:#17191d;color:#e8e8e8}
.bm-footer-inner{display:flex;width:min(var(--bm-width),100%);align-items:center;justify-content:space-between;gap:18px;margin:0 auto}
.bm-site-footer a{color:#fff}
.bm-footer-brand{font-weight:800;letter-spacing:.08em}
.bm-site-footer p{margin:0;color:#c6c6c6;font-size:13px}
.bm-footer-nav ul{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none}
.bm-footer-nav a{font-size:12px;text-decoration:none}
.bm-404{width:min(800px,calc(100% - 40px));margin:0 auto;padding:100px 0;text-align:center}

/* Elementor keeps its own full-width section layout. */
.elementor-page .bm-content-shell{width:100%;max-width:none;padding:0}
.elementor-page .bm-entry-content{font-size:inherit;line-height:inherit}

@media(max-width:980px){.bm-header-inner{min-height:80px}.bm-nav-wrap{gap:16px}.bm-main-nav ul{gap:13px}.bm-main-nav a{font-size:11px}.bm-header-cta{padding:0 14px;font-size:11px}.bm-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.bm-stat:nth-child(4){border-left:0;border-top:1px solid #ffffff40}.bm-stat:nth-child(5){border-top:1px solid #ffffff40}}
@media(max-width:760px){.bm-header-inner{width:calc(100% - 36px);min-height:72px}.bm-brand img{max-width:200px;max-height:54px}.bm-menu-toggle{display:block}.bm-nav-wrap{position:absolute;top:calc(100% - 1px);right:0;left:0;display:none;align-items:stretch;gap:10px;padding:15px 20px 20px;background:#17191d;box-shadow:0 14px 24px #0003}.bm-nav-wrap.is-open{display:flex;flex-direction:column}.bm-main-nav ul{display:flex;align-items:stretch;flex-direction:column;gap:0}.bm-main-nav a{padding:11px 4px;border-bottom:1px solid #ffffff1e;font-size:14px}.bm-header-cta{min-height:44px;align-self:flex-start;padding:0 18px;font-size:12px}.home .bm-nav-wrap{background:#14171b}.bm-hero{min-height:780px;align-items:flex-start;padding:145px 22px 300px;background-position:58% center}.bm-hero-copy{max-width:600px}.bm-hero h1{font-size:clamp(43px,10vw,70px)}.bm-hero-stats{right:16px;bottom:16px;left:16px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.bm-stat{min-height:68px;padding:10px 12px}.bm-stat:nth-child(3){border-left:0;border-top:1px solid #ffffff40}.bm-stat:nth-child(4){border-left:1px solid #ffffff40}.bm-stat:nth-child(5){grid-column:1/-1;border-top:1px solid #ffffff40}.bm-stat-icon{font-size:22px}.bm-stat strong{font-size:13px}.bm-stat small{font-size:8px}.bm-service-grid,.bm-post-list{grid-template-columns:1fr}.bm-home-content>.bm-fallback-intro{padding:48px 0}.bm-footer-inner{align-items:flex-start;flex-direction:column}.bm-content-shell{padding:34px 0 56px}.bm-entry-content{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
