:root{--bg:#120f1c;--card:#1d172d;--text:#fff;--muted:#d7cdea;--accent:#b997ff;--accent2:#f3d9ff}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#120f1c,#211832);color:var(--text)}a{color:inherit;text-decoration:none}.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 7%;background:rgba(18,15,28,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{font-size:22px;font-weight:800}.top nav a{margin-left:18px;color:var(--muted)}.hero{padding:90px 7%;background:radial-gradient(circle at 20% 20%,rgba(185,151,255,.4),transparent 35%)}.hero h1{font-size:clamp(34px,6vw,64px);margin:0 0 14px}.hero p{max-width:760px;color:var(--muted);font-size:19px;line-height:1.6}.container{width:min(1180px,92%);margin:38px auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{background:var(--card);border:1px solid rgba(255,255,255,.1);border-radius:26px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.25);transition:.2s}.card:hover{transform:translateY(-5px);border-color:var(--accent)}.card img{width:100%;height:230px;object-fit:cover;display:block}.card-content{padding:22px}.card-content h2{margin:0 0 10px}.card-content p{color:var(--muted);line-height:1.5}.card-content span{color:var(--accent2);font-weight:700}.subhero{min-height:360px;background-size:cover;background-position:center;display:flex;align-items:end;padding:70px 7%}.subhero h1{font-size:54px;margin:0 0 10px}.subhero p{font-size:20px;color:var(--muted);max-width:760px}.page-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px}.box{background:rgba(29,23,45,.92);border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:28px;line-height:1.65}.form{display:grid;gap:12px}.form input,.form textarea{width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#120f1c;color:white}.form textarea{min-height:150px}button,.btn{border:0;border-radius:14px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#1b1230;padding:13px 18px;font-weight:800;cursor:pointer}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery img{width:100%;height:190px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.12)}.footer{margin-top:60px;padding:32px 7%;background:#0d0a15;color:var(--muted);display:flex;justify-content:space-between;gap:25px}.ok{background:#123d26;color:#9cffc1;padding:12px;border-radius:12px;margin-bottom:12px}.err{background:#4a1820;color:#ffc2cc;padding:12px;border-radius:12px;margin-bottom:12px}.admin{background:#f5f1fb;color:#211832}.admin .panel{width:min(1100px,94%);margin:30px auto;background:white;border-radius:20px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.1)}.admin input,.admin textarea,.admin select{width:100%;padding:11px;border:1px solid #ddd;border-radius:10px;margin:6px 0 14px}.admin textarea{min-height:120px}.admin table{width:100%;border-collapse:collapse}.admin td,.admin th{padding:10px;border-bottom:1px solid #eee;text-align:left}.admin a{color:#6b35d3}.adminnav{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:18px}.thumb{width:110px;height:70px;object-fit:cover;border-radius:10px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.page-grid{grid-template-columns:1fr}}@media(max-width:620px){.top{display:block}.top nav{margin-top:10px}.cards{grid-template-columns:1fr}.subhero h1{font-size:38px}.footer{display:block}.gallery{grid-template-columns:1fr}}


/* PASTELOWY MOTYW STRONY */

:root{
    --rose:#f8dbe7;
    --rose-strong:#e7a8bf;
    --lavender:#e9ddff;
    --cream:#fff8ef;
    --beige:#f3dfc8;
    --text:#33253a;
    --muted:#7d687f;
    --white:#ffffff;
    --shadow:0 18px 45px rgba(96,63,96,.14);
}

body{
    background:linear-gradient(135deg,#fff8ef 0%,#fdeef5 42%,#eee5ff 100%) !important;
    color:var(--text) !important;
    font-family:Arial, Helvetica, sans-serif;
}

header,
.hero,
.site-hero{
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.8), transparent 35%),
        linear-gradient(135deg,#f8dbe7,#e9ddff) !important;
    color:var(--text) !important;
}

h1,h2,h3{
    color:#3b2740 !important;
}

p{
    color:var(--muted);
}

a{
    color:#a7668a;
}

.card,
.pension-card,
.offer-card,
.gallery-card,
.contact-box,
.form-box,
.panel,
.section,
.content-box{
    background:rgba(255,255,255,.86) !important;
    border:1px solid rgba(231,168,191,.45) !important;
    border-radius:26px !important;
    box-shadow:var(--shadow) !important;
}

.card img,
.pension-card img,
.gallery img{
    border-radius:22px;
}

button,
.btn,
input[type="submit"]{
    background:linear-gradient(135deg,#e7a8bf,#c7a6e8) !important;
    color:#fff !important;
    border:none !important;
    border-radius:999px !important;
    box-shadow:0 10px 22px rgba(199,166,232,.25);
    font-weight:800;
}

button:hover,
.btn:hover{
    transform:translateY(-1px);
    opacity:.95;
}

input,
textarea,
select{
    background:#fff !important;
    border:1px solid #ead0df !important;
    border-radius:18px !important;
    color:var(--text) !important;
}

input:focus,
textarea:focus,
select:focus{
    outline:none;
    border-color:#e7a8bf !important;
    box-shadow:0 0 0 4px rgba(231,168,191,.22) !important;
}

footer{
    background:linear-gradient(135deg,#3b2740,#5b3f63) !important;
    color:#fff !important;
}

footer a,
footer p,
footer h3{
    color:#fff !important;
}

/* Uniwersalne sekcje */
.container,
main{
    max-width:1200px;
}

.grid{
    gap:28px !important;
}

.card{
    overflow:hidden;
    transition:.2s;
}

.card:hover{
    transform:translateY(-4px);
}

/* Subtelne ozdoby */
header::after,
.hero::after{
    content:"";
    display:block;
    height:8px;
    background:linear-gradient(90deg,#e7a8bf,#e9ddff,#f3dfc8);
    opacity:.75;
}






/* =========================
   FINALNY STYL STRONY
   ========================= */

:root{
    --bg1:#fff8ef;
    --bg2:#f7edf7;
    --bg3:#ece4fb;
    --card:#ffffffee;
    --text:#3b2740;
    --muted:#725f79;
    --accent:#b989b3;
    --accent2:#c9b1e8;
    --border:rgba(185,137,179,.24);
    --shadow:0 18px 45px rgba(96,63,96,.10);
}

body{
    background:linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 48%,var(--bg3) 100%) !important;
    color:var(--text) !important;
    font-family:Arial,Helvetica,sans-serif;
}

/* Header */
header{
    background:rgba(255,255,255,.55) !important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.4);
}

header a,
header .logo{
    color:#9c6f96 !important;
    font-weight:700;
}

/* Hero */
.hero,
.subhero{
    background:
        linear-gradient(135deg,
        rgba(255,248,239,.88),
        rgba(247,237,247,.86),
        rgba(236,228,251,.82)) !important;
    color:var(--text) !important;
}

.hero h1,
.subhero h1{
    color:var(--text) !important;
    text-shadow:none !important;
}

.hero p,
.subhero p{
    color:var(--muted) !important;
}

/* Cards */
.card,
.box,
.pension-card,
.gallery-card,
.contact-form,
section.box{
    background:var(--card) !important;
    border:1px solid var(--border) !important;
    border-radius:30px !important;
    box-shadow:var(--shadow) !important;
    color:var(--text) !important;
}

.card h1,.card h2,.card h3,
.box h1,.box h2,.box h3{
    color:var(--text) !important;
}

.card p,.card li,
.box p,.box li{
    color:var(--muted) !important;
    line-height:1.7;
}

/* Inputs */
input,
textarea{
    background:#fff !important;
    border:1px solid #e7d7eb !important;
    border-radius:18px !important;
    color:var(--text) !important;
}

input::placeholder,
textarea::placeholder{
    color:#a18ca7 !important;
}

/* Buttons */
button,
.btn{
    background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
    color:#fff !important;
    border:none !important;
    border-radius:999px !important;
    box-shadow:0 12px 30px rgba(185,137,179,.18);
}

/* Footer */
.site-footer{
    background:linear-gradient(
        135deg,
        #d8c7df 0%,
        #d2c4e6 50%,
        #cbbfe2 100%
    ) !important;
    padding:50px 30px !important;
    margin-top:70px !important;
}

.site-footer-inner{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    gap:40px;
    align-items:flex-start;
    flex-wrap:wrap;
}

.site-footer h3{
    color:#5e4b63 !important;
}

.site-footer-text,
.site-footer-text *{
    color:#6d5a73 !important;
    line-height:1.7;
}

.site-footer .admin-login-link{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    color:#7d6683 !important;
    font-size:14px !important;
    font-weight:600 !important;
    padding:0 !important;
    border-radius:0 !important;
    opacity:.75 !important;
    text-decoration:none !important;
}

.site-footer .admin-login-link:hover{
    color:#5e4b63 !important;
    opacity:1 !important;
}

/* Admin */
body.admin{
    background:linear-gradient(135deg,#fff8ef 0%,#f7edf7 48%,#ece4fb 100%) !important;
}

.admin-sidebar{
    background:linear-gradient(180deg,#5d4664,#73567d) !important;
}

.admin-topbar,
.admin-section,
.field-box{
    background:#ffffffee !important;
    border:1px solid var(--border) !important;
    box-shadow:var(--shadow) !important;
}

@media(max-width:768px){
    .site-footer-inner{
        flex-direction:column;
    }
}


/* ===== MENU / HEADER POPRAWKA ===== */

header .container,
.header-inner,
nav{
    display:flex !important;
    align-items:center !important;
}

header .container,
.header-inner{
    justify-content:space-between !important;
}

header nav{
    margin-left:auto !important;
    gap:28px !important;
    padding-right:20px !important;
}

header .logo{
    margin-right:auto !important;
}

/* ===== GŁÓWNY KONTAKT ===== */

.main-contact-section{
    padding:80px 24px;
}

.main-contact-card{
    max-width:1200px;
    margin:0 auto;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(185,137,179,.18);
    border-radius:34px;
    box-shadow:0 18px 45px rgba(96,63,96,.10);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    padding:45px;
}

.main-contact-info h2{
    font-size:42px;
    color:#3b2740;
    margin:0 0 16px;
}

.main-contact-info p{
    color:#725f79;
    line-height:1.8;
}

.main-contact-details{
    margin-top:24px;
    color:#725f79;
    line-height:1.9;
    font-size:17px;
}

.main-contact-form{
    display:grid;
    gap:16px;
}

.main-contact-form input,
.main-contact-form textarea{
    width:100%;
    background:#fff;
    border:1px solid #e7d7eb;
    border-radius:18px;
    padding:16px 18px;
    color:#3b2740;
}

.main-contact-form textarea{
    min-height:170px;
    resize:vertical;
}

.main-contact-form button{
    width:100%;
    padding:16px;
    background:linear-gradient(135deg,#b989b3,#c9b1e8);
    border:none;
    border-radius:999px;
    color:#fff;
    font-weight:700;
    cursor:pointer;
}

@media(max-width:900px){
    .main-contact-card{
        grid-template-columns:1fr;
    }
}



/* ===== GRAFIKA NAGŁÓWKA PODSTRONY ===== */

.subhero{
    min-height:420px !important;
    background-size:cover !important;
    background-position:center !important;
    position:relative !important;
    overflow:hidden !important;
}

.subhero::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(90deg,rgba(255,248,239,.92) 0%,rgba(247,237,247,.80) 42%,rgba(236,228,251,.42) 100%) !important;
    z-index:0 !important;
}

.subhero > div{
    position:relative !important;
    z-index:1 !important;
    max-width:760px !important;
}

.subhero h1{
    font-size:clamp(42px,5vw,72px) !important;
    margin-bottom:18px !important;
}

.subhero p{
    font-size:21px !important;
}



/* ===== HERO Z GRAFIKĄ Z PANELU ADMINA ===== */

.pension-hero-new{
    max-width:1500px;
    margin:55px auto 30px;
    padding:0 60px;
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:42px;
    align-items:center;
}

.pension-hero-text{
    padding:40px 0;
}

.pension-hero-text h1{
    font-size:clamp(48px,5vw,82px);
    line-height:1.05;
    color:#3b2740 !important;
    margin:0 0 22px;
}

.pension-hero-text p{
    font-size:21px;
    line-height:1.7;
    color:#725f79 !important;
    max-width:620px;
}

.pension-hero-image{
    position:relative;
    border-radius:36px;
    overflow:hidden;
    min-height:360px;
    box-shadow:0 24px 60px rgba(96,63,96,.16);
    border:1px solid rgba(185,137,179,.22);
    background:linear-gradient(135deg,#fff8ef,#f1e5ff);
}

.pension-hero-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(255,248,239,.18),rgba(236,228,251,.08));
    pointer-events:none;
}

.pension-hero-image img{
    width:100%;
    height:100%;
    min-height:360px;
    display:block;
    object-fit:cover;
}

@media(max-width:950px){
    .pension-hero-new{
        grid-template-columns:1fr;
        padding:0 22px;
        margin-top:30px;
    }

    .pension-hero-image,
    .pension-hero-image img{
        min-height:260px;
    }
}



/* ===== HERO FULL WIDTH ===== */

.hero-fullwidth{
    position:relative;
    width:100%;
    min-height:620px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
    overflow:hidden;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(255,248,239,.88) 0%,
            rgba(247,237,247,.76) 34%,
            rgba(236,228,251,.24) 100%
        );
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
    padding:120px 80px;
}

.hero-content h1{
    font-size:clamp(58px,7vw,92px);
    line-height:1.02;
    color:#3b2740 !important;
    margin:0 0 26px;
    font-weight:900;
}

.hero-content p{
    font-size:24px;
    line-height:1.8;
    color:#725f79 !important;
    max-width:580px;
}

/* usuń stare hero */
.pension-hero-new,
.pension-hero-image,
.pension-hero-text{
    all:unset;
}

@media(max-width:900px){

    .hero-fullwidth{
        min-height:480px;
        background-position:center;
    }

    .hero-content{
        padding:80px 28px;
    }

    .hero-content h1{
        font-size:54px;
    }

    .hero-content p{
        font-size:20px;
    }
}




/* ===== MODAL COOKIES ===== */

.cookie-banner{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(32,18,40,.35);
    backdrop-filter:blur(6px);
    padding:20px;
}

.cookie-inner{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(460px,100%);
    background:rgba(255,255,255,.97);
    border:1px solid rgba(185,137,179,.26);
    border-radius:28px;
    padding:34px 30px;
    box-shadow:0 30px 80px rgba(51,37,58,.24);
    text-align:center;
}

.cookie-inner strong{
    display:block;
    color:#3b2740;
    font-size:28px;
    margin-bottom:14px;
}

.cookie-inner p{
    margin:0;
    color:#725f79;
    line-height:1.7;
    font-size:16px;
}

.cookie-actions{
    margin-top:26px;
}

.cookie-actions button{
    width:100%;
    min-height:54px;
    border:none;
    border-radius:999px;
    background:linear-gradient(135deg,#b989b3,#c9b1e8);
    color:#fff;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 16px 35px rgba(185,137,179,.28);
}
@media(max-width:760px){
    .cookie-inner{
        display:block;
    }

    .cookie-actions{
        margin-top:16px;
    }

    .cookie-actions button{
        width:100%;
    }
}



/* Komunikaty formularza */
.pension-contact-box .ok,
.pension-contact-box .err{
    border-radius:16px;
    padding:14px 16px;
    margin-bottom:16px;
    font-weight:800;
    line-height:1.5;
}

.pension-contact-box .ok{
    background:#e9f9ef;
    color:#27854e;
    border:1px solid #c7efd3;
}

.pension-contact-box .err{
    background:#fff0f3;
    color:#a51f3c;
    border:1px solid #f4c7d1;
}


/* Modal kontaktowy */
.contact-modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(36,24,44,.45);
    backdrop-filter:blur(6px);
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.contact-modal-overlay.active{
    display:flex;
}

.contact-modal{
    width:100%;
    max-width:560px;
    background:#fff;
    border-radius:30px;
    padding:38px;
    position:relative;
    box-shadow:0 25px 80px rgba(41,24,49,.25);
    border:1px solid #f0e5f6;
}

.contact-modal h2{
    margin:0 0 10px;
    color:#352042;
    font-size:34px;
}

.contact-modal p{
    margin:0 0 24px;
    color:#7d6c8b;
    line-height:1.7;
}


.contact-modal-close{
    position:absolute;
    top:18px;
    right:18px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#f7eefb;
    color:#7f4fa2;
    font-size:26px;
    font-weight:700;
    cursor:pointer;

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

    line-height:1;
    padding:0;

    transition:.2s ease;
}

.contact-modal-close:hover{
    background:#eeddf8;
    transform:scale(1.05);
}


.contact-modal-form{
    display:grid;
    gap:16px;
}

.contact-modal-form input,
.contact-modal-form textarea{
    width:100%;
    border:1px solid #eadcf2;
    border-radius:18px;
    padding:16px 18px;
    font-size:15px;
    background:#fff;
    color:#352042;
}

.contact-modal-form textarea{
    min-height:170px;
    resize:vertical;
}

.contact-modal-form button{
    border:none;
    border-radius:18px;
    padding:16px;
    background:linear-gradient(90deg,#d9a5c6,#c2a0ec);
    color:#fff;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(194,160,236,.35);
}

@media(max-width:700px){

    .contact-modal{
        padding:28px 22px;
        border-radius:24px;
    }

    .contact-modal h2{
        font-size:28px;
    }

}


/* FIX MODAL KONTAKT 2 */
.contact-modal-overlay{
    position:fixed !important;
    inset:0 !important;
    background:rgba(36,24,44,.45) !important;
    backdrop-filter:blur(6px) !important;
    z-index:999999 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    padding:20px !important;
}

.contact-modal-overlay.active{
    display:flex !important;
}

.contact-modal{
    width:100% !important;
    max-width:560px !important;
    background:#fff !important;
    border-radius:30px !important;
    padding:38px !important;
    position:relative !important;
    box-shadow:0 25px 80px rgba(41,24,49,.25) !important;
    border:1px solid #f0e5f6 !important;
}

.contact-modal h2{
    margin:0 0 10px !important;
    color:#352042 !important;
    font-size:34px !important;
}

.contact-modal p{
    margin:0 0 24px !important;
    color:#7d6c8b !important;
}

.contact-modal-close{
    position:absolute !important;
    top:16px !important;
    right:18px !important;
    width:42px !important;
    height:42px !important;
    border:none !important;
    border-radius:50% !important;
    background:#f7eefb !important;
    color:#7f4fa2 !important;
    font-size:28px !important;
    cursor:pointer !important;
}

.contact-modal-form{
    display:grid !important;
    gap:16px !important;
}

.contact-modal-form input,
.contact-modal-form textarea{
    width:100% !important;
    border:1px solid #eadcf2 !important;
    border-radius:18px !important;
    padding:16px 18px !important;
    font-size:15px !important;
    background:#fff !important;
    color:#352042 !important;
}

.contact-modal-form textarea{
    min-height:170px !important;
}

.contact-modal-form button{
    border:none !important;
    border-radius:18px !important;
    padding:16px !important;
    background:linear-gradient(90deg,#d9a5c6,#c2a0ec) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:800 !important;
    cursor:pointer !important;
}



/* ===== FINALNE WYŚRODKOWANIE X W MODALU ===== */
.contact-modal .contact-modal-close,
.contact-modal-close{
    position:absolute !important;
    top:18px !important;
    right:18px !important;

    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    max-width:42px !important;
    max-height:42px !important;

    padding:0 !important;
    margin:0 !important;

    border:none !important;
    border-radius:50% !important;
    background:#f7eefb !important;
    color:#7f4fa2 !important;

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

    font-size:0 !important;
    line-height:0 !important;
    text-align:center !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.contact-modal .contact-modal-close::before,
.contact-modal-close::before{
    content:"×" !important;
    display:block !important;
    width:42px !important;
    height:42px !important;
    line-height:39px !important;
    text-align:center !important;
    font-size:30px !important;
    font-weight:800 !important;
    color:#7f4fa2 !important;
    transform:translateY(-1px) !important;
}

.contact-modal .contact-modal-close:hover,
.contact-modal-close:hover{
    background:#eeddf8 !important;
    transform:scale(1.05) !important;
}



/* ===== X ZAMKNIĘCIA - ZROBIONY Z DWÓCH KRESEK, IDEALNIE NA ŚRODKU ===== */

.contact-modal .contact-modal-close,
.contact-modal-close{
    position:absolute !important;
    top:18px !important;
    right:18px !important;

    width:44px !important;
    height:44px !important;

    padding:0 !important;
    margin:0 !important;

    border:0 !important;
    border-radius:50% !important;

    background:#f7eefb !important;
    color:transparent !important;

    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px !important;

    display:block !important;
    cursor:pointer !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

.contact-modal .contact-modal-close::before,
.contact-modal .contact-modal-close::after,
.contact-modal-close::before,
.contact-modal-close::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;

    width:18px !important;
    height:4px !important;

    background:#7f4fa2 !important;
    border-radius:999px !important;

    transform-origin:center !important;
}

.contact-modal .contact-modal-close::before,
.contact-modal-close::before{
    transform:translate(-50%, -50%) rotate(45deg) !important;
}

.contact-modal .contact-modal-close::after,
.contact-modal-close::after{
    transform:translate(-50%, -50%) rotate(-45deg) !important;
}

.contact-modal .contact-modal-close:hover,
.contact-modal-close:hover{
    background:#eeddf8 !important;
    transform:scale(1.05) !important;
}


/* PRZYCISK ZAMKNIJ */
.contact-modal-close{
    display:none !important;
}

.contact-modal-close-text{
    position:absolute;
    top:22px;
    right:24px;

    border:none;
    background:transparent;

    color:#8d5eb2;
    font-size:15px;
    font-weight:700;

    cursor:pointer;

    padding:6px 10px;
    border-radius:10px;

    transition:.2s ease;
}

.contact-modal-close-text:hover{
    background:#f4ebfb;
    color:#6e4290;
}

/* ===== WYŚRODKOWANIE KAFELEK NA STRONIE GŁÓWNEJ ===== */
main.container > .cards{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(260px, 300px)) !important;
    justify-content:center !important;
    justify-items:stretch !important;
    gap:28px !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

main.container > .cards > .card{
    width:100% !important;
    max-width:300px !important;
}

@media(max-width:700px){
    main.container > .cards{
        grid-template-columns:minmax(260px, 340px) !important;
    }

    main.container > .cards > .card{
        max-width:340px !important;
    }
}



.price-list-box{
    white-space:normal;
    padding:16px 18px;
    margin:8px 0 22px;
    border-radius:18px;
    background:rgba(231,168,191,.13);
    border:1px solid rgba(199,166,232,.35);
    color:#4b3654;
    font-weight:600;
    line-height:1.8;
}

/* ===== PRZYCISKI: GOOGLE MAPS / BOOKING / NOCOWANIE NA STRONIE PENSJONATU ===== */
.pension-action-buttons{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-top:22px;
}

.pension-action-btn,
.pension-action-btn.booking-btn,
.pension-action-btn.nocowanie-btn,
button.pension-action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:13px 18px;
    border-radius:999px;

    background:linear-gradient(135deg,#e7a8bf,#c7a6e8) !important;
    color:#fff !important;

    font-size:15px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none !important;
    border:0;
    cursor:pointer;
    font-family:inherit;

    box-shadow:0 10px 22px rgba(199,166,232,.25);
    transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.pension-action-btn:hover,
.pension-action-btn.booking-btn:hover,
.pension-action-btn.nocowanie-btn:hover,
button.pension-action-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(199,166,232,.25);
    opacity:.95;
}

@media(max-width:700px){
    .pension-action-buttons{
        align-items:stretch;
    }

    .pension-action-btn{
        width:100%;
        text-align:center;
    }
}


/* ===== OKIENKO CENNIKA ===== */
.price-modal-open{
    margin:8px 0 22px;
}

.price-modal-overlay[hidden]{
    display:none !important;
}

.price-modal-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(42,31,48,.45);
    backdrop-filter:blur(3px);
}

.price-modal{
    width:min(560px, 100%);
    max-height:82vh;
    overflow:auto;
    position:relative;
    padding:28px;
    border-radius:26px;
    background:#fffafc;
    border:1px solid rgba(199,166,232,.35);
    box-shadow:0 24px 70px rgba(42,31,48,.28);
    color:#4b3654;
}

.price-modal h2{
    margin:0 0 16px;
    padding-right:110px;
}

.price-modal-close{
    position:absolute;
    top:18px;
    right:18px;
    border:0;
    border-radius:999px;
    padding:10px 15px;
    background:linear-gradient(135deg,#e7a8bf,#c7a6e8);
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(199,166,232,.25);
}

.price-list-modal-content{
    margin:0;
}

body.modal-open{
    overflow:hidden;
}

@media(max-width:700px){
    .price-modal-overlay{
        align-items:flex-end;
        padding:12px;
    }

    .price-modal{
        max-height:88vh;
        padding:24px 18px;
        border-radius:24px;
    }

    .price-modal h2{
        padding-right:0;
        margin-top:42px;
    }

    .price-modal-close{
        top:14px;
        right:14px;
    }
}
