*{
box-sizing:border-box;
margin:0;
padding:0;
}

:root{
--black:#050505;
--black-soft:#0b0b0b;
--card:#111111;
--gold:#d4af37;
--gold-light:#f5d56b;
--text:#ffffff;
--muted:#d8d8d8;
--border:rgba(212,175,55,.32);
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,sans-serif;
background:
linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.88)),
url("images/gold-paws-bg.png");
background-size:cover;
background-position:center;
background-attachment:fixed;
color:var(--text);
overflow-x:hidden;
}

a{
color:inherit;
}

img{
max-width:100%;
display:block;
border-radius:22px;
}

/* NAVBAR */

.navbar{
position:sticky;
top:0;
z-index:999;
display:flex;
align-items:center;
justify-content:space-between;
gap:28px;
padding:14px 7%;
background:rgba(0,0,0,.88);
border-bottom:1px solid rgba(212,175,55,.45);
backdrop-filter:blur(18px);
box-shadow:0 12px 45px rgba(0,0,0,.72);
}

.logo{
display:flex;
align-items:center;
text-decoration:none;
flex-shrink:0;
}

.logo img{
height:82px;
width:auto;
object-fit:contain;
filter:drop-shadow(0 0 14px rgba(212,175,55,.28));
}

nav{
display:flex;
align-items:center;
gap:26px;
}

nav a{
color:#f5f0df;
text-decoration:none;
text-transform:uppercase;
font-size:13px;
letter-spacing:1.3px;
font-weight:800;
transition:.3s;
position:relative;
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:0;
height:2px;
background:var(--gold);
transition:.3s;
}

nav a:hover{
color:var(--gold);
text-shadow:0 0 18px rgba(212,175,55,.75);
}

nav a:hover::after{
width:100%;
}

.nav-buttons{
display:flex;
gap:12px;
align-items:center;
flex-wrap:wrap;
justify-content:flex-end;
}

/* BUTTONS */

button,
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#8a650d,#f5d56b,#b8860b);
color:#111;
border:1px solid rgba(255,220,120,.85);
padding:13px 24px;
border-radius:999px;
cursor:pointer;
text-decoration:none;
text-transform:uppercase;
font-weight:900;
font-size:13px;
letter-spacing:1px;
box-shadow:0 0 24px rgba(212,175,55,.25);
transition:.35s;
}

button:hover,
.btn:hover{
transform:translateY(-3px);
box-shadow:0 0 38px rgba(212,175,55,.68);
}

.hero .btn{
margin-right:14px;
margin-top:16px;
}

.btn.gold{
background:linear-gradient(135deg,#f5d56b,#b8860b,#7b5608);
}

/* HERO */

.hero{
min-height:86vh;
display:flex;
align-items:center;
justify-content:flex-start;
text-align:left;
padding:90px 8%;
background:
linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.58),rgba(0,0,0,.88)),
url("images/gold-paws-bg.png");
background-size:cover;
background-position:center;
position:relative;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 28% 45%,rgba(212,175,55,.16),transparent 34%);
pointer-events:none;
}

.hero-content{
max-width:780px;
position:relative;
z-index:2;
}

.eyebrow{
color:var(--gold);
text-transform:uppercase;
letter-spacing:8px;
font-size:18px;
font-weight:900;
margin-bottom:20px;
}

.hero h1{
font-family:Georgia,serif;
font-size:clamp(42px,6vw,82px);
line-height:.96;
text-transform:uppercase;
letter-spacing:4px;
margin:20px 0;
color:#fff;
text-shadow:0 0 32px rgba(0,0,0,.95);
}

.hero h1 span{
color:var(--gold);
text-shadow:0 0 28px rgba(212,175,55,.8);
}

.hero p{
font-size:20px;
line-height:1.75;
color:#eeeeee;
max-width:660px;
}

/* SEKCJE */

.section{
padding:85px 8%;
}

.section h2{
font-family:Georgia,serif;
font-size:clamp(34px,4vw,54px);
color:var(--gold);
text-transform:uppercase;
letter-spacing:4px;
margin-bottom:42px;
text-align:center;
text-shadow:0 0 20px rgba(212,175,55,.25);
}

.grid{
display:grid;
gap:34px;
}

.two{
grid-template-columns:1.08fr .92fr;
align-items:center;
}

.cards{
grid-template-columns:repeat(3,1fr);
}

#breeds .cards{
grid-template-columns:repeat(2,1fr);
align-items:stretch;
}

.card{
background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(212,175,55,.075));
border:1px solid var(--border);
padding:34px;
border-radius:30px;
box-shadow:0 20px 65px rgba(0,0,0,.62);
backdrop-filter:blur(14px);
transition:.35s;
}

.card:hover{
transform:translateY(-10px);
border-color:rgba(212,175,55,.8);
box-shadow:0 28px 85px rgba(212,175,55,.18);
}

