/* =========================
   Pralinky Hradec — Luxusní Elegance (v1.0.5)
   ========================= */
:root{
  --ph-bg:#0d0906;
  --ph-bg2:#120c07;
  --ph-text:#f5f0e8;
  --ph-muted:rgba(245,240,232,.72);

  --ph-gold:#c9a84c;
  --ph-gold-soft:rgba(201,168,76,.10);
  --ph-border:rgba(201,168,76,.18);

  --ph-max:1200px;

  --ph-hdr-h:56px; /* pro kotvy / spacing */
  --ph-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;
  --ph-serif:"Playfair Display",ui-serif,Georgia,"Times New Roman",serif;
}

body{
  background:var(--ph-bg);
  color:var(--ph-text);
  font-family:var(--ph-sans);
  line-height:1.7;
}
.wp-site-blocks{ background:var(--ph-bg); color:var(--ph-text); }
a{ color:var(--ph-text); text-decoration:none; }
a:hover{ color:var(--ph-gold); }
p{ color:var(--ph-muted); }
h1,h2,h3,h4,h5,h6{
  font-family:var(--ph-serif);
  font-weight:400;
  color:var(--ph-text);
}
.wp-site-blocks > *{ margin-block-start:0; }

.ph-wrap{ max-width:var(--ph-max); margin:0 auto; padding:0 24px; }
.ph-page-pad{ padding-top:calc(var(--ph-hdr-h) + 46px); } /* pro stránky mimo hero */
.ph-page-hero-wrap{ padding:0 0 20px; }
.ph-page-pad > .ph-section{ padding-top:0; border-top:0; }
.ph-page-hero{
  max-width:980px;
  margin:0 auto;
  text-align:center;
  border:0;
  background:transparent;
  backdrop-filter:none;
  padding:0;
}
.ph-page-kicker{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(245,240,232,.62);
}
.ph-page-breadcrumbs{
  margin:0 0 12px;
  display:flex;
  justify-content:center;
}
.ph-bc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center;
}
.ph-bc-item{
  margin:0;
  padding:0;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(245,240,232,.72);
}
.ph-bc-link{
  color:rgba(245,240,232,.78);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.ph-bc-link:hover{
  color:var(--ph-gold);
}
.ph-bc-current{
  color:rgba(201,168,76,.96);
}
.ph-bc-sep{
  margin:0;
  padding:0;
  color:rgba(201,168,76,.62);
  font-size:10px;
  line-height:1;
  letter-spacing:0;
}
.ph-page-title-main{
  margin:0;
  font-family:var(--ph-serif);
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:34px;
  color:rgba(245,240,232,.92);
}
.ph-page-sub{
  margin:0 auto;
  max-width:72ch;
  color:rgba(245,240,232,.72);
  line-height:1.7;
}
.ph-page-hero-line{
  display:block;
  width:92px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--ph-gold), transparent);
  margin:18px auto 14px;
}
.ph-page-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:18px; align-items:stretch; }
.ph-page-grid .ph-panel{ height:100%; }
.ph-about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:18px; align-items:start; }
@media(max-width: 980px){
  .ph-page-grid, .ph-about-grid{ grid-template-columns:1fr; }
}
@media(max-width: 640px){
  .ph-page-pad{ padding-top:calc(var(--ph-hdr-h) + 34px); }
}

.ph-section{ padding:110px 0; border-top:1px solid rgba(201,168,76,.12); }
.ph-section.alt{ background:linear-gradient(180deg, var(--ph-bg), var(--ph-bg2)); }
.ph-section-title{ text-align:center; margin-bottom:56px; }
.ph-section-title h2{
  font-size:32px;
  letter-spacing:.12em;
  margin:0;
  text-transform:uppercase;
}
.ph-gold-line{ width:64px; height:1px; background:var(--ph-gold); margin:18px auto; }
.ph-section-title p{ margin:0; font-size:14px; letter-spacing:.05em; }

