/*
Theme Name: Varnsdorfské uzeniny – Rekonstrukce
Theme URI: https://vdfuzeniny.cz/
Author: OpenAI
Description: Jednostránková responzivní šablona pro Varnsdorfské uzeniny. Bez menu, s centrálním vizuálem, odkazem na Instagram a kontaktní patičkou.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vdf-uzeniny
*/

:root{
  --brand:#a80f1b;
  --brand-dark:#750811;
  --brand-deep:#59060c;
  --cream:#fff8eb;
  --paper:#fffdf8;
  --ink:#241b16;
  --muted:#6f6258;
  --line:rgba(122,12,20,.18);
  --shadow:0 24px 70px rgba(55,24,12,.18);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at 20% 10%,rgba(255,225,158,.55),transparent 30%),
    radial-gradient(circle at 80% 15%,rgba(255,244,218,.9),transparent 34%),
    linear-gradient(180deg,#f7ead0 0%,#fffaf0 45%,#f8eadc 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 70%);
}
a{color:inherit}

.site-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}
.hero{flex:1;display:grid;place-items:center;padding:clamp(28px,5vw,70px) 20px 34px}
.hero-inner{width:min(100%,1060px);display:grid;justify-items:center;gap:clamp(22px,3vw,36px)}
.hero-card{
  width:min(100%,860px);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.82);
  border-radius:var(--radius);
  padding:clamp(8px,1vw,12px);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.hero-image{display:block;width:100%;height:auto;border-radius:calc(var(--radius) - 9px)}
.instagram-wrap{text-align:center}
.instagram-label{margin:0 0 12px;color:var(--muted);font-size:clamp(15px,1.8vw,18px)}
.instagram-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:58px;padding:15px 24px;border-radius:999px;text-decoration:none;
  color:#fff;font-weight:800;font-size:clamp(16px,1.8vw,19px);letter-spacing:.01em;
  background:linear-gradient(100deg,#8f0e1b,#c32132 54%,#a10b18);
  box-shadow:0 14px 34px rgba(143,14,27,.28);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.instagram-btn:hover,.instagram-btn:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px rgba(143,14,27,.34);filter:saturate(1.08)}
.instagram-btn:focus-visible,.footer-link:focus-visible,.modal-close:focus-visible,.cookie-btn:focus-visible{outline:3px solid rgba(255,203,117,.85);outline-offset:3px}
.instagram-icon{width:25px;height:25px;display:block}

.site-footer{
  background:linear-gradient(135deg,var(--brand-dark),var(--brand) 50%,var(--brand-deep));
  color:#fff;
  padding:30px 20px 20px;
  box-shadow:0 -10px 36px rgba(83,8,14,.12);
}
.footer-inner{width:min(100%,1060px);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr auto;gap:28px;align-items:center}
.contact-group{display:grid;gap:9px}
.contact-row{display:flex;gap:11px;align-items:flex-start;line-height:1.45}
.contact-row svg{width:20px;height:20px;flex:0 0 20px;margin-top:1px;opacity:.92}
.contact-row a{text-decoration:none}
.contact-row a:hover{text-decoration:underline}
.legal-links{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.footer-link{border:0;background:none;color:#fff;padding:6px 4px;font:inherit;cursor:pointer;text-decoration:none;opacity:.92}
.footer-link:hover{opacity:1;text-decoration:underline}
.footer-sep{opacity:.45}
.copyright{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);text-align:center;font-size:13px;opacity:.82}

.modal-backdrop{
  position:fixed;inset:0;z-index:1000;background:rgba(20,8,5,.58);display:none;align-items:center;justify-content:center;padding:18px;
}
.modal-backdrop.is-open{display:flex}
.modal{
  width:min(100%,660px);max-height:min(82vh,760px);overflow:auto;background:#fffdf8;border-radius:24px;padding:28px;
  box-shadow:0 28px 80px rgba(0,0,0,.34);position:relative;
}
.modal h2{margin:0 48px 12px 0;color:var(--brand-dark);font-size:clamp(23px,3vw,31px)}
.modal p,.modal li{line-height:1.62;color:#4e433a}
.modal-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:24px;line-height:1;color:var(--brand-dark)}

.cookie-note{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:900;width:min(calc(100% - 28px),760px);
  background:rgba(255,253,248,.97);border:1px solid var(--line);border-radius:18px;padding:15px 16px;
  box-shadow:0 18px 50px rgba(44,20,10,.22);display:none;align-items:center;gap:15px;backdrop-filter:blur(12px)
}
.cookie-note.is-visible{display:flex}
.cookie-note p{margin:0;line-height:1.45;color:#54483f;font-size:14px;flex:1}
.cookie-btn{border:0;border-radius:999px;background:var(--brand);color:#fff;font-weight:750;padding:11px 18px;cursor:pointer;white-space:nowrap}

@media (max-width:780px){
  .hero{padding-top:20px}
  .hero-card{border-radius:21px;padding:6px}
  .hero-image{border-radius:16px}
  .footer-grid{grid-template-columns:1fr;gap:20px}
  .legal-links{justify-content:flex-start}
  .site-footer{padding-top:25px}
}
@media (max-width:520px){
  .hero{padding-left:12px;padding-right:12px;padding-bottom:24px}
  .instagram-btn{width:100%;max-width:420px}
  .cookie-note{align-items:stretch;flex-direction:column}
  .cookie-btn{width:100%}
  .modal{padding:24px 20px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Detailed GDPR content */
.modal-legal{max-width:980px;max-height:min(88vh,920px);overflow:auto;padding:clamp(22px,4vw,46px)}
.modal-legal h2{margin-right:42px}
.modal-legal h3{margin-top:1.6em;color:#8f0e1b}
.modal-legal p,.modal-legal li{line-height:1.62}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 22px;border-radius:10px}
.gdpr-table{width:100%;min-width:900px;border-collapse:collapse;background:#fff;color:#222;font-size:14px}
.gdpr-table th,.gdpr-table td{border:1px solid #c7c7c7;padding:10px 11px;vertical-align:top;text-align:left}
.gdpr-table th{background:#f5eeee;font-weight:700}
.gdpr-table .section-row td{background:#8f0e1b;color:#fff;font-weight:700}
.rights-table{min-width:720px}
.legal-links .footer-link{display:inline-flex;align-items:center;text-decoration:none}
@media (max-width:700px){
  .modal-legal{padding:20px 16px;max-height:92vh}
  .modal-legal h2{font-size:25px}
  .modal-legal h3{font-size:20px}
  .gdpr-table{font-size:13px}
}