.card h3{
font-family:Georgia,serif;
font-size:32px;
color:var(--gold);
margin-bottom:22px;
}

.card p{
font-size:17px;
line-height:1.85;
color:#dddddd;
margin-bottom:20px;
text-align:justify;
}

.card ul{
margin-top:22px;
padding-left:22px;
color:#eeeeee;
line-height:1.9;
}

.card li::marker{
color:var(--gold);
}

#about p{
font-size:18px;
line-height:1.95;
color:#dddddd;
margin-bottom:25px;
text-align:justify;
}

#about img{
width:100%;
max-height:720px;
object-fit:cover;
border:1px solid rgba(212,175,55,.38);
box-shadow:0 20px 70px rgba(0,0,0,.65);
}

.icons{
font-size:34px;
letter-spacing:16px;
margin-top:32px;
color:var(--gold);
filter:drop-shadow(0 0 12px rgba(212,175,55,.35));
}

/* DLACZEGO MY */

#services .card{
min-height:150px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
font-size:22px;
font-weight:900;
line-height:1.4;
}

/* GALERIA */

.gallery{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:32px;
}

.gallery img{
width:100%;
height:360px;
object-fit:cover;
border-radius:28px;
border:1px solid rgba(212,175,55,.35);
box-shadow:0 18px 48px rgba(0,0,0,.6);
transition:.4s;
}

.gallery img:hover{
transform:scale(1.035);
box-shadow:0 0 45px rgba(212,175,55,.42);
}

/* STATYSTYKI */

.stats{
display:flex;
justify-content:center;
gap:40px;
text-align:center;
flex-wrap:wrap;
}

.stats div{
min-width:220px;
padding:34px 28px;
background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(212,175,55,.07));
border:1px solid var(--border);
border-radius:26px;
box-shadow:0 18px 55px rgba(0,0,0,.55);
}

.stats b{
display:block;
font-size:54px;
color:var(--gold);
font-family:Georgia,serif;
margin-bottom:10px;
}

.stats span{
font-size:17px;
color:#eeeeee;
text-transform:uppercase;
letter-spacing:1px;
font-weight:800;
}

/* FAQ */

.faq{
max-width:1050px;
margin:0 auto;
}

.question{
background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(212,175,55,.06));
border:1px solid var(--border);
padding:24px 28px;
margin:18px 0;
border-radius:20px;
font-size:19px;
font-weight:900;
cursor:pointer;
box-shadow:0 14px 42px rgba(0,0,0,.45);
}

.question p{
display:none;
font-size:17px;
font-weight:400;
line-height:1.7;
color:#dddddd;
margin-top:16px;
}

.question.active p{
display:block;
}

/* KONTAKT */

#contact{
max-width:1050px;
margin:0 auto;
}

form{
display:grid;
gap:18px;
background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(212,175,55,.07));
border:1px solid var(--border);
padding:34px;
border-radius:30px;
box-shadow:0 24px 70px rgba(0,0,0,.65);
}

input,
textarea{
width:100%;
padding:17px 18px;
border-radius:16px;
border:1px solid rgba(212,175,55,.38);
background:rgba(0,0,0,.55);
color:#fff;
font-size:16px;
outline:none;
transition:.3s;
}

textarea{
min-height:160px;
resize:vertical;
}

input::placeholder,
textarea::placeholder{
color:#bdbdbd;
}

input:focus,
textarea:focus{
border-color:var(--gold);
box-shadow:0 0 22px rgba(212,175,55,.28);
}

#contact p{
margin-top:28px;
text-align:center;
font-size:18px;
line-height:1.8;
color:#eeeeee;
}

/* FOOTER */

footer{
padding:34px 8%;
text-align:center;
background:rgba(0,0,0,.9);
border-top:1px solid rgba(212,175,55,.35);
color:#d8d8d8;
}

/* TOP BUTTON */

#top{
position:fixed;
right:24px;
bottom:24px;
width:48px;
height:48px;
border-radius:50%;
padding:0;
display:none;
z-index:998;
font-size:24px;
}

/* ANIMACJE */

.reveal{
opacity:0;
transform:translateY(34px);
transition:1s ease;
}

.show{
opacity:1;
transform:none;
}

/* SKLEP */

.shop-page{
text-align:center;
}

.shop-intro{
text-align:center;
max-width:850px;
margin:0 auto 42px;
color:#dddddd;
font-size:20px;
line-height:1.8;
}

.shop-categories{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
flex-wrap:wrap;
margin:40px 0;
}

.product-card img{
width:100%;
height:280px;
object-fit:cover;
border-radius:22px;
margin-bottom:20px;
border:1px solid rgba(212,175,55,.35);
}

.product-card strong{
display:block;
color:var(--gold);
font-size:26px;
margin:20px 0;
}