.ph-panel,
.ph-card{
  border:1px solid rgba(201,168,76,.22);
  background:rgba(255,255,255,.02);
  padding:28px;
}
.ph-panel,
.ph-card,
.ph-oh-card,
.ph-zak-gitem,
.ph-lightbox-inner,
.ph-map,
.ph-map iframe,
.ph-kgrid-filters select,
.ph-kgrid-btn,
.ph-kgrid-pagination a,
.ph-kgrid-pagination span,
.ph-kcard,
.ph-badge{ border-radius:0 !important; }
.ph-panel-title{
  font-family:var(--ph-serif);
  color:var(--ph-gold);
  letter-spacing:.04em;
  font-size:18px;
  margin:0 0 10px;
}

.ph-btn{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:10px 14px;
  border:1px solid rgba(201,168,76,.42);
  color:var(--ph-gold);
  background:transparent;
  border-radius:0;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:300;
  transition:all .25s ease;
  white-space:nowrap;
}
.ph-btn:hover{
  background:rgba(201,168,76,.06);
  border-color:rgba(201,168,76,.72);
  transform:translateY(-1px);
}
.ph-btn-ghost{
  border-color:rgba(201,168,76,.22);
  color:rgba(245,240,232,.82);
}
.ph-btn-ghost:hover{ color:var(--ph-gold); }

/* =========================
   Header (menší od začátku)
   ========================= */
.ph-hdr{
  position:fixed;
  top:0; left:0; right:0;
  z-index:999;
  height:var(--ph-hdr-h);
  display:flex;
  align-items:center;
  background:rgba(13,9,6,.55);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(201,168,76,.12);
  transition:background .25s ease, border-color .25s ease;
}
.ph-hdr.ph-scrolled{
  background:rgba(13,9,6,.92);
  border-bottom-color:rgba(201,168,76,.18);
}
.ph-hdr-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
}
.ph-brand-name{
  font-family:var(--ph-serif);
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ph-gold);
  white-space:nowrap;
}
.ph-nav{
  display:flex;
  align-items:center;
  gap:22px;
}
.ph-nav a{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:300;
  color:rgba(245,240,232,.92);
  position:relative;
  padding:6px 0;
}
.ph-nav a::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  width:0;
  margin:0 auto;
  background:var(--ph-gold);
  transition:width .25s ease;
}
.ph-nav a:hover::after{ width:100%; }

.ph-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ph-actions a{max-width:100%;}
.ph-actions a[href^="mailto:"]{word-break:break-word;}
.ph-btn-phone{
  padding:7px 10px;
  font-size:11px;
  letter-spacing:.14em;
  white-space:nowrap;
}

.ph-hamb{
  display:none;
  width:38px; height:38px;
  border-radius:0;
  border:1px solid rgba(201,168,76,.35);
  background:transparent;
  cursor:pointer;
  color:var(--ph-gold);
  align-items:center;
  justify-content:center;
}
.ph-hamb span{
  display:block;
  width:18px; height:1px;
  background:var(--ph-gold);
  margin:0 auto;
}
.ph-hamb span + span{ margin-top:6px; }

/* Mobile nav overlay */
.ph-mnav{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(13,9,6,.97);
  z-index:998;
  padding-top:var(--ph-hdr-h);
}
.ph-mnav.open{ display:block; }
.ph-mnav-inner{
  max-width:520px;
  margin:0 auto;
  padding:18px 24px 34px;
}
.ph-mnav a{
  display:block;
  padding:16px 0;
  border-bottom:1px solid rgba(201,168,76,.12);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:300;
}

.ph-mnav-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:6px 0 10px;
}
.ph-mnav-phone{
  color:var(--ph-gold);
  font-family:var(--ph-serif);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
}
.ph-mnav-close{
  width:38px; height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  border:1px solid rgba(201,168,76,.35);
  background:transparent;
  color:var(--ph-gold);
  cursor:pointer;
  font-size:20px;
  line-height:1;
}
.ph-mnav a{ color:rgba(245,240,232,.92); }
.ph-mnav a:hover{ color:var(--ph-gold); }


/* =========================
   Hero (původní koncept + jen logo)
   ========================= */
