/* ==========================================================
   Pofonok & Pisztácia — budspencer.hu (GeneratePress)
   Vintage western Bud Spencer & Terence Hill fan design
   ========================================================== */
:root{
  --bp-paper:#f3e7cb; --bp-paper2:#ece0bf; --bp-card:#fbf5e3; --bp-card2:#f6eed6;
  --bp-ink:#2c2216; --bp-ink2:#5c4c38; --bp-muted:#7a6a52;
  --bp-rust:#b4502a; --bp-rust-d:#9a4021;
  --bp-teal:#2f7c86; --bp-teal-d:#256a73;
  --bp-gold:#e0a83e; --bp-gold-d:#c8912e;
  --bp-dark:#2b2016; --bp-footer:#171410;
  --bp-border:#d8c39a; --bp-line:#e6d8b6;
  --bp-shadow:0 10px 28px rgba(60,40,20,.14);
  --bp-radius:14px; --bp-maxw:1010px;
  --bp-disp:"Zilla Slab", Georgia, "Times New Roman", serif;
  --bp-body:"Zilla Slab", Georgia, serif;
}

/* base */
body.bp-site{ background:var(--bp-paper); color:var(--bp-ink); font-family:var(--bp-body); font-size:17px; }
.bp-site #page{ overflow-x:hidden; }
.bp-site .site-content{ padding:0; }
.bp-site .site-main{ margin:0!important; }
.bp-site .entry-content{ margin:0; }
.bp-site .entry-header, .bp-site .entry-footer{ display:none; }
.bp-site .container.grid-container{ max-width:100%; padding:0; }
.bp-site h1,.bp-site h2,.bp-site h3,.bp-site h4{ font-family:var(--bp-disp); color:var(--bp-ink); margin:0; line-height:1.08; font-weight:700; }
.bp-site p{ margin:0; }
.bp-site .entry-content > *{ margin-top:0; }
.bp-wrap{ max-width:var(--bp-maxw); margin:0 auto; padding:0 28px; }
.bp-site img{ max-width:100%; height:auto; }
.bp-site .entry-content .wp-block-group__inner-container{ padding-left:0!important; padding-right:0!important; max-width:none!important; }

/* buttons */
.bp-btn{ display:inline-flex; align-items:center; gap:9px; font-family:var(--bp-disp); font-weight:600; font-size:16px;
  padding:12px 22px; border-radius:24px; text-decoration:none; border:0; cursor:pointer; transition:.16s; white-space:nowrap; }