.product-card h3{
color:var(--gold);
font-size:26px;
}

.product-card p{
line-height:1.7;
color:#dddddd;
}

/* RESPONSYWNOŚĆ */

@media(max-width:1100px){
.navbar{
padding:14px 4%;
gap:18px;
}

.logo img{
height:70px;
}

nav{
gap:15px;
}

nav a{
font-size:12px;
}

.btn{
padding:12px 18px;
font-size:12px;
}

.cards{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:850px){
.navbar{
position:relative;
flex-direction:column;
align-items:center;
gap:18px;
}

.logo img{
height:86px;
}

nav{
flex-wrap:wrap;
justify-content:center;
gap:18px;
}

.nav-buttons{
justify-content:center;
}

.hero{
min-height:auto;
padding:80px 7%;
text-align:center;
justify-content:center;
}

.hero-content{
max-width:100%;
}

.hero p{
margin:0 auto;
}

.hero .btn{
margin:18px 7px 0;
}

.two,
.cards,
#breeds .cards,
.gallery{
grid-template-columns:1fr;
}

#about p,
.card p{
text-align:left;
}

.gallery img{
height:280px;
}

.stats{
flex-direction:column;
align-items:center;
}

.stats div{
width:100%;
}
}

@media(max-width:520px){
.section{
padding:60px 6%;
}

.navbar{
padding:16px 5%;
}

.logo img{
height:76px;
}

nav{
display:grid;
grid-template-columns:1fr 1fr;
text-align:center;
gap:14px 20px;
}

.nav-buttons{
width:100%;
display:grid;
grid-template-columns:1fr;
}

.btn,
button{
width:100%;
}

.hero{
padding:70px 6%;
}

.eyebrow{
font-size:13px;
letter-spacing:5px;
}

.hero h1{
letter-spacing:2px;
}

.hero p{
font-size:17px;
}

.card,
form{
padding:24px;
}

.icons{
font-size:26px;
letter-spacing:8px;
}

.gallery img{
height:240px;
}
}
/* SZCZENIĘTA */

.puppy-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:28px;
align-items:stretch;
}

.puppy-card{
display:flex;
flex-direction:column;
background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(212,175,55,.075));
border:1px solid var(--border);
border-radius:30px;
padding:22px;
box-shadow:0 20px 65px rgba(0,0,0,.62);
backdrop-filter:blur(14px);
transition:.35s;
overflow:hidden;
}

.puppy-card:hover{
transform:translateY(-8px);
border-color:rgba(212,175,55,.8);
box-shadow:0 28px 85px rgba(212,175,55,.18);
}

.puppy-card img{
width:100%;
height:220px;
object-fit:cover;
border-radius:22px;
border:1px solid rgba(212,175,55,.35);
margin-bottom:18px;
box-shadow:0 14px 36px rgba(0,0,0,.55);
}

.puppy-card h3{
font-family:Georgia,serif;
font-size:26px;
color:var(--gold);
margin-bottom:12px;
}

.puppy-card p{
font-size:15px;
line-height:1.65;
color:#dddddd;
margin-bottom:14px;
text-align:left;
}

.puppy-status{
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
font-size:11px;
letter-spacing:1px;
text-transform:uppercase;
font-weight:900;
padding:8px 14px;
border-radius:999px;
color:#111;
background:linear-gradient(135deg,#f5d56b,#b8860b);
margin-bottom:14px;
}
/* STATUSY SZCZENIĄT */

.puppy-status-available{
background:linear-gradient(135deg,#f5d56b,#b8860b);
color:#111;
border-color:rgba(255,220,120,.9);
}

.puppy-status-reserved{
background:linear-gradient(135deg,#d88728,#8d4f0d);
color:#fff;
border-color:rgba(255,166,64,.8);
}

.puppy-status-sold{
background:linear-gradient(135deg,#555,#202020);
color:#ddd;
border-color:rgba(255,255,255,.25);
}

.puppy-card-reserved{
border-color:rgba(216,135,40,.42);
}

.puppy-card-sold{
opacity:.82;
border-color:rgba(255,255,255,.18);
}

.puppy-card-sold:hover{
opacity:1;
}

.puppy-card-sold .puppy-card-image img{
filter:grayscale(.55);
}

.puppy-sold-overlay{
position:absolute;
inset:0;
z-index:2;
display:flex;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.46);
pointer-events:none;
}

.puppy-sold-overlay span{
padding:12px 20px;
border-radius:999px;
background:rgba(0,0,0,.78);
border:1px solid rgba(212,175,55,.55);
color:var(--gold-light);
font-size:13px;
font-weight:900;
text-transform:uppercase;
letter-spacing:1px;
box-shadow:0 10px 30px rgba(0,0,0,.7);
}

.puppy-sold-message{
margin-top:20px;
padding:18px 20px;
border-radius:16px;
background:rgba(255,255,255,.045);
border:1px solid rgba(212,175,55,.25);
color:var(--gold-light);
font-size:16px;
font-weight:800;
text-align:center;
}

.puppy-card .btn{
margin-top:auto;
width:max-content;
}

/* MODAL SZCZENIĘCIA */

.puppy-modal,
#puppyModal{
position:fixed;
inset:0;
z-index:99999;
display:none;
align-items:center;
justify-content:center;
padding:22px;
background:rgba(0,0,0,.84);
backdrop-filter:blur(6px);
}

.puppy-modal.show,
.puppy-modal.active,
#puppyModal.show,
#puppyModal.active,
#puppyModal:not([hidden]){
display:flex;
}

#puppyModal[hidden]{
display:none !important;
}