.ph-home-wrap{ padding-top:0; } /* home nepotřebuje page-pad, hero je pod headerem */
.ph-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:0;
}
.ph-hero::before{
  content:'';
  position:absolute;
  inset:-20%;
  /* jemné, uprostřed – bez “pásu” pod headerem */
  background:
    radial-gradient(ellipse at 50% 45%, rgba(201,168,76,.12) 0%, rgba(13,9,6,0) 55%),
    radial-gradient(ellipse at 50% 60%, rgba(0,0,0,.0) 0%, rgba(0,0,0,.55) 70%);
  pointer-events:none;
}
.ph-hero-box{ position:relative; max-width:860px; margin:0 auto; padding:0 0 10px; }
.ph-hero-logo{
  width:110px; height:auto;
  margin:0 auto 18px;
  display:block;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.45));
}
.ph-hero-overline{
  width:58px; height:1px;
  margin:0 auto 14px;
  background:linear-gradient(90deg, transparent, var(--ph-gold), transparent);
}
.ph-hero-eyebrow{
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(245,240,232,.60);
  margin:0 0 14px;
  min-height:1.4em;
}
.ph-hero-title{
  margin:0;
  font-size:clamp(28px, 5.6vw, 56px);
  letter-spacing:.22em;
  text-transform:uppercase;
  line-height:1.15;
  min-height:1.15em;
  white-space:nowrap;
}
.ph-hero-line{
  display:block;
  width:92px;
  height:1px;
  margin:18px auto 14px;
  background:linear-gradient(90deg, transparent, var(--ph-gold), transparent);
}
.ph-hero-city{
  font-size:14px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--ph-gold);
  min-height:1.4em;
}
.ph-hero-sub{
  max-width:680px;
  margin:16px auto 0;
  font-size:15px;
  letter-spacing:.03em;
  color:rgba(245,240,232,.72);
  min-height:1.7em;
}
.ph-hero-cta{
  margin-top:26px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
@media (max-width:640px){
  .ph-hero{
    min-height:auto;
    align-items:flex-start;
    padding-top:calc(var(--ph-hdr-h) + 22px);
    padding-bottom:42px;
  }
  .ph-hero-box{padding:0}
  .ph-hero-logo{width:102px;margin:0 auto 14px}
  .ph-hero-overline{margin:0 auto 12px}
  .ph-hero-sub{margin-top:12px}
  .ph-hero-cta{margin-top:22px}
}

/* Zlatá silueta s textem mezi hero a kontaktem */
.ph-gift-section{
  position:relative;
  overflow:hidden;
  padding:0;
  border-top:1px solid rgba(201,168,76,.12);
  border-bottom:1px solid rgba(201,168,76,.12);
  background:linear-gradient(180deg, rgba(13,9,6,0) 0%, rgba(201,168,76,.018) 50%, rgba(13,9,6,0) 100%);
}
.ph-gift-section + .ph-section{
  border-top:0;
}
.ph-gift-section .ph-wrap{
  max-width:var(--ph-max);
  padding:0 24px;
}
.ph-gift-band{
  position:relative;
  z-index:1;
  overflow:hidden;
  min-height:0;
  padding:26px 0 8px;
  text-align:center;
  background:transparent;
}
.ph-gift-band::before{
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  bottom:2px;
  height:42%;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(201,168,76,.11) 0%, rgba(201,168,76,.045) 34%, rgba(201,168,76,0) 74%);
  filter:blur(14px);
  opacity:.9;
}
.ph-gift-copy{
  position:relative;
  z-index:3;
  max-width:900px;
  margin:0 auto 10px;
  text-align:center;
}
.ph-gift-kicker{
  display:block;
  margin:0 0 10px;
  color:rgba(201,168,76,.82);
  font-size:10px;
  line-height:1.6;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.ph-gift-title{
  margin:0;
  font-size:clamp(24px, 2.4vw, 34px);
  line-height:1.22;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(245,240,232,.95);
}
.ph-gift-text{
  max-width:72ch;
  margin:12px auto 0;
  color:rgba(245,240,232,.76);
  font-size:14px;
  line-height:1.72;
  letter-spacing:.02em;
}
.ph-gift-line,
.ph-gift-actions{
  display:none;
}
.ph-gift-art{
  position:relative;
  z-index:2;
  width:min(1120px, 100%);
  margin:0 auto -6px;
  pointer-events:none;
}
.ph-gift-art::before{
  content:'';
  position:absolute;
  left:12%;
  right:12%;
  bottom:5%;
  height:28%;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(201,168,76,.11), rgba(201,168,76,.025) 42%, rgba(201,168,76,0) 74%);
  filter:blur(12px);
}
.ph-gift-art-img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  object-position:center bottom;
  opacity:.84;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.24));
}
.ph-gift-band img{
  display:block;
}
@media(max-width:980px){
  .ph-gift-section .ph-wrap{
    padding:0 18px;
  }
  .ph-gift-band{
    padding:24px 0 6px;
  }
  .ph-gift-copy{
    max-width:760px;
    margin-bottom:8px;
  }
  .ph-gift-title{
    font-size:clamp(22px, 4.4vw, 30px);
  }
  .ph-gift-text{
    max-width:64ch;
  }
  .ph-gift-art{
    width:100%;
  }
}
@media(max-width:640px){
  .ph-gift-section .ph-wrap{
    padding:0 14px;
  }
  .ph-gift-band{
    padding:20px 0 4px;
  }
  .ph-gift-kicker{
    font-size:9px;
    letter-spacing:.20em;
  }
  .ph-gift-title{
    font-size:clamp(20px, 6.9vw, 26px);
    letter-spacing:.09em;
  }
  .ph-gift-text{
    font-size:13px;
    line-height:1.64;
  }
  .ph-gift-art{
    width:108%;
    margin-left:-4%;
  }
}