.bp-btn--teal{ background:var(--bp-teal); color:#fff; box-shadow:0 6px 14px rgba(47,124,134,.3); }
.bp-btn--teal:hover{ background:var(--bp-teal-d); color:#fff; transform:translateY(-1px); }
.bp-btn--gold{ background:var(--bp-gold); color:#3a2a12; box-shadow:0 6px 14px rgba(224,168,62,.3); }
.bp-btn--gold:hover{ background:var(--bp-gold-d); color:#3a2a12; transform:translateY(-1px); }
.bp-btn--rust{ background:var(--bp-rust); color:#fff; }
.bp-btn--rust:hover{ background:var(--bp-rust-d); color:#fff; }
.bp-btn .ar{ font-weight:700; }

/* ============ HEADER / NAV ============ */
.bp-site .site-header{ background:transparent; border:0; position:relative; z-index:20; }
.bp-site .inside-header{ max-width:var(--bp-maxw); margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; }
.bp-brand{ display:inline-flex; align-items:center; }
.bp-brand img{ height:74px; width:auto; display:block; filter:drop-shadow(0 4px 8px rgba(40,25,10,.25)); }
.bp-site .site-branding, .bp-site .site-header .site-branding{ display:none!important; }
.bp-site .main-navigation,
.bp-site .main-navigation .inside-navigation,
.bp-site .main-nav ul,
.bp-site .main-nav ul ul{ background:transparent!important; background-color:transparent!important; }
.bp-site .main-navigation .inside-navigation{ padding:0; }
@media (min-width:769px){
  .bp-site .main-navigation{ margin-left:auto; }
  .bp-site .main-nav > ul{ display:flex; flex-wrap:nowrap; align-items:center; background:transparent; }
  .bp-site .main-navigation .main-nav ul li{ display:flex; align-items:center; }
}
.bp-site .main-navigation .main-nav ul li a{ color:var(--bp-ink)!important; background:transparent!important; background-color:transparent!important; font-family:var(--bp-disp); font-weight:600; font-size:17px; padding:10px 15px; }
.bp-site .main-navigation .main-nav ul li a:hover,
.bp-site .main-navigation .main-nav ul li:hover > a{ color:var(--bp-rust)!important; background:transparent!important; }
.bp-site .main-navigation .main-nav ul li.menu-active > a{ color:var(--bp-rust)!important; border-bottom:2px solid var(--bp-rust); }

/* ============ HERO ============ */
.bp-hero{ position:relative; background:
   radial-gradient(120% 80% at 20% 0%, #e9f1f4 0%, var(--bp-paper) 45%);
   overflow:hidden; }
.bp-hero__inner{ max-width:var(--bp-maxw); margin:0 auto; padding:26px 28px 40px; display:grid; grid-template-columns:1fr 1.12fr; gap:24px; align-items:center; min-height:470px; }
.bp-hero__text{ position:relative; z-index:3; }
.bp-hero__text h1{ font-size:clamp(40px,5vw,66px); line-height:1.0; }
.bp-hero__text h1 .l1{ color:var(--bp-ink); display:block; }
.bp-hero__text h1 .l2{ color:var(--bp-rust); display:block; }
.bp-hero__lead{ font-size:19px; color:var(--bp-ink2); margin-top:18px; line-height:1.4; }
.bp-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.bp-hero__art{ position:relative; }
.bp-hero__art img{ width:100%; height:auto; display:block; border-radius:12px;
   -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
   mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 100%); }

/* ============ FILMS + PÁROS ============ */
.bp-films{ background:var(--bp-card); padding:40px 0 44px; border-top:3px solid #e2d2a8; }
.bp-sec-head{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.bp-sec-head .ico{ width:30px; height:30px; color:var(--bp-teal); flex:0 0 auto; }
.bp-sec-head h2{ font-size:27px; }
.bp-sec-head .more{ margin-left:auto; color:var(--bp-teal); font-weight:600; text-decoration:none; font-size:15px; }
.bp-sec-head .more:hover{ color:var(--bp-rust); }
.bp-films__layout{ display:grid; grid-template-columns:1fr 250px; gap:24px; align-items:start; }
.bp-carousel{ position:relative; }
.bp-film-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.bp-film{ background:var(--bp-card2); border:1px solid var(--bp-border); border-radius:12px; overflow:hidden; box-shadow:0 4px 10px rgba(60,40,20,.08); display:flex; flex-direction:column; }
.bp-film__img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; border-bottom:1px solid var(--bp-border); }
.bp-film__b{ padding:10px 10px 12px; text-align:center; display:flex; flex-direction:column; gap:8px; flex:1; }
.bp-film__b h3{ font-size:14px; line-height:1.15; color:var(--bp-ink); min-height:2.3em; display:flex; align-items:center; justify-content:center; }
.bp-film__b a{ font-size:12.5px; color:var(--bp-teal); border:1px solid var(--bp-teal); border-radius:16px; padding:5px 10px; text-decoration:none; margin-top:auto; }
.bp-film__b a:hover{ background:var(--bp-teal); color:#fff; }
.bp-cbtn{ position:absolute; top:38%; width:38px; height:38px; border-radius:50%; background:var(--bp-ink); color:#fff; border:0; display:grid; place-items:center; cursor:pointer; z-index:4; box-shadow:var(--bp-shadow); }
.bp-cbtn.prev{ left:-16px; } .bp-cbtn.next{ right:-16px; }

.bp-parost{ background:var(--bp-card2); border:1px solid var(--bp-border); border-radius:14px; padding:16px; }
.bp-parost__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.bp-parost__head h3{ font-size:18px; }
.bp-parost__head .stars{ color:var(--bp-gold); font-size:13px; letter-spacing:1px; }
.bp-person{ display:flex; gap:11px; align-items:center; padding:10px 0; }
.bp-person + .bp-person{ border-top:1px dashed var(--bp-border); }
.bp-person img{ width:52px; height:52px; border-radius:8px; object-fit:cover; flex:0 0 auto; border:1px solid var(--bp-border); }
.bp-person h4{ font-size:16px; } .bp-person p{ font-size:13px; color:var(--bp-muted); margin:2px 0 6px; }
.bp-person a{ font-size:12.5px; color:#fff; background:var(--bp-teal); border-radius:14px; padding:4px 11px; text-decoration:none; }
.bp-person a:hover{ background:var(--bp-teal-d); }

/* ============ TIMELINE ============ */
.bp-timeline{ background:var(--bp-teal); color:#f3ead2; padding:34px 0 40px; }
.bp-timeline .bp-sec-head h2{ color:#fff; }
.bp-timeline .bp-sec-head .ico{ color:var(--bp-gold); }
.bp-tl-layout{ display:grid; grid-template-columns:1fr 210px; gap:24px; align-items:center; }
.bp-tl{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; position:relative; }
.bp-tl::before{ content:""; position:absolute; top:24px; left:6%; right:6%; height:2px; background:rgba(243,234,210,.4); }
.bp-tl__i{ text-align:center; position:relative; }
.bp-tl__dot{ width:50px; height:50px; margin:0 auto 10px; border-radius:50%; background:#f3ead2; color:var(--bp-teal); display:grid; place-items:center; position:relative; z-index:2; box-shadow:0 4px 10px rgba(0,0,0,.2); }
.bp-tl__dot svg{ width:26px; height:26px; }
.bp-tl__y{ font-family:var(--bp-disp); font-weight:700; font-size:16px; color:#fff; }
.bp-tl__t{ font-size:12.5px; line-height:1.3; color:#e7dcc2; margin-top:3px; }
.bp-tl-photos{ text-align:center; }
.bp-tl-photos img{ width:100%; max-width:210px; border:5px solid #fff; border-radius:4px; transform:rotate(2deg); box-shadow:0 10px 22px rgba(0,0,0,.28); }

/* ============ BENTO ============ */
.bp-bento{ background:var(--bp-paper); padding:38px 0; }
.bp-bento__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.bp-mod{ background:var(--bp-card); border:1px solid var(--bp-border); border-radius:14px; padding:16px; box-shadow:0 4px 12px rgba(60,40,20,.07); display:flex; flex-direction:column; }
.bp-mod__h{ display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.bp-mod__h svg{ width:22px; height:22px; color:var(--bp-teal); }
.bp-mod__h h3{ font-size:19px; }
.bp-mod img.thumb{ width:100%; border-radius:8px; margin:4px 0 10px; border:1px solid var(--bp-border); display:block; }
.bp-mod p{ font-size:14px; color:var(--bp-ink2); line-height:1.4; }
.bp-mod .lnk{ margin-top:auto; padding-top:12px; color:var(--bp-teal); font-weight:600; text-decoration:none; font-size:14px; }
.bp-mod .lnk:hover{ color:var(--bp-rust); }
.bp-mod .kviz-btn{ margin-top:12px; align-self:flex-start; }
.bp-news{ list-style:none; margin:0; padding:0; }
.bp-news li{ display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed var(--bp-border); }
.bp-news li:last-child{ border-bottom:0; }
.bp-news img{ width:38px; height:38px; border-radius:6px; object-fit:cover; flex:0 0 auto; }
.bp-news .d{ font-size:11px; color:var(--bp-muted); }
.bp-news .t{ font-size:13.5px; color:var(--bp-ink); font-weight:600; line-height:1.2; }

/* ============ NEWSLETTER ============ */
.bp-news-band{ background:var(--bp-dark); color:#f0e6cf; padding:26px 0; }
.bp-news-band .bp-wrap{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.bp-news-band .nb-ico{ width:46px; height:46px; border-radius:10px; background:rgba(224,168,62,.16); display:grid; place-items:center; flex:0 0 auto; }
.bp-news-band .nb-ico svg{ width:24px; height:24px; color:var(--bp-gold); }
.bp-news-band h3{ font-size:22px; color:#fff; }
.bp-news-band p{ font-size:14px; color:#cbbda0; margin-top:3px; }
.bp-news-band .nb-form{ margin-left:auto; display:flex; gap:10px; flex:0 0 auto; }
.bp-news-band input{ background:#f3ead2; border:0; border-radius:8px; padding:12px 15px; font-family:var(--bp-body); font-size:15px; min-width:230px; color:#2c2216; }
.bp-news-band button{ background:var(--bp-gold); color:#3a2a12; font-family:var(--bp-disp); font-weight:600; border:0; border-radius:8px; padding:12px 20px; cursor:pointer; }
.bp-news-band button:hover{ background:var(--bp-gold-d); }

/* ============ FOOTER ============ */
.bp-footer{ background:var(--bp-footer); color:#b3a488; }
.bp-footer .bp-wrap{ padding-top:40px; padding-bottom:18px; }
.bp-foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:28px; }
.bp-footer img.flogo{ height:70px; width:auto; margin-bottom:12px; }
.bp-footer h4{ color:#e6d8b6; font-family:var(--bp-disp); font-size:16px; margin-bottom:12px; }
.bp-footer a{ color:#b3a488; text-decoration:none; font-size:14.5px; }
.bp-footer a:hover{ color:var(--bp-gold); }
.bp-footer ul{ list-style:none; margin:0; padding:0; }
.bp-footer li{ margin-bottom:8px; }
.bp-footer p{ font-size:14px; line-height:1.55; color:#a2937a; }
.bp-foot-social{ display:flex; gap:10px; margin-top:4px; }
.bp-foot-social a{ width:38px; height:38px; border-radius:9px; background:rgba(255,255,255,.07); display:grid; place-items:center; }
.bp-foot-social a:hover{ background:var(--bp-gold); }
.bp-foot-social svg{ width:19px; height:19px; color:#e6d8b6; }
.bp-foot-social a:hover svg{ color:#2b2016; }
.bp-foot-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:30px; padding-top:16px; text-align:center; font-size:13px; color:#8a7c64; }

/* ============ MOBILE BOTTOM NAV ============ */
.bp-mobilenav{ display:none; }
@media (max-width:768px){
  .bp-mobilenav{ display:grid; grid-template-columns:repeat(5,1fr); position:fixed; left:0; right:0; bottom:0; z-index:9999;
    background:var(--bp-card); border-top:2px solid var(--bp-border); box-shadow:0 -4px 14px rgba(0,0,0,.14); }
  .bp-mobilenav a{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 2px; color:var(--bp-ink); text-decoration:none; font-size:11px; font-family:var(--bp-disp); }
  .bp-mobilenav svg{ width:20px; height:20px; color:var(--bp-teal); }
  .bp-mobilenav a.active{ color:var(--bp-rust); }
  .bp-mobilenav a.active svg{ color:var(--bp-rust); }
  body.bp-site{ padding-bottom:60px; }
}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .bp-films__layout{ grid-template-columns:1fr; }
  .bp-parost{ display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
  .bp-parost__head{ grid-column:1/-1; }
  .bp-tl-layout{ grid-template-columns:1fr; }
  .bp-tl-photos{ display:none; }
  .bp-bento__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  /* mobile header: hamburger (left) · logo (right) */
  .bp-site .inside-header{ padding:10px 16px; gap:8px; flex-wrap:nowrap; }
  .bp-site .main-navigation{ order:-1!important; margin:0!important; width:auto!important; flex:0 0 auto; }
  .bp-site .bp-brand{ order:0!important; margin-left:auto!important; max-width:60%; }
  .bp-site .bp-brand img{ height:48px; max-width:100%; object-fit:contain; }
  .bp-site .menu-toggle{ background:transparent!important; color:var(--bp-ink)!important; padding:0 4px!important; font-size:24px; }
  .bp-site .menu-toggle .mobile-menu{ display:none!important; }
  .bp-hero__inner{ grid-template-columns:1fr; padding-top:10px; }
  .bp-hero__art{ order:-1; }
  .bp-hero__text h1{ font-size:32px; }
  .bp-hero__art img{ -webkit-mask-image:none; mask-image:none; border-radius:10px; }
  .bp-hero__text{ text-align:left; }
  .bp-brand img{ height:60px; }
  .bp-film-grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-bottom:8px; -webkit-overflow-scrolling:touch; }
  .bp-film{ flex:0 0 46%; scroll-snap-align:start; }
  .bp-cbtn{ display:none; }
  .bp-parost{ grid-template-columns:1fr; }
  .bp-tl{ display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; }
  .bp-tl::before{ display:none; }
  .bp-tl__i{ flex:0 0 60%; scroll-snap-align:start; }
  .bp-bento__grid{ grid-template-columns:1fr; }
  .bp-news-band .bp-wrap{ flex-direction:column; align-items:flex-start; }
  .bp-news-band .nb-form{ margin-left:0; width:100%; }
  .bp-news-band input{ flex:1; min-width:0; }
  .bp-foot-grid{ grid-template-columns:1fr 1fr; gap:22px; }
}
@media (max-width:480px){
  .bp-film{ flex:0 0 70%; }
  .bp-foot-grid{ grid-template-columns:1fr; }
  .bp-hero__text h1{ font-size:36px; }
}

/* hide GeneratePress default footer (our custom footer is in the page) */
.bp-site .site-footer{ display:none; }

/* ====== ÉLESSÉG: a képek soha ne nagyítódjanak a natív méretük fölé ====== */
.bp-film__img{ aspect-ratio:auto !important; object-fit:fill !important; height:auto !important; max-width:134px; margin:0 auto; }
.bp-tl-photos img{ max-width:166px; }
.bp-mod img.thumb{ max-width:226px; }
#kviz img.thumb{ max-width:126px; }
#magazin img.thumb{ max-width:100px; }
.bp-person img{ width:52px; height:52px; }
.bp-brand img{ height:74px; }
.bp-hero__art img{ max-width:590px; margin-left:auto; }

/* ====== HERO a mockup szerint: az illusztráció a jobb felső sarokban, a fejléc mögé futva ====== */
.bp-site .site-header{ position:relative; z-index:20; }
.bp-hero{ margin-top:-104px; padding-top:104px; }
.bp-hero__inner{ position:relative; z-index:2; min-height:400px; grid-template-columns:1fr; }
.bp-hero__text{ max-width:440px; }
.bp-hero__art{ position:absolute; top:0; right:calc(50% - 505px); width:590px; z-index:1; }
.bp-hero__art img{ width:590px; max-width:590px; border-radius:0; box-shadow:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 18%, #000 100%); }
@media (max-width:1060px){ .bp-hero__art{ right:0; } }
@media (max-width:768px){
  .bp-hero{ margin-top:0; padding-top:0; }
  .bp-hero__art{ position:static; width:100%; }
  .bp-hero__art img{ width:100%; max-width:100%; -webkit-mask-image:none; mask-image:none; }
  .bp-hero__text{ max-width:100%; }
}

/* --- hero pozicionálás javítás (felülíró szabályok) --- */
.bp-site .entry-content > .bp-hero{ margin-top:-104px !important; padding-top:104px !important; }
.bp-site .bp-hero__inner{ position:static !important; }
.bp-site .bp-hero__text{ position:relative; z-index:2; }
.bp-site .bp-hero__art{ position:absolute !important; top:0 !important; right:calc(50% - 505px) !important; z-index:1; }
@media (max-width:1060px){ .bp-site .bp-hero__art{ right:0 !important; } }
@media (max-width:768px){
  .bp-site .entry-content > .bp-hero{ margin-top:0 !important; padding-top:0 !important; }
  .bp-site .bp-hero__art{ position:static !important; }
}

/* --- FEJLÉC lebegjen a hero fölött (mockup szerint), negatív margó nélkül --- */
.bp-site #page{ position:relative; }
.bp-site .site-header{ position:absolute !important; top:0; left:0; right:0; background:transparent !important; z-index:30; }
.bp-site .entry-content > .bp-hero{ margin-top:0 !important; padding-top:104px !important; }
@media (max-width:768px){
  .bp-site .site-header{ position:relative !important; }
  .bp-site .entry-content > .bp-hero{ padding-top:0 !important; }
}

/* --- hero illusztráció natív mérete (596x380), a mockup tetejétől --- */
.bp-site .bp-hero__art{ width:596px; }
.bp-site .bp-hero__art img{ width:596px; max-width:596px; }
.bp-site .entry-content > .bp-hero{ padding-top:120px !important; }
@media (max-width:768px){ .bp-site .bp-hero__art, .bp-site .bp-hero__art img{ width:100%; max-width:100%; } }

/* ===== VÉGLEGES hero: fejléc normál papír háttéren, illusztráció alatta jobbra (mockup szerint) ===== */
.bp-site .site-header{ position:relative !important; background:transparent !important; z-index:30; }
.bp-site .entry-content > .bp-hero{ margin-top:0 !important; padding-top:0 !important; }
.bp-site .bp-hero__inner{ min-height:325px; padding-top:18px; padding-bottom:34px; }
.bp-site .bp-hero__art{ position:absolute !important; top:0 !important; right:calc(50% - 505px) !important; width:596px; z-index:1; }
.bp-site .bp-hero__art img{ width:596px; max-width:596px; border-radius:0; box-shadow:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 16%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 16%, #000 100%); }
.bp-site .bp-hero__text{ position:relative; z-index:2; max-width:430px; }
@media (max-width:1060px){ .bp-site .bp-hero__art{ right:0 !important; } }
@media (max-width:768px){
  .bp-site .bp-hero__art{ position:static !important; width:100%; }
  .bp-site .bp-hero__art img{ width:100%; max-width:100%; -webkit-mask-image:none; mask-image:none; }
  .bp-site .bp-hero__text{ max-width:100%; }
  .bp-site .bp-hero__inner{ min-height:auto; }
}

/* --- mobil: a filmsáv és a szekciófejek ne lógjanak ki --- */
@media (max-width:768px){
  .bp-site .bp-films__layout{ grid-template-columns:minmax(0,1fr) !important; }
  .bp-site .bp-carousel, .bp-site .bp-film-grid{ max-width:100%; min-width:0; }
  .bp-site .bp-sec-head{ flex-wrap:wrap; }
  .bp-site .bp-sec-head .more{ margin-left:0; width:100%; }
  .bp-site .bp-film{ flex:0 0 60%; }
  .bp-site .bp-bento__grid, .bp-site .bp-foot-grid{ min-width:0; }
}