.puppy-modal-bg{
position:absolute;
inset:0;
z-index:1;
background:rgba(0,0,0,.2);
cursor:pointer;
}

.puppy-modal-content,
.puppy-modal-box{
position:relative;
z-index:2;
width:min(920px,100%);
max-height:86vh;
overflow:auto;
background:linear-gradient(145deg,#090909,#211805);
border:1px solid rgba(212,175,55,.55);
border-radius:26px;
padding:28px;
box-shadow:0 0 80px rgba(0,0,0,.95);
color:#fff;
pointer-events:auto;
}

.modal-close,
.puppy-modal-close,
#close-puppy-modal{
position:absolute;
top:14px;
right:14px;
width:38px !important;
height:38px !important;
padding:0 !important;
border-radius:50%;
background:#050505 !important;
color:var(--gold) !important;
border:1px solid rgba(212,175,55,.8) !important;
box-shadow:none !important;
font-size:28px;
line-height:1;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:10;
}

.modal-close:hover,
.puppy-modal-close:hover,
#close-puppy-modal:hover{
transform:none;
background:var(--gold) !important;
color:#000 !important;
box-shadow:0 0 22px rgba(212,175,55,.55) !important;
}

/* UKŁAD SZCZEGÓŁÓW W MODALU */

.puppy-details-layout{
display:grid;
grid-template-columns:380px 1fr;
gap:26px;
align-items:start;
}

.main-puppy-photo{
width:100%;
height:270px !important;
object-fit:cover;
border-radius:20px;
border:1px solid rgba(212,175,55,.45);
box-shadow:0 14px 40px rgba(0,0,0,.65);
}

.puppy-thumbnails{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:10px;
margin-top:12px;
}

.thumb-btn{
all:unset;
display:block;
cursor:pointer;
border:1px solid rgba(212,175,55,.35);
border-radius:13px;
overflow:hidden;
box-sizing:border-box;
transition:.25s;
}

.thumb-btn:hover,
.thumb-btn.active{
border-color:var(--gold);
box-shadow:0 0 18px rgba(212,175,55,.38);
}

.thumb-btn img{
width:100%;
height:64px !important;
object-fit:cover;
border-radius:0;
display:block;
}

.puppy-detail-info h3,
.puppy-modal-box h2{
font-family:Georgia,serif;
font-size:32px;
color:var(--gold);
margin-bottom:16px;
padding-right:44px;
}

.puppy-detail-info p,
.puppy-modal-box p,
#modalText{
font-size:15px;
line-height:1.65;
color:#dddddd;
margin-bottom:9px;
}

.puppy-price{
font-size:23px;
font-weight:900;
color:var(--gold);
margin:16px 0;
}

.puppy-detail-list{
padding-left:20px;
line-height:1.65;
font-size:15px;
color:#eeeeee;
margin:14px 0;
}

.puppy-detail-list li::marker{
color:var(--gold);
}

.puppy-contact-buttons{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:18px;
}

.puppy-contact-buttons .btn{
width:auto;
padding:12px 18px;
font-size:12px;
}

/* RESPONSYWNOŚĆ SZCZENIĄT */

@media(max-width:1100px){
.puppy-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.puppy-details-layout{
grid-template-columns:330px 1fr;
}
}

@media(max-width:760px){
.puppy-grid{
grid-template-columns:1fr;
}

.puppy-card img{
height:240px;
}

.puppy-details-layout{
grid-template-columns:1fr;
}

.main-puppy-photo{
height:240px !important;
}

.puppy-thumbnails{
grid-template-columns:repeat(3,1fr);
}

.puppy-modal-content,
.puppy-modal-box{
padding:24px;
}

.puppy-contact-buttons .btn{
width:100%;
}
}

@media(max-width:520px){
.puppy-modal,
#puppyModal{
padding:14px;
}

.puppy-card{
padding:20px;
}

.puppy-card img{
height:220px;
}

.puppy-modal-content,
.puppy-modal-box{
border-radius:22px;
padding:22px;
}