/* Duo panels */
.ph-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.ph-duo.single{ grid-template-columns:1fr; }
.ph-duo > .ph-panel{min-width:0;overflow:hidden}
.ph-duo .ph-panel .ph-bonb,
.ph-duo .ph-panel .ph-bonb-grid,
.ph-duo .ph-panel .ph-board,
.ph-duo .ph-panel .ph-board-fb{max-width:100%;min-width:0}

/* Kontakt */
.ph-contact{
  display:grid;
  grid-template-columns:minmax(320px, 620px) 1fr;
  gap:18px;
  align-items:start;
}
.ph-contact iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
}
.ph-contact-right{ display:grid; gap:18px; align-content:start; }
.ph-contact-left{ display:grid; gap:18px; align-content:start; }
.ph-contact-right .ph-panel{ height:auto; }
@media(max-width:980px){
  .ph-contact{ grid-template-columns:1fr; }
}
.ph-social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

/* Kontakt stránka layout */
.ph-contact-layout{
  grid-template-columns:minmax(320px, 620px) 1fr;
  align-items:start;
}
.ph-contact-layout .ph-panel{ height:auto; }
@media(max-width:980px){
  .ph-contact-layout{ grid-template-columns:1fr; }
}

/* Otevírací doba */
.ph-hours{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(201,168,76,.14);
}
.ph-hours-raw{
  display:none;
  color:rgba(245,240,232,.68);
  font-size:13px;
}
.ph-hours-status{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(201,168,76,.22);
  background:rgba(201,168,76,.06);
  color:rgba(245,240,232,.92);
  letter-spacing:.06em;
  font-size:12px;
  text-transform:uppercase;
}
.ph-hours-status strong{
  color:var(--ph-gold);
  font-weight:400;
}


