/*
Theme Name: Zagorka Custom
Description: Clean, beautiful design for apartment rental
Version: 1.1.0
*/

/* ===== RESET & ROOT ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --c-bg:#fafbfc;
    --c-white:#fff;
    --c-text:#1a1a2e;
    --c-muted:#64748b;
    --c-accent:#2563eb;
    --c-accent-light:#eff6ff;
    --c-gold:#b8860b;
    --c-border:#e5e7eb;
    --c-dark:#0f172a;
    --radius:12px;
    --shadow:0 1px 3px rgba(0,0,0,.06);
    --shadow-lg:0 4px 24px rgba(0,0,0,.08);
    --max:1100px;
    --font:'Inter',system-ui,-apple-system,sans-serif;
}

body{
    font-family:var(--font);
    background:var(--c-bg);
    color:var(--c-text);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

/* ===== HEADER ===== */
.site-header{
    background:var(--c-dark);
    position:sticky;top:0;z-index:100;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
    max-width:var(--max);margin:0 auto;padding:16px 24px;
    display:flex;justify-content:space-between;align-items:center;
}
.logo{font-size:20px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.3px}
.nav-contact{
    color:#e2e8f0;text-decoration:none;font-size:14px;font-weight:500;
    padding:8px 16px;border:1px solid rgba(255,255,255,.2);
    border-radius:8px;transition:all .2s;
}
.nav-contact:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}