.puppy-detail-info h3,
.puppy-modal-box h2{
font-size:27px;
}

.main-puppy-photo{
height:220px !important;
}

.thumb-btn img{
height:58px !important;
}

.modal-close,
.puppy-modal-close,
#close-puppy-modal{
width:36px !important;
height:36px !important;
}
}
/* =========================
   STRONA SZCZENIĄT PREMIUM
========================= */

.puppies-page{
min-height:100vh;
}

/* HERO SZCZENIĄT */

.puppies-hero{
min-height:520px;
display:flex;
align-items:center;
justify-content:center;
padding:90px 8%;
text-align:center;
position:relative;
overflow:hidden;
background:
linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.9)),
url("images/gold-paws-bg.png");
background-size:cover;
background-position:center;
border-bottom:1px solid rgba(212,175,55,.25);
}

.puppies-hero::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 50% 35%,rgba(212,175,55,.22),transparent 38%);
pointer-events:none;
}

.puppies-hero-content{
position:relative;
z-index:2;
max-width:950px;
margin:0 auto;
}

.puppies-hero h1{
font-family:Georgia,serif;
font-size:clamp(48px,7vw,88px);
line-height:1;
letter-spacing:4px;
text-transform:uppercase;
color:#fff;
margin-bottom:24px;
text-shadow:0 0 28px rgba(0,0,0,.95);
}

.puppies-hero h1 span{
color:var(--gold);
text-shadow:0 0 26px rgba(212,175,55,.75);
}

.puppies-intro{
max-width:760px;
margin:0 auto;
font-size:19px;
line-height:1.8;
color:#e6e6e6;
}

.puppies-highlights{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:42px;
}

.puppy-highlight{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
padding:18px 20px;
border:1px solid rgba(212,175,55,.28);
border-radius:20px;
background:rgba(255,255,255,.045);
backdrop-filter:blur(12px);
box-shadow:0 14px 35px rgba(0,0,0,.35);
}

.puppy-highlight span{
width:36px;
height:36px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:linear-gradient(135deg,#f5d56b,#8a650d);
color:#111;
font-size:18px;
font-weight:900;
box-shadow:0 0 18px rgba(212,175,55,.35);
}

.puppy-highlight strong{
font-size:14px;
text-transform:uppercase;
letter-spacing:.7px;
color:#f5f0df;
}

/* NAGŁÓWEK SEKCJI */

.puppies-section{
padding-top:95px;
padding-bottom:95px;
}

.puppies-section-heading{
display:flex;
align-items:end;
justify-content:space-between;
gap:40px;
max-width:1400px;
margin:0 auto 48px;
}

.puppies-section-heading h2{
text-align:left;
margin:10px 0 0;
font-size:clamp(34px,4vw,54px);
}

.section-label{
color:var(--gold);
text-transform:uppercase;
letter-spacing:4px;
font-size:12px;
font-weight:900;
}

.puppies-section-description{
max-width:520px;
font-size:18px;
line-height:1.8;
color:var(--gold-light);
text-align:right;
font-weight:700;
letter-spacing:.3px;
padding:18px 22px;
border-left:3px solid var(--gold);
background:rgba(212,175,55,.08);
border-radius:14px;
box-shadow:0 12px 30px rgba(0,0,0,.35);
}

/* KARTY SZCZENIĄT */

.puppy-grid{
max-width:1400px;
margin:0 auto;
}

.puppy-card{
position:relative;
overflow:hidden;
background:
linear-gradient(145deg,rgba(255,255,255,.065),rgba(212,175,55,.055));
border:1px solid rgba(212,175,55,.25);
padding:0;
border-radius:28px;
box-shadow:0 24px 60px rgba(0,0,0,.6);
}

.puppy-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));
pointer-events:none;
z-index:1;
}

.puppy-card:hover{
transform:translateY(-10px) scale(1.01);
border-color:rgba(212,175,55,.72);
box-shadow:0 30px 85px rgba(212,175,55,.16);
}

.puppy-card img{
width:100%;
height:300px;
object-fit:cover;
border-radius:0;
margin:0;
border:none;
box-shadow:none;
transition:.45s;
}

.puppy-card:hover img{
transform:scale(1.045);
}

.puppy-card-content{
position:relative;
z-index:2;
padding:24px;
}

.puppy-card-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
margin-bottom:14px;
}

.puppy-card h3{
font-size:30px;
margin:0;
}

.puppy-card-image{
position:relative;
overflow:hidden;
}

.puppy-card-image .puppy-status{
position:absolute;
top:18px;
right:18px;
z-index:3;
margin:0;
box-shadow:0 8px 24px rgba(0,0,0,.55);
}

.puppy-card-breed{
display:block;
color:var(--gold-light);
font-size:12px;
font-weight:900;
text-transform:uppercase;
letter-spacing:2px;
margin-bottom:7px;
}