/* Opening Hours card (ph-oh-*) — Luxe */
.ph-oh-card{border:1px solid rgba(201,168,76,.35);background:radial-gradient(120% 160% at 100% 0%,rgba(201,168,76,.14) 0%,rgba(201,168,76,.03) 45%,rgba(0,0,0,0) 70%),linear-gradient(180deg,rgba(22,14,9,.96),rgba(8,5,3,.93));padding:16px 18px 14px;max-width:620px;border-radius:0;box-shadow:0 20px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04)}
.ph-oh-head{display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid rgba(201,168,76,.22)}
.ph-oh-title{font-family:var(--ph-serif);letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:rgba(201,168,76,.98);margin:0}
.ph-oh-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid rgba(201,168,76,.32);background:rgba(0,0,0,.28);color:rgba(245,240,232,.92)}
.ph-oh-status-dot{width:8px;height:8px;border-radius:0;display:inline-block;background:#f1c45b;box-shadow:0 0 0 4px rgba(241,196,91,.18)}
.ph-oh-status.is-open{border-color:rgba(87,211,143,.52);background:rgba(87,211,143,.13);color:rgba(218,255,232,.95)}
.ph-oh-status.is-open .ph-oh-status-dot{background:#57d38f;box-shadow:0 0 0 4px rgba(87,211,143,.2)}
.ph-oh-status.is-closed{border-color:rgba(230,117,117,.45);background:rgba(230,117,117,.12);color:rgba(255,225,225,.95)}
.ph-oh-status.is-closed .ph-oh-status-dot{background:#e67575;box-shadow:0 0 0 4px rgba(230,117,117,.18)}
.ph-oh-grid{display:grid;grid-template-columns:1fr;gap:6px}
.ph-oh-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 11px;border:1px solid rgba(201,168,76,.11);background:rgba(255,255,255,.015);border-radius:0;transition:transform .2s ease,border-color .2s ease}
.ph-oh-row:hover{transform:translateY(-1px);border-color:rgba(201,168,76,.28)}
.ph-oh-row.is-today{border-color:rgba(201,168,76,.52);background:rgba(201,168,76,.11);box-shadow:inset 0 0 0 1px rgba(201,168,76,.18)}
.ph-oh-day{display:flex;align-items:center;gap:8px;color:rgba(245,240,232,.88);font-size:13px}
.ph-oh-day-dot{display:none;width:7px;height:7px;border-radius:0;background:rgba(201,168,76,.8)}
.ph-oh-row.is-today .ph-oh-day-dot{display:inline-block}
.ph-oh-time{color:rgba(245,240,232,.97);font-size:13px;font-weight:700}
.ph-oh-row.is-closed .ph-oh-time{color:rgba(255,214,214,.9)}
.ph-oh-note{margin-top:12px;padding:10px 11px;border:1px dashed rgba(201,168,76,.24);border-radius:0;background:rgba(255,255,255,.02);color:rgba(245,240,232,.77);font-size:12.5px;line-height:1.55;white-space:pre-line}
.ph-oh-machine{display:none}
@media (max-width:640px){
  .ph-oh-card{padding:14px 14px 12px}
}


/* Kontakt – zvýraznění telefonu/emailu + rychlé akce */
.ph-contact-rows p{ margin:10px 0; }
.ph-contact-strong{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(245,240,232,.55);
  margin-bottom:4px;
}
.ph-contact-value{
  font-family:var(--ph-serif);
  font-size:20px;
  letter-spacing:.04em;
  color:rgba(245,240,232,.92);
}
.ph-contact-value a{ color:rgba(245,240,232,.92); }
.ph-contact-value a:hover{ color:var(--ph-gold); }
.ph-hours-status{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid rgba(201,168,76,.26);
  background:rgba(201,168,76,.08);
  font-size:12px;
  letter-spacing:.14em;
}

.ph-hours-left{ display:inline; }
@media(max-width: 520px){
  .ph-hours-left{ display:block; margin-top:6px; }
  .ph-wrap{ padding:0 18px; }
}

/* Zakázky – text + galerie */
.ph-zak-wrap{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}
.ph-zak-gallery{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}
.ph-zak-img{
  border:1px solid rgba(201,168,76,.18);
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.ph-zak-img.is-square{ aspect-ratio: 1 / 1; }
.ph-zak-img.is-wide{
  grid-column:1 / -1;
  aspect-ratio: 21 / 9;
}
.ph-zak-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform .35s ease, opacity .35s ease;
  opacity:.92;
}
@media (hover:hover){
  .ph-zak-img:hover img{ transform:scale(1.06); opacity:1; }
}
@media (max-width: 680px){
  .ph-zak-gallery{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ph-zak-img.is-wide{ aspect-ratio: 16 / 9; }
}
@media (max-width: 980px){
  .ph-zak-wrap{ grid-template-columns: 1fr; }
}


/* FAQ (bez rozbalování) */
.ph-faq{
  max-width:980px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.ph-faq-item{
  border:1px solid rgba(201,168,76,.18);
  background:rgba(255,255,255,.02);
  padding:16px 18px;
}
.ph-faq-q{
  font-family:var(--ph-serif);
  letter-spacing:.08em;
  font-size:14px;
  color:rgba(245,240,232,.92);
  margin-bottom:10px;
}
.ph-faq-body p{ margin:0 0 10px; color:rgba(245,240,232,.72); font-size:14px; line-height:1.7; }
.ph-faq-body ul{ margin:0; padding-left:18px; color:rgba(245,240,232,.72); }
.ph-faq-body li{ margin:6px 0; }

/* Footer */
.ph-ftr{
  padding:44px 0;
  border-top:1px solid rgba(201,168,76,.12);
}
.ph-ftr-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
}
.ph-ftr-brand{
  color:var(--ph-gold);
  font-family:var(--ph-serif);
  letter-spacing:.10em;
  font-size:14px;
}
.ph-ftr-links{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}
.ph-ftr-links a{
  color:rgba(245,240,232,.78);
  font-size:12px;
  text-decoration:none;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ph-ftr-links a:hover{ color:rgba(245,240,232,.92); }
.ph-ftr-meta{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  align-items:center;
  font-size:12px;
}
.ph-ftr-meta a{
  color:rgba(245,240,232,.72);
  text-decoration:none;
}
.ph-ftr-meta a:hover{ color:rgba(245,240,232,.88); }
.ph-social-pair{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.ph-social-pair .ph-dot{
  margin:0;
  padding:0;
}
.ph-ftr-bottom{
  margin-top:16px;
  border-top:1px solid rgba(201,168,76,.10);
  padding-top:14px;
  text-align:center;
  font-size:12px;
  color:rgba(245,240,232,.66);
}

/* Animace */
.ph-animate{ opacity:0; transform:translateY(22px); transition:all .8s cubic-bezier(.4,0,.2,1); }
.ph-visible{ opacity:1; transform:translateY(0); }
.ph-animate.delay-1{ transition-delay:.15s; }
.ph-animate.delay-2{ transition-delay:.30s; }


/* WordPress admin bar (přihlášený uživatel) – posunout náš fixed header pod lištu */
body.admin-bar .ph-hdr{ top:32px; }
body.admin-bar .ph-mnav{ padding-top:calc(var(--ph-hdr-h) + 32px); }
@media (max-width: 782px){
  body.admin-bar .ph-hdr{ top:46px; }
  body.admin-bar .ph-mnav{ padding-top:calc(var(--ph-hdr-h) + 46px); }
}

@media (max-width: 980px){
  .ph-nav{ display:none; }
  .ph-btn-phone{ display:none; }
  .ph-hamb{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; }
  .ph-duo{ grid-template-columns:1fr; }
  .ph-contact{ grid-template-columns:1fr; }
  .ph-hero-title{ font-size:clamp(24px, 7.2vw, 34px); letter-spacing:.16em; white-space:nowrap; }
  .ph-page-title-main{ font-size:clamp(24px, 7.2vw, 34px); letter-spacing:.12em; }
  .ph-section{ padding:72px 0; }
}

/* Extra small: telefon zkrátit, ať se vejde hamburger */
@media (max-width: 520px){
  .ph-btn-phone{
    padding:6px 8px;
    font-size:10px;
    letter-spacing:.10em;
  }
  .ph-btn-phone .ph-phone-full{ display:none; }
  .ph-btn-phone .ph-phone-short{ display:inline; }
}

/* -----------------------------
   v1.0.16 PATCHES (mobilní NAVIGACE + Kontakt stabilita)
------------------------------*/

/* Mobilní hamburger: jen text "NAVIGACE" bez rámečku */
@media (max-width: 980px){
	.ph-hamb{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		border:0 !important;
		padding:0 !important;
		width:auto; height:auto;
		overflow:visible;
		background:transparent;
		box-shadow:none;
		color:var(--ph-gold);
		text-transform:uppercase;
		letter-spacing:.24em;
		font-size:12px;
		line-height:1;
	}
}

/* Kontakt stránka: zabránit překryvům/overflow */
.ph-page-grid > *{ min-width:0; }
.ph-contact-hero .ph-lead-muted{ max-width:72ch; font-size:14px; opacity:.9; }
.ph-contact-stack{ display:grid; gap:18px; }
.ph-contact-block + .ph-contact-block{ border-top:1px solid var(--ph-line); padding-top:18px; margin-top:18px; }
.ph-contact-social{ margin-top:10px; font-size:12px; opacity:.9; display:inline-flex; align-items:center; flex-wrap:nowrap; white-space:nowrap; max-width:100%; }
.ph-contact-social .ph-link{ white-space:nowrap; }
.ph-dot{ margin:0 8px; color:var(--ph-gold); opacity:.7; }

/* Kontakt – fix rozbitých sloupců */
.ph-contact-hero{ max-width: 980px; margin: 0 auto; }
.ph-lead{ font-size: 16px; line-height: 1.75; }
.ph-lead-muted{ opacity: .86; }
.ph-lead-note{ opacity: .9; white-space: normal; }
.ph-contact-panel{ display:block; }
.ph-contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.ph-panel-h{ margin: 0 0 8px 0; }
.ph-kv{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,215,120,.12);
}
.ph-kv-last{ border-bottom: 0; padding-bottom: 0; }
.ph-k{ font-size: 12px; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.ph-v{ font-size: 15px; }
.ph-dot{ opacity: .55; padding: 0 8px; }
.ph-hours-box{ margin-top: 18px; }

@media (max-width: 980px){
  .ph-contact-grid{ grid-template-columns: 1fr; }
  .ph-kv{ grid-template-columns: 1fr; gap: 6px; }
}

/* Zakázky – modern page + lightbox */
.ph-zak-page-hero .ph-sub{
  margin: 10px 0 0 0;
  opacity: .9;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
}
.ph-zak-page-hero p{ max-width:none; width:100%; margin-left:auto; margin-right:auto; }
.ph-zak-page-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 18px;
  align-items:start;
}
.ph-zak-page-grid > *{ min-width:0; }
@media (max-width: 980px){
  .ph-zak-page-grid{ grid-template-columns: 1fr; }
}
.ph-h2{ margin: 0 0 12px 0; }
.ph-bullets{
  margin: 0;
  padding-left: 18px;
  line-height: 1.75;
}
.ph-bullets li{ margin: 8px 0; }
.ph-zak-page-gallery .ph-note{ margin-top: 10px; }

.ph-zak-gallery-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
@media (max-width: 680px){
  .ph-zak-gallery-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 420px){
  .ph-zak-gallery-grid{ grid-template-columns: 1fr; }
}
.ph-zak-gitem{
  display:block;
  border:1px solid rgba(255,215,120,.18);
  background: rgba(0,0,0,.25);
  overflow:hidden;
}
.ph-zak-gitem img{
  width:100%;
  height:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .25s ease;
}
.ph-zak-gitem:hover img{ transform: scale(1.08); }

@media(max-width: 980px){
  .ph-zak-page-grid{ grid-template-columns: 1fr; }
  .ph-zak-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
  .ph-zak-page-hero{ padding:32px 0 14px; }
  .ph-zak-page-hero h1{ font-size:28px; }
  .ph-zak-page-hero p{ padding-left:2px; padding-right:2px; }
}

.ph-cta{ grid-column: 1 / -1; }
@media (max-width: 980px){
  .ph-zak-page-grid{ grid-template-columns: 1fr; }
  .ph-zak-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
}

/* Lightbox */
.ph-lightbox{
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0,0,0,.86);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 22px;
}
.ph-lightbox.open{ display:flex; }
.ph-lightbox-inner{
  position: relative;
  max-width: min(1040px, 100%);
  max-height: min(78vh, 100%);
  border: 1px solid rgba(255,215,120,.22);
  background: rgba(0,0,0,.35);
}
.ph-lightbox-inner img{
  width: 100%;
  height: auto;
  max-height: 78vh;
  display:block;
  object-fit: contain;
}
.ph-lightbox-close{
  position:absolute;
  top: 10px;
  right: 10px;
  border: 1px solid rgba(255,215,120,.35);
  background: rgba(0,0,0,.45);
  color: var(--ph-gold);
  padding: 8px 10px;
  cursor:pointer;
}

/* Zakázky: email na malých displejích na nový řádek */
@media (max-width: 560px){
  .ph-actions a[href^="mailto:"]{ flex-basis:100%; }
}

/* Katalog (ph_katalog_grid) – vizuál do luxe designu */
.ph-katalog-hero{padding:70px 0 18px;}
.ph-katalog-hero .ph-page-sub{max-width:72ch;margin:10px auto 0;opacity:.85;}
.ph-kgrid{max-width:1100px;margin:0 auto;}
.ph-kgrid .ph-kgrid-filters{border:1px solid var(--ph-gold-20);background:rgba(0,0,0,.28);backdrop-filter:blur(6px);padding:14px 14px 6px;margin:0 0 18px;border-radius:0;}
.ph-kgrid .ph-kgrid-filters label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.ph-kgrid .ph-kgrid-filters select,.ph-kgrid .ph-kgrid-filters input{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--ph-gold-20);color:#eee;padding:10px 10px;border-radius:0;outline:none;}
.ph-kgrid .ph-kgrid-filters select:focus,.ph-kgrid .ph-kgrid-filters input:focus{border-color:var(--ph-gold-45);box-shadow:0 0 0 2px rgba(199,160,74,.12);}
.ph-kgrid .ph-kgrid-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
.ph-kgrid .ph-kgrid-btn{border:1px solid var(--ph-gold-35);background:transparent;color:var(--ph-gold);padding:10px 14px;border-radius:0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;}
.ph-kgrid .ph-kgrid-grid{display:grid;gap:16px;margin-top:14px;}
.ph-kgrid .ph-kcard{border:1px solid var(--ph-gold-16);background:rgba(0,0,0,.22);border-radius:0;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.ph-kgrid .ph-kcard:hover{border-color:var(--ph-gold-35);}
.ph-kgrid .ph-kcard-img{aspect-ratio:4/3;overflow:hidden;background:#111;}
.ph-kgrid .ph-kcard-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02) contrast(1.02);}
.ph-kgrid .ph-kcard-body{padding:14px 14px 12px;}
.ph-kgrid .ph-kcard-title{font-family:var(--ph-serif);font-size:18px;letter-spacing:.08em;margin:0 0 8px;}
.ph-kgrid .ph-kcard-meta{font-size:12px;opacity:.85;display:flex;gap:10px;flex-wrap:wrap;}
.ph-kgrid .ph-kbadge,.ph-kgrid .ph-badge{border:1px solid var(--ph-gold-20);color:var(--ph-gold);padding:4px 8px;border-radius:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.ph-kgrid .ph-kgrid-pagination a{border:1px solid var(--ph-gold-20);padding:8px 12px;margin:0 4px;border-radius:0;color:#eee;background:transparent;}
.ph-kgrid .ph-kgrid-pagination .current{border-color:var(--ph-gold-45);color:var(--ph-gold);}
@media (max-width:720px){
  .ph-kgrid .ph-kgrid-filters{padding:12px 12px 8px;}
  .ph-kgrid .ph-kcard-title{font-size:17px;}
}


.ph-contact .ph-map{ min-height:80px !important; }