/* ===== HOMEPAGE HERO ===== */
.hero{
    background:linear-gradient(135deg,#0f172a,#1e3a5f);
    color:#fff;text-align:center;padding:100px 24px 80px;
}
.hero-inner{max-width:650px;margin:0 auto}
.hero-badge{display:inline-block;background:rgba(37,99,235,.15);color:#60a5fa;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:24px;border:1px solid rgba(37,99,235,.2)}
.hero h1{font-size:48px;font-weight:700;letter-spacing:-1px;line-height:1.15;margin-bottom:16px}
.hero p{font-size:18px;color:#94a3b8;max-width:450px;margin:0 auto;font-weight:400}

/* ===== PRODUCT HERO (single page) ===== */
.product-hero{
    background:linear-gradient(135deg,#0f172a,#1e3a5f);
    padding:60px 24px;text-align:center;
}
.product-hero .hero-inner{max-width:var(--max);margin:0 auto}
.product-hero h1{font-size:36px;font-weight:700;color:#fff;margin-top:12px;letter-spacing:-.5px}

/* ===== SECTIONS ===== */
.section-inner{max-width:var(--max);margin:0 auto;padding:80px 24px}
.section-title{font-size:28px;font-weight:700;letter-spacing:-.5px;text-align:center;margin-bottom:48px}

/* ===== PRODUCT GRID (homepage) ===== */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-card{
    background:var(--c-white);border:1px solid var(--c-border);
    border-radius:var(--radius);overflow:hidden;
    transition:box-shadow .25s,transform .25s;
}
.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.product-link{text-decoration:none;color:inherit;display:block}
.product-image{height:220px;overflow:hidden;background:var(--c-bg)}
.product-img{width:100%;height:100%;object-fit:cover}
.product-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;background:linear-gradient(135deg,#e0e7ff,#dbeafe)}
.product-body{padding:24px}
.product-title{font-size:18px;font-weight:600;margin-bottom:6px;color:var(--c-text);letter-spacing:-.2px}
.product-desc{font-size:14px;color:var(--c-muted);margin-bottom:14px;line-height:1.5}
.product-features{display:flex;gap:8px;flex-wrap:wrap}
.product-features span{font-size:12px;color:#475569;background:var(--c-bg);padding:4px 10px;border-radius:6px;border:1px solid var(--c-border)}

/* ===== PRODUCT PAGE LAYOUT ===== */
.wc-product-wrapper{max-width:var(--max);margin:0 auto;padding:0 24px 80px}

.product-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:32px;
    margin-top:-40px;
    position:relative;z-index:1;
}

/* ===== PRODUCT PAGE V2 ===== */
.product-hero{text-align:center;padding:80px 24px 60px}
.product-hero .hero-inner{max-width:var(--max);margin:0 auto}
.product-hero h1{font-size:38px;font-weight:700;color:#fff;margin-top:12px;letter-spacing:-.5px}
.product-hero .hero-badge{display:inline-block;background:rgba(255,255,255,.15);color:#fff;padding:8px 20px;border-radius:20px;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.2)}

.wc-product-wrapper{max-width:var(--max);margin:0 auto;padding:0 24px 80px}

/* Layout */
.product-layout-v2{
    display:grid;grid-template-columns:1fr 1fr;
    gap:40px;margin-top:-30px;position:relative;z-index:1;
    align-items:start;
}

/* Gallery */
.product-gallery-v2{position:sticky;top:90px}
.gallery-viewport{
    position:relative;background:var(--c-white);
    border-radius:var(--radius);overflow:hidden;
    border:2px solid var(--c-border);
    box-shadow:0 8px 30px rgba(0,0,0,.08);
    max-height:480px;display:flex;align-items:center;justify-content:center;
    cursor:zoom-in;
}
.gallery-slide{display:none;width:100%;text-align:center;opacity:0;transition:opacity .3s}
.gallery-slide.active{display:block;opacity:1}
.gallery-slide .slide-img{max-width:100%;max-height:460px;width:auto;height:auto;display:block;margin:0 auto;object-fit:contain}
.gallery-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    background:rgba(255,255,255,.9);border:1px solid var(--c-border);
    border-radius:50%;width:44px;height:44px;font-size:20px;color:var(--c-text);
    cursor:pointer;z-index:5;box-shadow:var(--shadow);
    display:flex;align-items:center;justify-content:center;
    transition:all .2s;opacity:0;
}
.gallery-viewport:hover .gallery-nav{opacity:1}
.gallery-nav:hover{background:#fff;box-shadow:var(--shadow-lg);transform:translateY(-50%) scale(1.1)}
.gallery-prev{left:16px}.gallery-next{right:16px}
.gallery-counter{position:absolute;bottom:14px;right:14px;background:rgba(15,23,42,.8);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600}
.gallery-thumbs{display:flex;gap:8px;margin-top:12px;justify-content:center;flex-wrap:wrap}
.thumb-item{width:68px;height:68px;border-radius:8px;overflow:hidden;border:2px solid var(--c-border);cursor:pointer;transition:all .2s;box-shadow:var(--shadow);opacity:.65}
.thumb-item:hover{opacity:1;border-color:var(--c-accent);transform:scale(1.08)}
.thumb-item.active{opacity:1;border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-light)}
.thumb-img{width:100%;height:100%;object-fit:cover}

/* ===== LIGHTBOX ===== */
.lightbox-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);animation:lbFade .25s}
.lightbox-overlay.open{display:flex;align-items:center;justify-content:center}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
.lightbox-content{position:relative;max-width:90vw;max-height:85vh}
.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:lbZoom .3s}
@keyframes lbZoom{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.lightbox-close{position:absolute;top:-50px;right:0;background:rgba(255,255,255,.15);color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox-close:hover{background:rgba(255,255,255,.3)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;border:none;width:52px;height:52px;border-radius:50%;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox-prev{left:-70px}.lightbox-next{right:-70px}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.25)}
.lightbox-counter{position:absolute;bottom:-44px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:500}

/* ===== CONTENT COLUMN ===== */
.product-content-v2{padding-top:8px}

.product-intro-v2{
    font-size:16px;color:var(--c-muted);line-height:1.7;
    margin-bottom:28px;padding:20px 24px;
    background:var(--c-white);border-radius:var(--radius);
    border:1px solid var(--c-border);box-shadow:var(--shadow);
}

/* Pricing */
.pricing-card-v2{
    background:var(--c-white);border:1px solid var(--c-border);
    border-radius:var(--radius);padding:24px;margin-bottom:28px;
    box-shadow:var(--shadow);
}
.pricing-card-v2 h3{font-size:18px;font-weight:700;margin-bottom:16px}
.pricing-rows{margin-bottom:16px}
.pricing-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 0;border-bottom:1px solid var(--c-bg);
}
.pricing-row:last-child{border-bottom:none}
.pr-label{font-size:15px;color:var(--c-text)}
.pr-price{font-size:20px;font-weight:700;color:var(--c-accent)}
.pr-price small{font-size:13px;font-weight:400;color:var(--c-muted);margin-left:2px}

.pricing-badges{display:flex;flex-direction:column;gap:8px}
.badge{
    display:inline-block;padding:10px 16px;border-radius:8px;
    font-size:13px;font-weight:500;line-height:1.4;
}
.badge-discount{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.badge-longterm{background:var(--c-accent-light);color:var(--c-accent);border:1px solid #bfdbfe}
.badge-longterm strong{font-weight:700}

/* Description */
.desc-block-v2{
    background:var(--c-white);border:1px solid var(--c-border);
    border-radius:var(--radius);padding:28px;
    box-shadow:var(--shadow);
}
.desc-block-v2 h3{font-size:18px;font-weight:700;margin-bottom:16px}
.desc-content{font-size:15px;line-height:1.8;color:var(--c-text)}
.desc-content p{margin-bottom:14px}
.desc-content strong{color:#0f172a}
.desc-content ul{padding-left:20px;margin:12px 0}
.desc-content li{padding:4px 0;margin-bottom:4px}
.desc-content li::marker{color:var(--c-accent)}
.desc-content em{color:var(--c-muted);font-style:italic}

/* Contact Strip */
.contact-strip{
    display:flex;gap:16px;margin-top:40px;
    background:var(--c-dark);border-radius:var(--radius);
    padding:28px 32px;color:#e2e8f0;
}
.contact-item{
    flex:1;display:flex;align-items:center;gap:12px;
    padding:0 16px;border-right:1px solid rgba(255,255,255,.1);
}
.contact-item:last-child{border-right:none}
.ci-icon{font-size:28px}
.contact-item strong{color:#fff;font-size:14px}
.contact-item a{color:#94a3b8;text-decoration:none;font-size:14px;transition:color .2s}
.contact-item a:hover{color:#fff}
.contact-item div{font-size:13px;color:#94a3b8;line-height:1.5}

/* WooCommerce cleanup */
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product form.cart,.single-product .product_meta,
.single-product .woocommerce-tabs,
.single-product .related.products{display:none!important}

/* Responsive */
@media(max-width:768px){
    .product-layout-v2{grid-template-columns:1fr;gap:24px}
    .product-gallery-v2{position:static}
    .product-hero h1{font-size:26px}
    .contact-strip{flex-direction:column;gap:16px}
    .contact-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:0 0 12px 0}
    .contact-item:last-child{border-bottom:none;padding:0}
    .lightbox-prev{left:10px;width:40px;height:40px}
    .lightbox-next{right:10px;width:40px;height:40px}
    .lightbox-close{top:-40px;right:0}
    .gallery-nav{opacity:1;width:36px;height:36px}
}


/* ===== HOMEPAGE FEATURES ===== */
.features-section{background:var(--c-white);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:var(--max);margin:0 auto;padding:0 24px 80px}
.feature-item{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--c-bg);border-radius:8px;border:1px solid var(--c-border)}
.feature-icon{font-size:24px;min-width:32px}
.feature-item strong{display:block;font-size:14px;font-weight:600;margin-bottom:2px}
.feature-item span{font-size:12px;color:var(--c-muted)}

/* ===== HOMEPAGE CONTACT ===== */
.contact-section{background:var(--c-bg)}
.contact-card{max-width:450px;margin:0 auto;text-align:center;background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius);padding:48px;box-shadow:var(--shadow)}
.contact-card h2{font-size:24px;font-weight:700;margin-bottom:24px}
.contact-card p{font-size:16px;margin-bottom:8px}
.contact-card strong{color:var(--c-dark)}
.contact-name{font-size:14px!important;color:var(--c-accent)!important;margin:16px 0 24px!important}
.contact-btn{display:inline-block;background:var(--c-accent);color:#fff;padding:12px 32px;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;transition:background .2s,transform .15s}
.contact-btn:hover{background:#1d4ed8;transform:translateY(-1px)}

/* ===== FOOTER ===== */
.site-footer{background:var(--c-dark);color:#64748b;text-align:center;padding:32px 24px;font-size:13px}

/* ===== WOOCOMMERCE CLEANUP ===== */
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-message,
.single-product .woocommerce-error,
.single-product .woocommerce-info,
.single-product form.cart,
.single-product .product_meta,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product #review_form,
.single-product .woocommerce-review-link{display:none!important}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
    .hero h1,.product-hero h1{font-size:28px}
    .product-grid{grid-template-columns:1fr}
    .features-grid,.features-list{grid-template-columns:repeat(2,1fr)}
    .product-layout{grid-template-columns:1fr;grid-template-rows:auto}
    .product-gallery{grid-row:auto;position:static}
    .product-info{grid-column:1}
    .contact-lines{flex-direction:column;align-items:center}
}