.puppy-card-description{
min-height:78px;
}
.puppy-meta{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:14px 0 18px;
}

.puppy-meta span{
display:inline-flex;
align-items:center;
padding:7px 11px;
border-radius:999px;
background:rgba(255,255,255,.055);
border:1px solid rgba(212,175,55,.2);
color:#dddddd;
font-size:12px;
}

.puppy-card p{
margin-bottom:20px;
}

.puppy-card .btn{
width:100%;
margin-top:8px;
}

/* BANNER KONTAKTOWY */

.puppies-contact-banner{
padding:0 8% 100px;
}

.puppies-contact-banner-content{
max-width:1400px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
padding:46px 52px;
border-radius:30px;
border:1px solid rgba(212,175,55,.35);
background:
linear-gradient(135deg,rgba(212,175,55,.12),rgba(255,255,255,.035));
box-shadow:0 24px 70px rgba(0,0,0,.55);
backdrop-filter:blur(16px);
position:relative;
overflow:hidden;
}

.puppies-contact-banner-content::after{
content:"";
position:absolute;
width:320px;
height:320px;
right:-120px;
top:-150px;
border-radius:50%;
background:rgba(212,175,55,.14);
filter:blur(18px);
pointer-events:none;
}

.puppies-contact-banner h2{
font-family:Georgia,serif;
font-size:42px;
color:var(--gold);
margin:10px 0 12px;
}

.puppies-contact-banner p{
max-width:620px;
font-size:17px;
line-height:1.75;
color:#dddddd;
}

.puppies-contact-banner .btn{
position:relative;
z-index:2;
flex-shrink:0;
}

/* MODAL PREMIUM */

#puppyModal{
padding:24px;
}

#puppyModal .puppy-modal-box{
width:min(980px,96vw);
max-height:90vh;
overflow:auto;
padding:34px;
text-align:left;
background:
linear-gradient(145deg,#090909,#1a1408);
border:1px solid rgba(212,175,55,.55);
box-shadow:0 0 90px rgba(0,0,0,.95);
}

.puppy-modal-heading{
padding-right:50px;
margin-bottom:24px;
}

.puppy-modal-heading h2{
font-family:Georgia,serif;
font-size:42px;
color:var(--gold);
margin:10px 0 0;
}

.puppy-modal-body{
color:#dddddd;
}

.puppy-modal-body .puppy-details-layout{
display:grid;
grid-template-columns:minmax(300px,420px) 1fr;
gap:30px;
align-items:start;
}

.puppy-modal-body .main-puppy-photo{
height:320px !important;
}

.puppy-modal-body .puppy-thumbnails{
margin-top:14px;
}

.puppy-modal-body .puppy-detail-info{
padding-top:4px;
}
.puppy-main-photo-wrapper{
position:relative;
}

.puppy-modal-status{
position:absolute;
top:16px;
left:16px;
padding:9px 15px;
border-radius:999px;
background:linear-gradient(135deg,#f5d56b,#b8860b);
color:#111;
font-size:11px;
font-weight:900;
text-transform:uppercase;
letter-spacing:1px;
box-shadow:0 10px 26px rgba(0,0,0,.55);
}

.puppy-detail-header{
margin-bottom:22px;
}

.puppy-detail-breed{
display:block;
color:var(--gold-light);
font-size:12px;
font-weight:900;
text-transform:uppercase;
letter-spacing:3px;
margin-bottom:12px;
}

.puppy-detail-description{
font-size:16px !important;
line-height:1.75 !important;
color:#dddddd;
}

.puppy-info-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
margin:22px 0;
}

.puppy-info-item{
padding:14px 16px;
border-radius:16px;
background:rgba(255,255,255,.045);
border:1px solid rgba(212,175,55,.2);
}

.puppy-info-item span{
display:block;
font-size:11px;
text-transform:uppercase;
letter-spacing:1px;
color:#aaa;
margin-bottom:6px;
}

.puppy-info-item strong{
font-size:15px;
color:#f5f0df;
}

.puppy-detail-benefits{
margin-top:22px;
padding-top:20px;
border-top:1px solid rgba(212,175,55,.2);
}

.puppy-detail-benefits h3{
font-family:Georgia,serif;
font-size:22px;
color:var(--gold);
margin-bottom:14px;
}

@media(max-width:600px){
.puppy-info-grid{
grid-template-columns:1fr;
}
}

/* RESPONSYWNOŚĆ */

@media(max-width:900px){

.puppies-highlights{
grid-template-columns:1fr;
max-width:520px;
margin-left:auto;
margin-right:auto;
}

.puppies-section-heading{
flex-direction:column;
align-items:flex-start;
}

.puppies-section-description{
text-align:left;
max-width:650px;
}

.puppies-contact-banner-content{
flex-direction:column;
align-items:flex-start;
padding:38px 34px;
}

.puppy-modal-body .puppy-details-layout{
grid-template-columns:1fr;
}

}

