/*
Theme Name: Kyustendil Residence
Theme URI: https://example.com/
Author: OpenAI
Description: Lightweight multilingual-ready single-property WordPress theme with clearly labeled admin image controls and gallery management.
Version: 1.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: kyustendil-residence
*/

:root{
  --bg:#f5f2ec;--paper:#fff;--ink:#20201d;--muted:#6f6c65;--line:#ddd7cd;
  --accent:#8d7448;--dark:#171714;--max:1240px
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
img{max-width:100%;height:auto} a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:absolute;z-index:30;left:0;right:0;top:0;color:#fff;padding:22px 0;background:linear-gradient(to bottom,rgba(0,0,0,.48),transparent)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:.08em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:24px;font-size:14px}
.lang-switch select{appearance:none;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:9px 32px 9px 13px;font-size:13px}
.lang-switch option{color:#111;background:#fff}
.hero{min-height:88vh;display:flex;align-items:flex-end;position:relative;color:#fff;background:#333 center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.08) 56%,rgba(0,0,0,.24))}
.hero-content{position:relative;z-index:2;padding:0 0 80px;max-width:900px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin-bottom:14px}
.hero h1,.section-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.03;margin:0}
.hero h1{font-size:clamp(46px,7vw,92px)}
.hero p{font-size:clamp(17px,2vw,23px);max-width:780px;margin:24px 0 0;color:rgba(255,255,255,.9)}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-meta span{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 13px;font-size:13px;background:rgba(0,0,0,.12)}
section{padding:90px 0}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--accent);font-weight:700;margin-bottom:15px}
.section-title{font-size:clamp(38px,5vw,64px)}
.lead{font-size:20px;color:#45423d}.property-copy{font-size:17px;color:#4e4b45}
.overview-image,.location-image,.contact-image{margin-top:28px}
.overview-image img,.location-image img,.contact-image img{width:100%;display:block;object-fit:cover;aspect-ratio:16/10}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.fact{background:var(--paper);padding:26px}.fact strong{display:block;font-family:Georgia,serif;font-size:27px;font-weight:400;margin-bottom:5px}.fact span{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.gallery-wrap{background:#111;color:#fff}
.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.gallery-head p{max-width:560px;color:#bbb;margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.gallery-item{grid-column:span 4;position:relative;overflow:hidden;background:#252525;aspect-ratio:4/3;cursor:pointer;margin:0}
.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+6){grid-column:span 8}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .3s}
.gallery-item:hover img{transform:scale(1.025);opacity:.92}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.82),transparent);font-size:14px;color:#fff}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:none;align-items:center;justify-content:center;padding:30px;flex-direction:column}
.lightbox.open{display:flex}.lightbox img{max-height:80vh;max-width:92vw;object-fit:contain}
.lightbox-caption{color:#fff;margin-top:14px;max-width:900px;text-align:center;font-size:14px}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:24px}
.lightbox-close{right:25px;top:20px}.lightbox-prev{left:25px}.lightbox-next{right:25px}
.location-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.location-card{background:var(--paper);border:1px solid var(--line);min-height:400px;display:flex;align-items:center;justify-content:center;padding:30px}
.location-card iframe{width:100%;height:400px;border:0}
.contact-section{background:#e9e3d9}.contact-form-card{background:#fff;padding:36px;border:1px solid #d6cfc3}
.contact-form-card input,.contact-form-card textarea,.contact-form-card select{width:100%;padding:14px 15px;margin:0 0 14px;border:1px solid #d6d0c6;background:#fff;font:inherit}
.contact-form-card button,.contact-form-card input[type=submit]{background:var(--dark);color:#fff;border:0;padding:14px 22px;cursor:pointer;width:auto}
.site-footer{background:var(--dark);color:#bdb8ae;padding:34px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Admin */
.kyr-admin-section{background:#fff;border:1px solid #dcdcde;padding:22px;margin:18px 0 24px}
.kyr-admin-section h2{margin-top:0}
.kyr-admin-desc{color:#646970;max-width:900px}
.kyr-image-field{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:22px;align-items:start;margin-top:16px}
.kyr-image-preview{border:1px solid #dcdcde;background:#f6f7f7;min-height:180px;display:flex;align-items:center;justify-content:center;padding:8px}
.kyr-image-preview img{width:100%;height:auto;display:block}
.kyr-image-empty{color:#646970;text-align:center;padding:30px 12px}
.kyr-image-help{margin:0 0 12px;color:#50575e}
.kyr-gallery-admin{margin-top:12px}
.kyr-gallery-toolbar{display:flex;gap:10px;margin-bottom:14px;align-items:center;flex-wrap:wrap}
.kyr-gallery-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.kyr-gallery-card{background:#fff;border:1px solid #ccd0d4;padding:10px;cursor:move}
.kyr-gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:8px}
.kyr-gallery-card input[type=text],.kyr-gallery-card textarea{width:100%;margin:5px 0}
.kyr-gallery-card textarea{min-height:78px}
.kyr-gallery-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}
.kyr-gallery-actions label{font-size:12px}
.kyr-remove-photo{color:#b32d2e;text-decoration:none}
.kyr-hidden-json{display:none!important}
.kyr-order-note{font-size:12px;color:#646970;margin-top:6px}
.kyr-admin-label{font-weight:600;display:block;margin:0 0 5px}
.kyr-input-wide{width:min(100%,760px)}
.kyr-textarea-wide{width:min(100%,900px);min-height:110px}

@media(max-width:900px){
  .site-nav{display:none}.intro-grid,.location-grid,.contact-grid{grid-template-columns:1fr;gap:38px}
  .gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+6){grid-column:span 6}
  section{padding:70px 0}
  .kyr-image-field{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{width:min(calc(100% - 26px),var(--max))}.hero{min-height:78vh}.hero-content{padding-bottom:50px}
  .gallery-grid{gap:8px}.gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+6){grid-column:span 12}
  .facts{grid-template-columns:1fr}
}