@media(max-width:600px){

.puppies-hero{
min-height:auto;
padding:70px 6%;
}

.puppies-hero h1{
font-size:44px;
letter-spacing:2px;
}

.puppies-intro{
font-size:17px;
}

.puppy-highlight{
justify-content:flex-start;
}

.puppies-section{
padding-top:70px;
padding-bottom:70px;
}

.puppy-card img{
height:250px;
}

.puppies-contact-banner{
padding:0 6% 70px;
}

.puppies-contact-banner h2{
font-size:34px;
}

#puppyModal{
padding:12px;
}

#puppyModal .puppy-modal-box{
padding:24px;
border-radius:22px;
}

.puppy-modal-heading h2{
font-size:32px;
}

.puppy-modal-body .main-puppy-photo{
height:240px !important;
}

}
/* ========================================
   PEŁNOEKRANOWA GALERIA SZCZENIĘCIA
======================================== */

#main-puppy-photo {
  cursor: zoom-in;
}

.puppy-lightbox[hidden] {
  display: none;
}

.puppy-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 30px;

  background: rgba(0, 0, 0, 0.94);
 backdrop-filter: blur(8px);
}

.puppy-lightbox-content {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;
}

.puppy-lightbox-image {
  display: block;

  max-width: 88vw;
  max-height: 86vh;

  width: auto;
  height: auto;

  object-fit: contain;

  border-radius: 12px;

  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.7),
    0 0 30px rgba(212, 175, 55, 0.12);
}

.puppy-lightbox-close {
  position: fixed;
  top: 25px;
  right: 30px;

  z-index: 3;

  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 1px solid rgba(212, 175, 55, 0.7);
  border-radius: 50%;

  background: rgba(12, 12, 12, 0.85);
  color: #d4af37;

  font-size: 38px;
  font-weight: 300;
  line-height: 1;

  cursor: pointer;

  transition:
    transform 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.puppy-lightbox-close:hover {
  transform: rotate(90deg) scale(1.08);

  background: #d4af37;
  color: #080808;
}

.puppy-lightbox-arrow {
  position: fixed;
  top: 50%;

  z-index: 3;

  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 1px solid rgba(212, 175, 55, 0.65);
  border-radius: 50%;

  background: rgba(12, 12, 12, 0.85);
  color: #d4af37;

  font-size: 48px;
  font-weight: 300;
  line-height: 1;

  cursor: pointer;

  transform: translateY(-50%);

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.puppy-lightbox-arrow:hover {
  background: #d4af37;
  color: #080808;
}

.puppy-lightbox-prev {
  left: 30px;
}

.puppy-lightbox-prev:hover {
  transform: translateY(-50%) scale(1.08);
}

.puppy-lightbox-next {
  right: 30px;
}

.puppy-lightbox-next:hover {
  transform: translateY(-50%) scale(1.08);
}

.puppy-lightbox-counter {
  position: fixed;
  bottom: 25px;
  left: 50%;

  transform: translateX(-50%);

  padding: 8px 16px;

  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 30px;

  background: rgba(12, 12, 12, 0.8);
  color: #f1d77a;

  font-size: 14px;
  letter-spacing: 1px;
}


/* Telefon */

@media (max-width: 700px) {

  .puppy-lightbox {
    padding: 15px;
  }

  .puppy-lightbox-image {
    max-width: 95vw;
    max-height: 78vh;
  }

  .puppy-lightbox-close {
    top: 15px;
    right: 15px;

    width: 44px;
    height: 44px;

    font-size: 32px;
  }

  .puppy-lightbox-arrow {
    width: 44px;
    height: 44px;

    font-size: 38px;

    background: rgba(12, 12, 12, 0.72);
  }

  .puppy-lightbox-prev {
    left: 12px;
  }

  .puppy-lightbox-next {
    right: 12px;
  }

  .puppy-lightbox-counter {
    bottom: 15px;
  }

}
/* ========================================
   FILTRY SZCZENIĄT
======================================== */

.puppy-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 12px;

  margin: 10px auto 38px;
}

.puppy-filter-btn {
  min-width: 125px;

  padding: 12px 20px;

  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 30px;

  background: rgba(255, 255, 255, 0.025);
  color: #d7d7d7;

  font-family: inherit;
  font-size: 14px;
  font-weight: 600;

  cursor: pointer;

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.puppy-filter-btn:hover {
  transform: translateY(-2px);

  border-color: #d4af37;
  color: #f1d77a;

  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.1);
}

.puppy-filter-btn.active {
  border-color: #d4af37;

  background: linear-gradient(
    135deg,
    #b88a24,
    #e2c15b
  );

  color: #090909;

  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.2);
}

.puppy-empty-state {
  grid-column: 1 / -1;

  width: 100%;
  max-width: 650px;

  margin: 20px auto;
  padding: 55px 25px;

  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: 20px;

  background: rgba(255, 255, 255, 0.025);

  text-align: center;
}

.puppy-empty-state span {
  display: block;

  margin-bottom: 15px;

  color: #d4af37;

  font-size: 42px;
}

.puppy-empty-state h3 {
  margin-bottom: 10px;

  color: #f1d77a;
}

.puppy-empty-state p {
  margin: 0;

  color: #aaa;
}

@media (max-width: 600px) {

  .puppy-filters {
    gap: 8px;

    margin-bottom: 28px;
  }

  .puppy-filter-btn {
    min-width: auto;

    padding: 10px 14px;

    font-size: 12px;
  }

}
.puppy-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 24px;
  height: 24px;

  margin-left: 7px;
  padding: 0 7px;

  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;

  background: rgba(212, 175, 55, 0.08);
  color: #e2c15b;

  font-size: 12px;
  font-weight: 700;
}

.puppy-filter-btn.active .puppy-filter-count {
  border-color: rgba(0, 0, 0, 0.25);

  background: rgba(0, 0, 0, 0.14);
  color: #090909;
}
/* ========================================
   POPRAWKA MODALA I KART SZCZENIĄT
======================================== */

.puppy-card-content h3{
font-family:Georgia,serif;
font-size:30px;
color:var(--gold);
margin:4px 0 14px;
}

.puppy-card-description{
min-height:80px;
line-height:1.7 !important;
}

.puppy-meta strong{
color:var(--gold-light);
}

.puppy-main-photo-wrapper{
position:relative;
overflow:hidden;
border-radius:20px;
}

#main-puppy-photo{
cursor:zoom-in;
margin:0 !important;
transition:transform .3s ease,filter .3s ease;
}

#main-puppy-photo:hover{
transform:scale(1.025);
filter:brightness(1.05);
}

.puppy-photo-arrow{
position:absolute !important;
top:50%;
z-index:6;
width:44px !important;
height:44px !important;
min-width:44px !important;
padding:0 !important;
margin:0 !important;
border-radius:50% !important;
background:rgba(5,5,5,.78) !important;
color:var(--gold-light) !important;
border:1px solid rgba(212,175,55,.65) !important;
font-size:34px !important;
line-height:1 !important;
transform:translateY(-50%);
box-shadow:0 8px 24px rgba(0,0,0,.65) !important;
}

.puppy-photo-arrow:hover{
transform:translateY(-50%) scale(1.08) !important;
background:var(--gold) !important;
color:#050505 !important;
}

.puppy-photo-prev{
left:12px;
}

.puppy-photo-next{
right:12px;
}

.puppy-image-counter{
position:absolute;
right:14px;
bottom:13px;
z-index:6;
padding:7px 12px;
border-radius:999px;
background:rgba(0,0,0,.78);
border:1px solid rgba(212,175,55,.35);
color:var(--gold-light);
font-size:12px;
font-weight:800;
}

.puppy-photo-hint{
margin:10px 0 0 !important;
color:#999 !important;
font-size:12px !important;
text-align:center;
}

.puppy-price-panel{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin:20px 0 4px;
padding:18px 20px;
border-radius:18px;
background:linear-gradient(
135deg,
rgba(212,175,55,.18),
rgba(212,175,55,.045)
);
border:1px solid rgba(212,175,55,.38);
box-shadow:0 14px 34px rgba(0,0,0,.28);
}

.puppy-price-panel span{
color:#c9c9c9;
font-size:12px;
font-weight:800;
text-transform:uppercase;
letter-spacing:1px;
}

.puppy-price-panel strong{
color:var(--gold-light);
font-family:Georgia,serif;
font-size:27px;
white-space:nowrap;
}

.puppy-detail-list{
list-style:none;
padding:0 !important;
margin:14px 0 0 !important;
display:grid;
gap:9px;
}

.puppy-detail-list li{
position:relative;
padding:10px 12px 10px 36px;
border-radius:13px;
background:rgba(255,255,255,.035);
border:1px solid rgba(212,175,55,.13);
color:#dfdfdf;
font-size:14px;
line-height:1.5;
}

.puppy-detail-list li::before{
content:"✓";
position:absolute;
left:13px;
top:10px;
color:var(--gold-light);
font-weight:900;
}

.puppy-lightbox-arrow[hidden],
.puppy-lightbox-counter[hidden]{
display:none !important;
}

@media(max-width:600px){

.puppy-photo-arrow{
width:40px !important;
height:40px !important;
min-width:40px !important;
font-size:30px !important;
}

.puppy-price-panel{
flex-direction:column;
align-items:flex-start;
gap:7px;
}

}