:root{
  --red:#c9151d;
  --red-dark:#8e080e;
  --black:#050505;
  --dark:#0d0d0d;
  --paper:#f1efec;
  --text:#161616;
  --muted:#777;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 70px));margin:auto}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:#050505;border-bottom:1px solid #262626}
.nav-wrap{height:78px;width:min(1320px,calc(100% - 50px));margin:auto;display:flex;align-items:center}
.brand{width:82px;height:82px;flex:0 0 82px;margin-top:24px;z-index:3}
.brand img{width:82px;height:82px;object-fit:cover;border-radius:50%;border:3px solid #fff;background:#fff}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:34px;margin-left:auto;font-weight:700;font-size:13px;text-transform:uppercase}
.nav a{padding:10px 0;white-space:nowrap}
.nav a:hover,.nav a.active{color:#f0262d}
.support-btn{background:var(--red);padding:12px 17px!important;color:#fff!important}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}

/* HERO */
.hero{background:#000;overflow:hidden}
.hero img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;object-position:center}

/* DONATION */
.donate{position:relative;background:#090909;overflow:hidden;border-bottom:1px solid #222}
.donate:before{content:"";position:absolute;left:-5%;right:-5%;bottom:-55px;height:125px;background:#f1efec;transform:skewY(-4deg)}
.donate-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:34px 0 52px}
.donate-copy{display:flex;align-items:center;gap:25px}
.heart-outline{font-size:65px;color:#fff;line-height:1}
.eyebrow{display:block;font-weight:900;font-size:18px;letter-spacing:.4px;text-transform:uppercase}
.donate h1{font-size:30px;margin:5px 0 2px;line-height:1.1}
.donate p{margin:0;color:#ddd}
.account{justify-self:end;background:var(--red);padding:18px 28px 20px;min-width:480px;transform:skewX(-4deg);box-shadow:0 7px 0 rgba(0,0,0,.45)}
.account>*{transform:skewX(4deg)}
.account span{display:block;font-weight:900;font-size:18px}
.account strong{display:block;font-size:36px;letter-spacing:.5px;line-height:1.1}
.account a{display:inline-block;margin-top:7px;font-weight:700;text-decoration:underline}

/* GENERAL */
.section{padding:82px 0}
.light{background:var(--paper);color:var(--text)}
.dark{background:var(--black)}
h1,h2,h3,h4{margin:0 0 15px;font-weight:900;text-transform:uppercase;line-height:1.05}
h2{font-size:53px;letter-spacing:-1px}
h3{font-size:25px}
p{font-size:17px}
.lead{font-size:19px;max-width:900px}
.darktext{color:#333}
.eyebrow.red{color:var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff;padding:11px 19px;margin-top:15px;font-weight:900;text-transform:uppercase}
.btn:hover{background:#ec1c25}
.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:center}
.photo-card{position:relative;border:7px solid #fff;box-shadow:14px 14px 0 var(--red);overflow:hidden}
.photo-card img{display:block;width:100%;height:330px;object-fit:cover;object-position:center}

/* VALUES */
.values{background:#050505;border-top:1px solid #333;border-bottom:1px solid #333}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.value-grid article{text-align:center;padding:45px 28px 40px;border-right:1px solid #333}
.value-grid article:last-child{border-right:0}
.value-icon{display:block;font-size:64px;line-height:1;margin-bottom:17px;color:var(--red)}
.value-grid h3{font-size:24px;color:#fff}
.value-grid h3 span{color:var(--red)}
.value-grid p{font-size:15px;color:#bbb;margin:0}

/* PRODUCTS */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}
.cards article{background:#141414;border:1px solid #292929;border-top:5px solid var(--red);padding:25px;min-height:190px}
.cards .icon{font-size:38px;color:var(--red)}
.cards p{color:#bbb}
.product-note{margin-top:28px;padding:22px 25px;border-left:6px solid var(--red);background:#171717;font-size:18px}

/* EVENTS / HELP */
.events-section{position:relative;overflow:hidden;padding-top:70px;padding-bottom:75px}.events-title{margin:0 0 30px;font-size:clamp(58px,8vw,108px);line-height:.86;font-weight:950;letter-spacing:-.055em;color:#111;text-transform:uppercase;position:relative}.events-title:after{content:"";display:block;width:150px;height:7px;background:var(--red);margin-top:18px;box-shadow:35px 7px 0 #111,80px -3px 0 var(--red);transform:skewX(-18deg)}
.event-box{margin-top:32px;padding:36px 40px;background:#fff;border-left:9px solid var(--red);display:flex;align-items:center;justify-content:flex-start;gap:34px;position:relative;box-shadow:10px 10px 0 rgba(0,0,0,.08)}
.event-box:before{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;background:linear-gradient(135deg,transparent 0 8%,#111 8% 12%,transparent 12% 22%,#111 22% 26%,transparent 26% 38%,#111 38% 42%,transparent 42% 54%,#111 54% 58%,transparent 58% 70%,#111 70% 74%,transparent 74% 86%,#111 86% 90%,transparent 90%)}
.event-copy{flex:1}.event-copy .tag{font-size:18px;letter-spacing:.03em}.event-copy h3{font-size:clamp(25px,3vw,42px);margin:8px 0 10px;text-transform:uppercase;line-height:1.05}.event-copy p{color:#333}.event-meta{margin-top:16px}.event-mainline{font-size:clamp(23px,3vw,38px);font-weight:900;line-height:1.1;text-transform:uppercase}.event-mainline span{color:var(--red)}.event-mainline b{color:#111}.event-empty .event-copy>p{font-size:17px;margin:16px 0 0}.event-box p{color:#333}
.tag{color:var(--red);font-weight:900}
.help-card{background:#111;border:2px solid var(--red);padding:40px;text-align:center}
.big-heart{font-size:85px;color:var(--red);line-height:1}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.gallery img{display:block;width:100%;height:250px;object-fit:cover;border:5px solid #fff;box-shadow:7px 7px 0 var(--red)}

/* CTA */
.cta{background:var(--red);padding:45px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta p{margin:0}
.btn.white{background:#fff;color:#111}

/* FOOTER */
footer{background:#050505;padding:50px 0 18px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.1fr 1.4fr;gap:40px}
.footer-brand{display:flex;align-items:center;gap:17px}
.footer-brand img{width:74px;height:74px;object-fit:cover;border-radius:50%;background:#fff}
.footer-brand strong{font-size:20px}
.footer-grid h4{font-size:16px;color:#fff}
.footer-grid a{display:block;color:#ddd;margin:3px 0}
.footer-grid p{color:#aaa;margin:5px 0}
.footer-account{display:block;color:#f1262d;font-size:22px}
.copyright{text-align:center;border-top:1px solid #222;margin-top:35px;padding-top:15px;color:#777;font-size:12px}

/* MOBILE */
@media(max-width:1000px){
  .nav{gap:17px;font-size:11px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .value-grid article:nth-child(2){border-right:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .account{min-width:0}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,var(--max))}
  .nav-wrap{height:64px;width:calc(100% - 24px)}
  .brand,.brand img{width:61px;height:61px}
  .brand{flex-basis:61px;margin-top:18px}
  .menu-toggle{display:block;margin-left:auto}
  .nav{position:absolute;left:0;right:0;top:64px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#050505;padding:10px 18px;border-top:1px solid #333}
  .nav.open{display:flex}
  .nav a{border-bottom:1px solid #222;padding:12px 3px}
  .support-btn{text-align:center;border-bottom:0!important;margin-top:7px}
  .hero img{height:auto;max-height:none;aspect-ratio:2.35/1;object-fit:cover}
  .donate-inner{grid-template-columns:1fr;gap:18px;padding:26px 0 45px}
  .donate-copy{align-items:flex-start;gap:14px}
  .heart-outline{font-size:48px}
  .donate h1{font-size:25px}
  .account{justify-self:stretch;min-width:0;padding:15px 20px;transform:none}
  .account>*{transform:none}
  .account strong{font-size:29px}
  .section{padding:55px 0}
  h2{font-size:38px}
  .two-col{grid-template-columns:1fr;gap:35px}
  .photo-card{box-shadow:8px 8px 0 var(--red)}
  .photo-card img{height:250px}
  .value-grid,.cards,.gallery{grid-template-columns:1fr}
  .value-grid article{border-right:0;border-bottom:1px solid #333}
  .value-grid article:last-child{border-bottom:0}
  .gallery img{height:220px}
  .event-box,.cta-inner{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
}


@media(max-width:760px){
  .hero-design img,
  .values-design img{width:100%;height:auto}
}


/* FINAL FOUR VALUES – same content width as the site hero */
.values-new{
  width:100%;
  background:#050505;
  border-top:1px solid #262626;
  border-bottom:1px solid #262626;
}
.values-inner{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.value-item{
  min-height:245px;
  padding:34px 28px 28px;
  text-align:center;
  border-right:1px solid #333;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.value-item:last-child{border-right:0}
.value-symbol{
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  font-weight:900;
  line-height:1;
}
.value-symbol.heart,.value-symbol.plus,.value-symbol.star{
  font-size:45px;
  color:#d71920;
}
.value-symbol.hands{
  font-size:40px;
}
.value-item h3{
  font-size:21px;
  line-height:1.05;
  margin:0 0 12px;
  color:#fff;
}
.value-item h3 span{color:#d71920}
.value-item p{
  max-width:225px;
  margin:0;
  color:#ddd;
  font-size:13px;
  line-height:1.45;
}

@media(max-width:760px){
  .values-inner{
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .value-item{
    min-height:210px;
    padding:25px 14px 22px;
  }
  .value-item:nth-child(2){border-right:0}
  .value-item:nth-child(3),
  .value-item:nth-child(4){border-top:1px solid #333}
  .value-item h3{font-size:17px}
  .value-item p{font-size:12px}
  .value-symbol{height:48px}
  .value-symbol.heart,.value-symbol.plus,.value-symbol.star{font-size:35px}
  .value-symbol.hands{font-size:31px}
}


/* VALUES: exact user-provided design, placed AFTER O NÁS */
.values-reference{
  width:100%;
  background:#050505;
  border-top:1px solid #222;
  border-bottom:1px solid #222;
  overflow:hidden;
}
.values-reference-inner{
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
.values-reference-inner img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:760px){
  .values-reference-inner img{
    width:100%;
    height:auto;
  }
}


/* HERO FIX – full browser width */
.hero-design{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#050505;
  overflow:hidden;
}
.hero-design img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
}


/* MOTOSHEILA E-SHOP – Greenhorns-style structure */
.shop-section{background:#080808;padding:78px 0 70px}
.shop-intro{text-align:center;max-width:920px;margin:0 auto 45px}
.shop-intro h2{margin-top:8px}
.shop-help{font-size:20px;color:#eee;margin:0 auto 20px}
.shop-account{display:inline-flex;flex-direction:column;align-items:center;background:#c9151d;padding:15px 28px;margin-top:8px}
.shop-account span{font-size:14px;font-weight:900}
.shop-account strong{font-size:28px;line-height:1.2}
.shop-account a{text-decoration:underline;font-weight:700;margin-top:4px}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;border-bottom:1px solid #333;padding-bottom:18px}
.shop-toolbar div{display:flex;flex-direction:column}
.shop-toolbar div span{color:#aaa;font-size:14px}
.cart-button{border:0;background:#c9151d;color:#fff;padding:11px 18px;font-weight:900;cursor:pointer}
.cart-button b{background:#fff;color:#111;padding:2px 7px;border-radius:20px;margin-left:6px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{background:#fff;color:#111;overflow:hidden;border:1px solid #333}
.product-placeholder{height:220px;background:linear-gradient(135deg,#171717,#303030);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Oswald,Arial,sans-serif;font-size:28px;font-weight:900;letter-spacing:1px}
.product-info{padding:18px}
.product-info h3{font-size:23px;margin-bottom:7px}
.product-info p{color:#555;margin:0 0 15px;font-size:15px}
.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-size:14px;color:#555}
.add-product{border:0;background:#c9151d;color:#fff;padding:9px 14px;font-weight:900;cursor:pointer}
.shipping-box{margin-top:45px;padding:28px;background:#111;border:1px solid #333;display:flex;justify-content:space-between;gap:35px;align-items:center}
.shipping-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:55%}
.shipping-options div{background:#181818;border-left:4px solid #c9151d;padding:16px}
.shipping-options strong,.shipping-options span{display:block}
.shipping-options span{color:#aaa;font-size:14px;margin-top:3px}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100;display:none;padding:30px;overflow:auto}
.cart-overlay.open{display:flex;justify-content:flex-end}
.cart-panel{position:relative;background:#f3f1ee;color:#111;width:min(480px,100%);min-height:100%;padding:45px 30px;box-shadow:-10px 0 30px rgba(0,0,0,.3)}
.cart-close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:35px;cursor:pointer}
.cart-items{margin:20px 0;border-top:1px solid #ccc}
.cart-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #ccc}
.cart-row strong,.cart-row span{display:block}
.cart-row span{font-size:13px;color:#777}
.cart-row button{border:0;background:none;color:#c9151d;font-weight:700;cursor:pointer}
.empty-cart{color:#777}
.cart-shipping{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:18px 0;margin:18px 0}
.cart-shipping h3{font-size:18px}
.cart-shipping label{display:block;margin:10px 0}
.cart-total{display:flex;justify-content:space-between;font-size:21px;font-weight:900}
.checkout-btn{border:0;cursor:pointer}

@media(max-width:900px){
  .shop-grid{grid-template-columns:repeat(2,1fr)}
  .shipping-box{flex-direction:column;align-items:stretch}
  .shipping-options{min-width:0}
}
@media(max-width:760px){
  .shop-section{padding:55px 0}
  .shop-help{font-size:17px}
  .shop-account strong{font-size:24px}
  .shop-toolbar{align-items:flex-start;flex-direction:column}
  .shop-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-placeholder{height:160px;font-size:20px}
  .product-info{padding:13px}
  .product-info h3{font-size:18px}
  .product-info p{font-size:13px}
  .product-bottom{align-items:flex-start;flex-direction:column}
  .shipping-options{grid-template-columns:1fr}
}
@media(max-width:430px){
  .shop-grid{grid-template-columns:1fr}
}


/* E-SHOP PRODUCT GRID – compact cards */
.shop-grid{
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
  gap:14px !important;
}
.product-placeholder{
  height:145px !important;
  font-size:20px !important;
}
.product-info{
  padding:13px !important;
}
.product-info h3{
  font-size:18px !important;
  margin-bottom:5px !important;
}
.product-info p{
  font-size:13px !important;
  line-height:1.35 !important;
  margin-bottom:10px !important;
}
.product-bottom{
  align-items:center !important;
}
.price{
  font-size:12px !important;
}
.add-product{
  padding:7px 10px !important;
  font-size:12px !important;
}
@media(max-width:1050px){
  .shop-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  .shop-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .product-placeholder{
    height:105px !important;
    font-size:15px !important;
  }
  .product-info{
    padding:9px !important;
  }
  .product-info h3{
    font-size:15px !important;
  }
  .product-info p{
    font-size:11px !important;
  }
  .product-bottom{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .add-product{
    width:100%;
  }
}
@media(max-width:430px){
  .shop-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .product-placeholder{
    height:90px !important;
    font-size:13px !important;
  }
  .product-info h3{
    font-size:13px !important;
  }
}


/* REAL PRODUCT PHOTOS */
.product-image{
  width:100%;
  height:145px;
  background:#eee;
  overflow:hidden;
}
.product-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:760px){
  .product-image{height:105px}
}
@media(max-width:430px){
  .product-image{height:90px}
}


/* PRODUCT IMAGE LIGHTBOX */
body.lightbox-open{overflow:hidden}
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:rgba(0,0,0,.92);
}
.product-lightbox.open{display:flex}
.lightbox-content{
  max-width:min(900px,88vw);
  max-height:90vh;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.lightbox-content img{
  display:block;
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.lightbox-caption{
  width:100%;
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#fff;
  font-size:18px;
}
.lightbox-caption span{color:#ff343b;font-weight:900}
.lightbox-close,.lightbox-prev,.lightbox-next{
  position:absolute;
  z-index:2;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:34px;
  line-height:1;
}
.lightbox-close{top:20px;right:20px}
.lightbox-prev{left:20px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:20px;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#c9151d}
@media(max-width:760px){
  .product-lightbox{padding:15px}
  .lightbox-content{max-width:94vw}
  .lightbox-content img{max-height:72vh}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
  .lightbox-close{top:8px;right:8px}
  .lightbox-caption{font-size:15px}
}


/* FEATURED PHOTOS – clean cards with captions below */
.gallery-home{max-width:1240px}
.gallery-heading{margin-bottom:28px}
.featured-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.featured-photo{position:relative;background:#fff;border:1px solid #d6d6d6;box-shadow:7px 7px 0 #c9151d;cursor:zoom-in;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.featured-photo:hover{transform:translateY(-3px);box-shadow:7px 10px 0 #c9151d}
.featured-photo-image{height:245px;overflow:hidden;background:#111}
.featured-photo-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.featured-photo:hover .featured-photo-image img{transform:scale(1.035)}
.featured-caption{padding:15px 17px 16px;text-align:left;background:#fff;border-top:4px solid #d71920;font-size:19px;font-weight:900;text-transform:uppercase;color:#111}
.featured-caption span:before{content:'♥ ';color:#d71920}
.featured-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:9999;padding:30px}
.featured-lightbox.open{display:flex}
.featured-lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;box-shadow:0 0 0 4px #fff}
.featured-lightbox button{position:absolute;top:18px;right:24px;border:0;background:#d71920;color:#fff;font-size:38px;width:52px;height:52px;line-height:1;cursor:pointer}
.featured-lightbox div{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font-size:20px;font-weight:900;text-transform:uppercase}
@media(max-width:900px){.featured-gallery{grid-template-columns:repeat(3,1fr);gap:10px}.featured-photo-image{height:180px}.featured-caption{font-size:13px;padding:10px}}
@media(max-width:760px){.featured-gallery{grid-template-columns:1fr 1fr}.featured-photo-image{height:170px}}
@media(max-width:480px){.featured-gallery{grid-template-columns:1fr}.featured-photo-image{height:230px}}

.gallery-list-heading{margin:55px 0 22px;border-top:1px solid #ccc;padding-top:30px}.gallery-list-heading h3{margin-top:7px}
.gallery-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-album{background:#fff;border:1px solid #d6d6d6;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.gallery-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.gallery-modal-grid img{width:100%;height:260px;object-fit:cover;display:block;cursor:zoom-in}
@media(max-width:900px){.gallery-albums{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.gallery-albums{grid-template-columns:1fr}.gallery-album-image{height:210px}.gallery-modal{padding:10px}.gallery-modal-panel{padding:28px 14px}.gallery-modal-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-modal-grid img{height:170px}}
@media(max-width:430px){.gallery-modal-grid{grid-template-columns:1fr}}

/* CLEAN BRUSH TRANSITIONS – use the real MotoSheila brush edge */
.hero-design,
.values-reference,
#o-nas,
#vyrobky{
  position:relative;
}

/* Hero ends directly into the next section with one real brush edge. */
.hero-design::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:38px;
  background:url("assets/brush-bottom.jpg") center bottom / 100% 100% no-repeat;
  z-index:8;
  pointer-events:none;
}

/* Black values section starts with the same hand-painted edge. */
.values-reference::before,
#vyrobky::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:38px;
  background:url("assets/brush-top.jpg") center top / 100% 100% no-repeat;
  z-index:5;
  pointer-events:none;
}

/* O nás follows the values without any white/black gap. */
.values-reference::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:50px;
  background:url("assets/brush-bottom.jpg") center bottom / 100% 100% no-repeat;
  z-index:8;
  pointer-events:none;
}

#o-nas{
  margin-top:0 !important;
  border-top:0 !important;
  padding-top:82px;
}
#o-nas::before{display:none !important}

/* Keep the black shop section directly against the brush edge. */
#vyrobky{
  margin-top:0 !important;
  border-top:0 !important;
  padding-top:90px;
}

/* The hero/value/section widths stay full browser width. */
.hero-design,.values-reference,#o-nas,#vyrobky{
  width:100%;
}

@media(max-width:760px){
  .hero-design::after{height:27px}
  .values-reference::before{height:27px}
  .values-reference::after{height:34px}
  #vyrobky::before{height:27px}
  #o-nas{padding-top:60px}
  #vyrobky{padding-top:65px}
}


/* KOMU POMÁHÁME – PEOPLE CARDS */
.help-section{
  background:#050505;
  color:#fff;
  padding:82px 0 88px;
  position:relative;
}
.help-container{max-width:1240px}
.help-heading{max-width:850px;margin-bottom:35px}
.help-heading h2{
  font-size:clamp(42px,5vw,76px);
  line-height:.98;
  text-transform:uppercase;
  margin:8px 0 20px;
}
.help-heading p{font-size:18px;line-height:1.6;color:#ddd;max-width:720px}
.help-people{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.help-person{
  cursor:pointer;
  background:#111;
  border:1px solid #333;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.help-person:hover{
  transform:translateY(-4px);
  border-color:#d71920;
  box-shadow:7px 7px 0 #d71920;
}
.help-person-photo{
  height:230px;
  position:relative;
  overflow:hidden;
}
.help-person-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.help-person-photo span{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:12px;
  background:linear-gradient(transparent,rgba(0,0,0,.9));
  font-weight:900;
  color:#fff;
}
.help-person h3{
  padding:15px;
  margin:0;
  font-size:17px;
  line-height:1.15;
}
.person-modal{
  position:fixed;
  inset:0;
  z-index:300;
  display:none;
  background:rgba(0,0,0,.94);
  padding:25px;
  overflow:auto;
}
.person-modal.open{display:block}
.person-modal-panel{
  position:relative;
  width:min(1180px,100%);
  margin:20px auto;
  background:#f1efec;
  color:#111;
  padding:34px;
}
.person-modal-close{
  position:absolute;
  right:15px;top:12px;
  width:46px;height:46px;
  border:0;border-radius:50%;
  background:#c9151d;color:#fff;
  font-size:32px;cursor:pointer;
  z-index:2;
}
.person-modal-grid{
  display:grid;
  grid-template-columns:minmax(280px,420px) 1fr;
  gap:38px;
  align-items:start;
}
.person-modal-photo{
  position:sticky;
  top:20px;
}
.person-modal-photo img{
  width:100%;
  max-height:650px;
  object-fit:contain;
  display:block;
  background:#111;
}
.person-modal-story h2{
  font-size:clamp(30px,4vw,52px);
  line-height:1;
  text-transform:uppercase;
  margin:8px 0 25px;
}
.person-modal-story p{
  font-size:16px;
  line-height:1.65;
  margin:0 0 16px;
}
.person-support{
  margin-top:25px;
  padding:22px;
  background:#111;
  color:#fff;
  border-left:6px solid #d71920;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.person-support b{font-size:30px;color:#ff3138}
.person-support a{color:#fff;text-decoration:underline;font-weight:800}
@media(max-width:1050px){
  .help-people{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .help-section{padding:60px 0}
  .help-heading h2{font-size:39px}
  .help-heading p{font-size:16px}
  .help-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .help-person-photo{height:145px}
  .help-person-photo span{font-size:10px;padding:7px}
  .help-person h3{font-size:13px;padding:9px}
  .person-modal{padding:8px}
  .person-modal-panel{padding:26px 14px}
  .person-modal-grid{grid-template-columns:1fr;gap:20px}
  .person-modal-photo{position:static}
  .person-modal-photo img{max-height:55vh}
  .person-modal-story p{font-size:15px}
  .person-support b{font-size:24px}
}
@media(max-width:430px){
  .help-people{grid-template-columns:repeat(3,minmax(0,1fr))}
  .help-person-photo{height:115px}
  .help-person h3{font-size:11px}
}


/* PEOPLE PHOTO */
.help-person-photo{background:#111;overflow:hidden}
.help-person-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.person-modal-photo img{
  display:block !important;
  width:100% !important;
  max-height:75vh !important;
  object-fit:contain !important;
  margin:0 auto;
}


/* DATABASE ADMIN */
.admin-login{min-height:100vh;background:#080808;display:flex;align-items:center;justify-content:center;padding:20px}
.login-box{width:min(430px,100%);background:#f1efec;color:#111;padding:40px}
.login-box h1{font-size:45px;margin:8px 0 25px}
.login-box label{display:block;font-weight:800;margin:14px 0}
.login-box input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #bbb}
.login-error{background:#c9151d;color:#fff;padding:10px;font-weight:700}
.admin-app{display:flex;min-height:100vh;background:#f1efec;color:#111}
.admin-side{width:245px;flex:0 0 245px;background:#080808;color:#fff;padding:25px 15px;position:sticky;top:0;height:100vh}
.admin-logo{font-weight:900;font-size:24px;padding:5px 12px 25px;color:#fff}
.admin-logo small{font-size:11px;color:#d71920}
.admin-side a{display:block;padding:12px;border-bottom:1px solid #222;color:#ddd}
.admin-side a:hover{background:#c9151d;color:#fff}
.admin-main{flex:1;padding:25px;min-width:0}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}
.admin-top h1{font-size:38px}
.admin-top a{background:#c9151d;color:#fff;padding:10px 14px;font-weight:900}
.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}
.admin-cards div{background:#fff;padding:20px;border:1px solid #ddd}
.admin-cards b,.admin-cards span{display:block}
.admin-cards b{font-size:32px;color:#c9151d}
.admin-cards span{font-weight:800}
.admin-panel{background:#fff;border:1px solid #ddd;padding:25px;margin:0 0 20px;scroll-margin-top:20px}
.admin-panel iframe{width:100%;height:650px;border:1px solid #ccc;margin-top:20px;background:#fff}
.admin-red{border:0;background:#c9151d;color:#fff;padding:11px 16px;font-weight:900;cursor:pointer}
@media(max-width:800px){
  .admin-side{width:180px;flex-basis:180px}
  .admin-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .admin-app{display:block}
  .admin-side{width:100%;height:auto;position:relative}
  .admin-side a{display:inline-block;border:0;padding:8px}
  .admin-main{padding:14px}
  .admin-cards{grid-template-columns:1fr 1fr}
}

.admin-message{background:#c9151d;color:#fff;padding:12px 15px;margin-bottom:20px;font-weight:800}
.admin-input,.admin-edit input,.admin-edit textarea,.admin-panel form input,.admin-panel form textarea,.password-form input{display:block;width:100%;padding:11px;margin:8px 0;border:1px solid #ccc;background:#fff;color:#111}
.wysiwyg{min-height:180px;border:1px solid #bbb;background:#fff;padding:16px;margin:10px 0 12px;line-height:1.6;outline:none}
.wysiwyg:focus{border-color:#c9151d;box-shadow:0 0 0 2px rgba(201,21,29,.15)}
.admin-edit{margin:18px 0;padding:18px;background:#f5f3f0;border:1px solid #ddd}
.admin-list{margin-top:18px}
.admin-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #ddd}
.admin-item strong,.admin-item span{display:block}
.admin-item span{color:#666;font-size:14px;margin-top:4px}
.admin-dark{border:0;background:#222;color:#fff;padding:9px 13px;font-weight:800;margin-top:8px}
.admin-panel details{margin-top:8px}
.admin-panel summary{cursor:pointer;font-weight:800}
.password-form{max-width:520px}

/* Comfortable admin editing */
.admin-panel .editor-form {max-width:1100px}
.admin-panel .editor-form .admin-input {font-size:20px;padding:14px}
.admin-panel .wysiwyg {
  min-height:420px;
  max-height:none;
  resize:vertical;
  overflow:auto;
  font-size:18px;
  line-height:1.7;
  padding:22px;
  margin:12px 0 18px;
}
.media-box{
  margin:16px 0;
  padding:18px;
  border:1px dashed #aaa;
  background:#f7f5f2;
}
.media-box strong{display:block;font-size:17px;margin-bottom:8px}
.media-box small{display:block;color:#666;margin-bottom:10px}
.media-box input[type=file]{display:block;margin:10px 0;padding:10px;background:#fff;border:1px solid #ccc;width:100%;box-sizing:border-box}
.check-row{display:flex!important;align-items:center;gap:8px;font-weight:700!important;margin-top:10px}
.check-row input{width:auto!important;margin:0!important}
.current-media{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.current-media img{width:120px;height:90px;object-fit:cover;border:1px solid #bbb;background:#fff}
.admin-edit textarea{min-height:260px;resize:vertical}
.admin-edit input{box-sizing:border-box}

/* FINAL ADMIN EDITOR LAYOUT – full width, comfortable writing */
.admin-panel#pomahame{overflow:visible}
.admin-full-editor,
.person-admin-card{width:100%;box-sizing:border-box;margin-top:22px}
.person-admin-card{border-top:1px solid #ddd;padding-top:20px}
.person-admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:14px}
.person-admin-head strong{font-size:18px}
.person-admin-head span{color:#666}
.person-admin-card details{width:100%}
.person-admin-card summary{display:inline-block;background:#f1efec;border:1px solid #ccc;padding:12px 16px;font-size:16px;cursor:pointer;margin-bottom:16px}
.full-editor-form{width:100%;max-width:none!important;box-sizing:border-box}
.full-editor-form input[type=text],
.full-editor-form input[type=file],
.full-editor-form input:not([type]),
.full-editor-form textarea,
.admin-full-editor input:not([type]),
.admin-full-editor textarea{box-sizing:border-box;width:100%;display:block}
.full-editor-form .story-editor,
.admin-full-editor .story-editor{
  min-height:520px!important;
  width:100%!important;
  resize:vertical;
  font-size:17px;
  line-height:1.7;
  padding:20px;
  border:1px solid #bbb;
  background:#fff;
  box-sizing:border-box;
  font-family:Arial,sans-serif;
}
.field-label{display:block!important;font-weight:800!important;margin:16px 0 7px!important}
.media-box{width:100%;box-sizing:border-box}
.current-media.large img{width:220px;height:160px;object-fit:cover}
.current-media.large{display:flex;align-items:center;gap:15px}
.admin-full-editor{background:#f7f5f2;border:1px solid #ddd;padding:25px}
.admin-full-editor h3{font-size:25px;margin-top:0}
@media(max-width:700px){
 .full-editor-form .story-editor,.admin-full-editor .story-editor{min-height:380px!important}
 .person-admin-head{display:block}
 .person-admin-head span{display:block;margin-top:6px}
}

.admin-panel .editor-form .wysiwyg{
  min-height:520px!important;
  width:100%!important;
  box-sizing:border-box;
  resize:vertical;
  font-size:18px;
  line-height:1.75;
}

.person-data{display:none!important}
/* Gallery album title is always visible on the card */
.gallery-album-image{position:relative;overflow:hidden}
.gallery-open{display:block}
.gallery-open b{font-size:1.05em;letter-spacing:.02em}
.gallery-album-info h3{margin-bottom:6px}
.product-description p,.event-description p,.gallery-description p{margin:0 0 8px}.product-description ul,.event-description ul,.gallery-description ul{padding-left:20px}

/* Angels and checkout */
.angels-section{background:#fff}
.angels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.angel-card{background:#0a0a0a;color:#fff;padding:0 0 18px;cursor:pointer;overflow:hidden;border:1px solid #222}
.angel-photo{position:relative;height:260px;overflow:hidden}.angel-photo img{width:100%;height:100%;object-fit:cover;display:block}.angel-photo span{position:absolute;right:12px;bottom:12px;background:#d71920;padding:8px 12px;font-weight:900}
.angel-card h3{margin:16px 18px 6px;font-size:25px}.angel-card p{margin:0 18px;color:#ddd}
.angel-modal,.checkout-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:25px;z-index:9999}
.angel-modal.open,.checkout-modal.open{display:flex}
.angel-modal-panel,.checkout-panel{position:relative;background:#fff;max-width:1100px;width:100%;max-height:90vh;overflow:auto;padding:35px}
.angel-modal-close,.checkout-close{position:absolute;right:12px;top:8px;border:0;background:#d71920;color:#fff;font-size:30px;width:42px;height:42px;cursor:pointer}
.angel-modal-grid{display:grid;grid-template-columns:42% 58%;gap:30px}.angel-modal-photo img{width:100%;max-height:650px;object-fit:contain}.angel-modal-story{font-size:17px;line-height:1.7}
.checkout-panel{max-width:760px}.checkout-panel form label{display:block;font-weight:800;margin:12px 0}.checkout-panel input,.checkout-panel select{width:100%;padding:12px;border:1px solid #aaa;margin-top:6px;font:inherit}.checkout-panel .two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.checkout-note{background:#f2efeb;padding:14px}
@media(max-width:800px){.angels-grid{grid-template-columns:1fr 1fr}.angel-modal-grid{grid-template-columns:1fr}.checkout-panel .two-col{grid-template-columns:1fr}}
@media(max-width:520px){.angels-grid{grid-template-columns:1fr}}

@media(max-width:800px){.event-box .event-poster{flex-basis:auto}}

.terms-content{max-width:1000px;margin:0 auto;padding-top:40px;padding-bottom:60px}.terms-content h1{font-size:56px;margin:10px 0 35px}.terms-content h2{font-size:28px;margin:35px 0 12px}.terms-content p{font-size:17px;line-height:1.75}.copyright a{color:inherit;text-decoration:underline}

.event-poster img{max-width:100%;max-height:420px;object-fit:contain;display:block}.event-box .event-poster{flex:0 0 320px}

@media(max-width:800px){.events-section{padding-top:48px;padding-bottom:58px}.events-title{font-size:64px;margin-bottom:24px}.event-box{padding:26px 22px;flex-direction:column;align-items:flex-start;gap:20px;margin-top:24px}.event-box .event-poster{flex-basis:auto;width:100%}.event-poster img{width:100%;max-height:360px}.event-mainline{font-size:26px}.event-copy .tag{font-size:15px}}

/* MotoSheila – refined Events section */
.events-section{padding-top:52px;padding-bottom:68px}
.events-title{display:none}
.event-box{margin-top:0;padding:30px 34px;border-left:8px solid var(--red);min-height:0}
.event-mainline{font-size:clamp(22px,2.2vw,32px);line-height:1.15;letter-spacing:-.02em}
.event-mainline span{font-weight:900}
.event-mainline b{font-weight:900}
.event-empty .event-copy>p{font-size:16px;margin:12px 0 0}
.event-box:before{bottom:-10px;height:10px}
@media(max-width:800px){.events-section{padding-top:36px;padding-bottom:52px}.event-box{padding:24px 20px}.event-mainline{font-size:22px}.event-empty .event-copy>p{font-size:15px}}

/* MICHAL UPDATE – events, gallery, angels and shop layout */
.events-section{padding-top:58px;padding-bottom:70px}
.events-heading{font-size:clamp(34px,4vw,58px);margin:8px 0 8px;color:#111}
.events-intro{margin:0 0 28px;color:#444;font-size:17px}
.events-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.event-card{background:#fff;border:1px solid #d6d6d6;box-shadow:7px 7px 0 var(--red);cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.event-card:hover{transform:translateY(-4px);box-shadow:9px 10px 0 var(--red)}
.event-card-poster{aspect-ratio:1/1;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}
.event-card-poster img{width:100%;height:100%;object-fit:contain;display:block;background:#111}
.event-no-poster{color:#fff;text-align:center;font-weight:900;font-size:20px;line-height:1.1}
.event-card-info{padding:14px 15px 16px}
.event-card-info h3{font-size:20px;margin:0 0 7px;color:#111;line-height:1.08}
.event-card-date{font-size:14px;font-weight:800;color:var(--red);margin:0}
.event-empty-card{background:#fff;border-left:7px solid var(--red);padding:24px 26px;display:flex;flex-direction:column;gap:7px;color:#111;box-shadow:7px 7px 0 rgba(0,0,0,.08)}
.event-empty-card strong{font-size:24px}.event-empty-card span{color:#444}
.event-modal{position:fixed;inset:0;z-index:10000;display:none;background:rgba(0,0,0,.9);padding:20px;overflow:auto}
.event-modal.open{display:block}
.event-modal-panel{position:relative;width:min(1150px,100%);margin:20px auto;background:var(--paper);color:#111;padding:34px;box-sizing:border-box}
.event-modal-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:var(--red);color:#fff;font-size:30px;cursor:pointer;z-index:2}
.event-modal-grid{display:grid;grid-template-columns:minmax(280px,46%) 1fr;gap:34px;align-items:start}
.event-modal-poster{background:#111;display:flex;align-items:center;justify-content:center;min-height:300px}
.event-modal-poster img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain}
.event-modal-story{padding-top:6px;font-size:17px;line-height:1.7;min-width:0}
.event-modal-story h2{font-size:clamp(30px,4vw,52px);margin:8px 0 10px}
.event-modal-meta{font-weight:900;color:var(--red);margin:0 0 22px}

/* Gallery albums are compact square cards, not full-width banners. */
.gallery-albums{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.gallery-album{box-shadow:6px 6px 0 var(--red);overflow:hidden}
.gallery-album-image{aspect-ratio:1/1;height:auto!important;background:#111}
.gallery-album-image img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-open{position:absolute;left:0;right:0;bottom:0;padding:11px 12px;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff;font-size:13px;font-weight:800}
.gallery-album-info{padding:13px 15px;background:#fff}
.gallery-album-info h3{font-size:19px;margin:0;color:#111}
.gallery-description{font-size:14px;color:#555;margin-top:5px}

/* Angels: show complete portrait/photo in preview and keep mobile modal inside viewport. */
.angel-photo{height:260px;background:#111;display:flex;align-items:center;justify-content:center}
.angel-photo img{width:100%;height:100%;object-fit:contain!important;background:#111}
body.lightbox-open{overflow:hidden}
.angel-modal{padding:12px;overflow:auto;box-sizing:border-box}
.angel-modal-panel{width:min(1080px,100%);max-height:calc(100vh - 24px);overflow:auto;box-sizing:border-box;padding:28px}
.angel-modal-grid{grid-template-columns:minmax(260px,42%) minmax(0,58%);align-items:start}
.angel-modal-photo{display:flex;align-items:flex-start;justify-content:center;background:#111;max-height:calc(100vh - 110px);overflow:hidden}
.angel-modal-photo img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(100vh - 110px)!important;object-fit:contain!important}

/* Delivery note is intentionally subtle and sits above the products. */
.shipping-note{margin:8px 0 22px;color:#aaa;font-size:14px}
.shipping-note strong{color:#ddd}
.shipping-box{display:none!important}

@media(max-width:1050px){
  .events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-albums{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .event-card{box-shadow:5px 5px 0 var(--red)}
  .event-card-info{padding:10px 11px 12px}
  .event-card-info h3{font-size:15px}
  .event-card-date{font-size:12px}
  .events-heading{font-size:34px}
  .events-intro{font-size:15px}
  .event-modal{padding:6px}
  .event-modal-panel{margin:6px auto;padding:48px 14px 18px;max-height:calc(100vh - 12px);overflow:auto}
  .event-modal-grid{grid-template-columns:1fr;gap:20px}
  .event-modal-poster{min-height:0;max-height:58vh}
  .event-modal-poster img{max-height:58vh;width:auto;max-width:100%}
  .event-modal-story h2{font-size:34px}
  .gallery-albums{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .gallery-album{box-shadow:4px 4px 0 var(--red)}
  .gallery-open{font-size:10px;padding:7px}
  .gallery-album-info{padding:8px 9px}
  .gallery-album-info h3{font-size:13px}
  .gallery-description{font-size:11px}
  .angel-photo{height:180px}
  .angel-modal{padding:4px}
  .angel-modal-panel{margin:4px auto;max-height:calc(100vh - 8px);padding:48px 12px 18px}
  .angel-modal-grid{grid-template-columns:1fr;gap:16px}
  .angel-modal-photo{max-height:48vh}
  .angel-modal-photo img{max-height:48vh!important;max-width:100%!important}
  .angel-modal-story{font-size:15px;line-height:1.6}
}
@media(max-width:430px){
  .events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .event-card-info h3{font-size:13px}
  .gallery-albums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .angel-photo{height:150px}
}

/* ===== MotoSheila final layout corrections ===== */

/* Events: compact cards like angels */
.events-section{padding:64px 0}
.events-heading{margin-bottom:26px}
.events-heading h2{margin:6px 0 0;font-size:clamp(34px,5vw,64px);line-height:1.02;font-weight:800}
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.event-card{background:#fff;border:1px solid #ddd;box-shadow:8px 8px 0 #d71920;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;max-width:340px}
.event-card:hover{transform:translateY(-3px);box-shadow:8px 11px 0 #d71920}
.event-card-poster{width:100%;height:330px;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}
.event-card-poster img{width:100%;height:100%;object-fit:contain;display:block}
.event-card-info{padding:16px 18px 18px}
.event-card-info h3{margin:0 0 7px;font-size:24px;line-height:1.08;color:#111}
.event-card-date{margin:0;font-weight:800;color:#d71920;font-size:16px}
.event-card-location{margin:4px 0 0;color:#555}
.event-empty-clean{background:#fff;border-left:7px solid #d71920;padding:28px 30px;box-shadow:8px 8px 0 #ddd}
.event-empty-clean strong{font-size:22px}
.event-empty-clean p{margin:8px 0 0}

/* Event detail modal */
.event-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:10000;display:none;align-items:center;justify-content:center;padding:24px;overflow:auto}
.event-modal.open{display:flex}
.event-modal-panel{position:relative;background:#fff;width:min(1120px,96vw);max-height:92vh;overflow:auto;padding:24px;box-shadow:12px 12px 0 #d71920}
.event-modal-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:#d71920;color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:2}
.event-modal-grid{display:grid;grid-template-columns:minmax(300px,43%) 1fr;gap:30px;align-items:start;padding-top:10px}
.event-modal-poster{background:#111;display:flex;align-items:center;justify-content:center;min-height:520px}
.event-modal-poster img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;display:block}
.event-modal-story{padding:16px 26px 20px 0;color:#111}
.event-modal-story h2{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:8px 0 10px}
.event-modal-meta{font-weight:800;color:#d71920;margin:0 0 20px}
.event-modal-story p{line-height:1.7}
.event-modal-story ul,.event-modal-story ol{padding-left:22px}

/* People we help: 35% larger photos */
.help-people{grid-template-columns:repeat(3,minmax(0,1fr))}
.help-person-photo{aspect-ratio:4/3}
.help-person-photo img{width:100%;height:100%;object-fit:cover}
.person-modal{padding:18px;overflow-y:auto}
.person-modal-panel{width:min(1080px,96vw);max-height:92vh;overflow:auto}
.person-modal-grid{grid-template-columns:minmax(300px,44%) 1fr;gap:28px}
.person-modal-photo{display:flex;align-items:center;justify-content:center;background:#111;min-height:360px;overflow:hidden}
.person-modal-photo img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain}
.person-modal-story{overflow-wrap:anywhere;min-width:0}
.person-modal-story p{line-height:1.7}

/* Angels: whole image in card + safe mobile modal */
.angels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.angel-photo{aspect-ratio:4/3;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}
.angel-photo img{width:100%;height:100%;object-fit:contain!important}
.angel-modal{padding:16px;overflow-y:auto;overflow-x:hidden}
.angel-modal-panel{width:min(980px,96vw);max-height:92vh;overflow:auto}
.angel-modal-grid{grid-template-columns:minmax(260px,44%) 1fr;gap:26px;align-items:start}
.angel-modal-photo{background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:320px}
.angel-modal-photo img{max-width:100%;max-height:76vh;width:auto;height:auto;object-fit:contain}
.angel-modal-story{min-width:0;overflow-wrap:anywhere;padding-right:10px}
.angel-modal-story h2{margin:8px 0 14px}
.angel-modal-story p{line-height:1.7}

/* Static three photos are a visual intro; actual photo albums remain below as Fotogalerie */
.featured-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.featured-photo{min-width:0}
.featured-photo-image{aspect-ratio:4/3;overflow:hidden}
.featured-photo-image img{width:100%;height:100%;object-fit:cover}
.gallery-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-album{max-width:330px}
.gallery-album-image{aspect-ratio:1/1;overflow:hidden}
.gallery-album-image img{width:100%;height:100%;object-fit:cover}
.gallery-modal{padding:16px;overflow-y:auto;overflow-x:hidden}
.gallery-modal-panel{width:min(1100px,96vw);max-height:92vh;overflow:auto}
.gallery-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gallery-modal-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}

/* Keep every modal inside mobile viewport */
body.lightbox-open,body.modal-open{overflow:hidden}
@media(max-width:800px){
  .events-section{padding:42px 0}
  .events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .event-card{max-width:none}
  .event-card-poster{height:260px}
  .event-card-info h3{font-size:20px}
  .event-modal{padding:8px}
  .event-modal-panel{width:100%;max-height:94vh;padding:12px}
  .event-modal-grid{grid-template-columns:1fr;gap:16px;padding-top:45px}
  .event-modal-poster{min-height:0;max-height:55vh}
  .event-modal-poster img{max-height:55vh}
  .event-modal-story{padding:0 8px 18px}
  .help-people,.angels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .person-modal-panel,.angel-modal-panel,.gallery-modal-panel{width:100%;max-height:94vh}
  .person-modal-grid,.angel-modal-grid{grid-template-columns:1fr;gap:16px}
  .person-modal-photo,.angel-modal-photo{min-height:0;max-height:52vh}
  .person-modal-photo img,.angel-modal-photo img{max-height:52vh}
  .featured-gallery,.gallery-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .gallery-album{max-width:none}
  .gallery-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:520px){
  .events-grid,.help-people,.angels-grid,.featured-gallery,.gallery-albums{grid-template-columns:1fr}
  .event-card-poster{height:300px}
  .event-modal-poster img{max-height:48vh}
  .person-modal-photo,.angel-modal-photo{max-height:45vh}
  .person-modal-photo img,.angel-modal-photo img{max-height:45vh}
  .gallery-modal-grid{grid-template-columns:1fr}
}

/* Mobile: preserve complete wide artwork instead of cropping it */
@media (max-width: 800px) {
  .hero img,
  .hero-image img,
  .hero-media img,
  .values-image img,
  .hero-banner img {
    object-fit: contain !important;
    object-position: center center !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }
}
@media (max-width: 520px) {
  .hero img,
  .hero-image img,
  .hero-media img,
  .values-image img,
  .hero-banner img {
    object-fit: contain !important;
    object-position: center center !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* Word-like controls in the full-web visual editor */
.visual-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.visual-select{
  height:38px;
  min-width:115px;
  padding:0 9px;
  border:2px solid #111;
  background:#fff;
  color:#111;
  font-weight:700;
  cursor:pointer;
}
.visual-select:focus{outline:2px solid #d71920}
.visual-toolbar button{min-height:38px}

/* Our hymn below the O nás photo */
.about-media{display:flex;flex-direction:column;gap:34px}
.hymn-player{
  background:#050505;
  border-left:5px solid #d71920;
  padding:16px 18px;
  color:#fff;
}
.hymn-label{font-size:13px;font-weight:900;color:#d71920;letter-spacing:.08em}
.hymn-title{font-size:20px;font-weight:900;margin:3px 0 10px}
.hymn-player audio{display:block;width:100%;max-width:520px;height:42px}

/* Gallery lightbox: no large title block above photos */
.gallery-modal{align-items:flex-start;padding-top:34px}
.gallery-modal-panel{padding:18px!important}
.gallery-modal-grid{margin-top:0!important}
.gallery-modal-close{z-index:3}

/* Keep gallery modal compact on mobile */
@media(max-width:600px){
  .gallery-modal{padding:8px}
  .gallery-modal-panel{padding:12px!important}
  .hymn-player{padding:13px}
  .hymn-title{font-size:18px}
}


/* FINAL GALLERY LIGHTBOX REPAIR */
.gallery-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:50000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:100vw !important;
  height:100vh !important;
  padding:24px !important;
  background:rgba(0,0,0,.90) !important;
  overflow:auto !important;
}
.gallery-modal.open{
  display:flex !important;
}
.gallery-modal-panel{
  position:relative !important;
  width:min(1180px,96vw) !important;
  max-width:1180px !important;
  max-height:92vh !important;
  margin:0 auto !important;
  padding:58px 24px 24px !important;
  box-sizing:border-box !important;
  background:#111 !important;
  border:1px solid #333 !important;
  overflow:auto !important;
  box-shadow:0 15px 50px rgba(0,0,0,.55) !important;
}
.gallery-modal-close{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#d71920 !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:900 !important;
  line-height:44px !important;
  text-align:center !important;
  cursor:pointer !important;
  z-index:10 !important;
}
.gallery-modal-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  margin:0 !important;
}
.gallery-modal-grid img{
  width:100% !important;
  height:auto !important;
  max-height:70vh !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block !important;
  background:#050505 !important;
  cursor:zoom-in !important;
}
@media(max-width:800px){
  .gallery-modal{padding:8px !important;align-items:flex-start !important}
  .gallery-modal-panel{
    width:100% !important;
    max-width:none !important;
    max-height:96vh !important;
    margin:8px 0 0 !important;
    padding:62px 10px 12px !important;
  }
  .gallery-modal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .gallery-modal-grid img{
    max-height:48vh !important;
  }
}
@media(max-width:430px){
  .gallery-modal-grid{grid-template-columns:1fr !important}
  .gallery-modal-grid img{max-height:65vh !important}
}

/* QR donation box – compact */
.donate-qr-panel{
  width:min(390px,calc(100vw - 32px)) !important;
  max-width:390px !important;
  padding:26px 24px 24px !important;
  box-sizing:border-box !important;
}
.donate-qr-panel h2{
  font-size:clamp(28px,5vw,42px) !important;
  line-height:1.02 !important;
  margin:8px 0 12px !important;
}
.donate-qr-account{font-size:23px !important;margin:4px 0 12px !important}
.donate-qr-code{
  min-height:0 !important;
  width:max-content !important;
  padding:8px !important;
  margin:10px auto !important;
}
.donate-qr-code img{display:block !important;width:190px !important;height:190px !important}
.donate-qr-note{margin:10px auto !important;line-height:1.35 !important}
.donate-qr-panel .btn{font-size:14px !important;padding:12px 16px !important}
@media(max-width:600px){
  .donate-qr-panel{width:min(340px,calc(100vw - 24px)) !important;padding:22px 16px 18px !important}
  .donate-qr-panel h2{font-size:30px !important}
  .donate-qr-account{font-size:21px !important}
  .donate-qr-code img{width:165px !important;height:165px !important}
}

.footer-org{margin-top:14px;line-height:1.6;font-size:14px}.footer-org strong{color:#fff}


/* =========================================================
   MOBILE FINAL POLISH – MotoSheila
   ========================================================= */
.mobile-support-btn{display:none}

.menu-label{display:none}

/* Mobile header: support in the middle + labelled hamburger */
@media(max-width:760px){
  .site-header{position:relative;z-index:100}
  .nav-wrap{
    height:64px !important;
    width:100% !important;
    padding:0 10px !important;
    box-sizing:border-box;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .brand,.brand img{
    width:58px !important;height:58px !important;
  }
  .brand{margin-top:0 !important;flex:0 0 58px !important}
  .mobile-support-btn{
    display:flex !important;
    align-items:center;
    justify-content:center;
    background:#d71920;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px;
    line-height:1;
    font-weight:900;
    padding:10px 10px;
    min-height:34px;
    box-sizing:border-box;
    margin:0 auto;
    white-space:nowrap;
  }
  .menu-toggle{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 3px !important;
    width:48px !important;
    height:56px !important;
    color:#fff !important;
    line-height:1 !important;
  }
  .menu-icon{font-size:26px;line-height:24px}
  .menu-label{
    display:block !important;
    font-size:9px;
    font-weight:900;
    letter-spacing:.5px;
    margin-top:3px;
  }

  /* Prevent the mobile hero/banner from cropping its top edge. */
  .hero img,
  .hero-design img,
  .values-design img,
  .values-reference-inner img{
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  /* Compact section headings */
  .events-section{padding-top:42px !important;padding-bottom:48px !important}
  .events-heading{
    font-size:0 !important;
    margin:0 0 22px !important;
    line-height:1.05 !important;
  }
  .events-heading .eyebrow{font-size:18px !important;display:inline !important;margin:0 !important}
  .events-heading h2{
    display:inline !important;
    font-size:29px !important;
    line-height:1.08 !important;
    letter-spacing:-.6px !important;
    margin:0 !important;
  }
  .events-heading h2:before{content:" • ";white-space:pre}
  .events-grid{grid-template-columns:1fr !important;gap:18px !important}
  .event-card{box-shadow:5px 5px 0 var(--red) !important}
  .event-card-poster{aspect-ratio:1/1 !important}
  .event-card-info{padding:12px 13px 14px !important}

  /* Help cards: compact, image-first */
  .help-heading{margin-bottom:24px !important}
  .help-heading h2{
    font-size:34px !important;
    line-height:1.02 !important;
    letter-spacing:-.5px !important;
    margin:7px 0 14px !important;
  }
  .help-heading p{font-size:15px !important;line-height:1.45 !important}
  .help-people{grid-template-columns:1fr !important;gap:14px !important}
  .help-person{display:block !important;padding:0 !important;max-height:none !important}
  .help-person-photo{
    height:auto !important;
    aspect-ratio:1.25/1 !important;
    max-height:none !important;
  }
  .help-person-photo img{object-fit:contain !important;background:#111 !important}
  .help-person-photo span{padding:10px !important;font-size:13px !important}
  .help-person h3{padding:11px 13px !important;font-size:18px !important}

  /* Angels: compact cards with much larger photos */
  .angels-section{padding-top:48px !important}
  .angels-section > .container > .eyebrow{
    font-size:19px !important;
    line-height:1.05 !important;
    display:block !important;
    max-width:330px !important;
  }
  .angels-section > .container > h2{
    font-size:32px !important;
    line-height:1.03 !important;
    letter-spacing:-.5px !important;
    margin:7px 0 20px !important;
  }
  .angels-grid{grid-template-columns:1fr !important;gap:16px !important;margin-top:20px !important}
  .angel-card{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    padding:0 0 12px !important;
  }
  .angel-photo{
    height:auto !important;
    aspect-ratio:1.55/1 !important;
    max-height:none !important;
  }
  .angel-photo img{object-fit:contain !important;background:#111 !important}
  .angel-photo span{
    left:auto !important;
    right:10px !important;
    bottom:10px !important;
    padding:8px 11px !important;
    font-size:12px !important;
  }
  .angel-card h3{margin:11px 13px 4px !important;font-size:21px !important}
  .angel-card p{margin:0 13px !important;font-size:14px !important;line-height:1.35 !important}

  /* Order modal: all labels/text readable on white */
  .checkout-modal{padding:8px !important;align-items:flex-start !important}
  .checkout-panel{
    width:100% !important;
    max-width:none !important;
    max-height:96vh !important;
    margin:0 !important;
    padding:54px 18px 24px !important;
    background:#fff !important;
    color:#111 !important;
  }
  .checkout-panel h2,.checkout-panel h3,.checkout-panel p,.checkout-panel label,
  .checkout-panel span,.checkout-panel strong,.checkout-panel div{color:#111 !important}
  .checkout-panel input,.checkout-panel select,.checkout-panel textarea{
    color:#111 !important;
    background:#fff !important;
    -webkit-text-fill-color:#111 !important;
  }
  .checkout-panel input::placeholder,.checkout-panel textarea::placeholder{color:#777 !important;opacity:1 !important}

  /* Footer: IČO clearly visible */
  .footer-org{display:block !important;color:#aaa !important;margin-top:12px !important;font-size:14px !important;line-height:1.5 !important}
  .footer-org strong{color:#fff !important}

  /* General mobile image safety */
  .featured-photo-image img,
  .gallery-album-image img,
  .photo-card img{object-fit:contain !important;height:auto !important;max-height:none !important}
}


/* MOBILE FIX – 4 VALUES STRIP: never crop the top/bottom of the source image */
@media(max-width:760px){
  .values-reference,
  .values-reference-inner{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .values-reference-inner img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:initial !important;
    object-position:initial !important;
  }
  .values-design{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .values-design img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:initial !important;
    object-position:initial !important;
  }
}

/* MOBILE FINAL FIX – the brush pseudo-element was covering the TOP of the 4-values image */
@media(max-width:760px){
  .values-reference::before{
    display:none !important;
    content:none !important;
  }
  .values-reference{
    padding-top:0 !important;
    margin-top:0 !important;
    overflow:visible !important;
    border-top:0 !important;
  }
  .values-reference-inner{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  .values-reference-inner img{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:auto !important;
    transform:none !important;
  }
}

.footer-admin-btn{
  display:inline-block;
  margin-top:14px;
  padding:9px 14px;
  background:#d71920;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  border:1px solid #d71920;
}
.footer-admin-btn:hover{background:#b9141a;color:#fff !important}
@media(max-width:760px){
  .footer-admin-btn{margin-top:14px;padding:9px 13px;font-size:11px}
}

.contact-cta{padding:70px 0;background:#111;color:#fff}.contact-cta .container{max-width:980px}.contact-cta-heading{max-width:850px}.contact-cta-heading .eyebrow{color:#d71920}.contact-cta-heading h2{color:#fff;margin:8px 0 16px}.contact-cta-heading p{color:#ddd;font-size:18px;line-height:1.6}.contact-cta-phone a{color:#fff;text-decoration:none;font-weight:900}.public-contact-form{margin-top:28px;background:#fff;padding:28px;border-left:6px solid #d71920;color:#111}.public-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-contact-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:14px}.public-contact-grid label.full{grid-column:1/-1}.public-contact-grid input,.public-contact-grid textarea{width:100%;box-sizing:border-box;border:1px solid #bbb;background:#fff;color:#111;padding:12px;font:inherit}.public-contact-grid textarea{resize:vertical;min-height:150px}.public-contact-form .contact-submit{margin-top:18px;border:0;cursor:pointer}.contact-form-alert{margin-top:20px;padding:15px 18px;font-weight:700}.contact-form-alert.success{background:#fff;color:#111;border-left:6px solid #21a366}.contact-form-alert.error{background:#fff;color:#111;border-left:6px solid #d71920}.cf-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}@media(max-width:760px){.contact-cta{padding:48px 0}.public-contact-form{padding:18px}.public-contact-grid{grid-template-columns:1fr}.public-contact-grid label.full{grid-column:auto}}

/* GALLERY FINAL – preserve original photo proportions */
.gallery-album-image,
.gallery-modal-grid{
  background:#111;
}
.gallery-album-image img{
  object-fit:contain !important;
  object-position:center !important;
  background:#111;
}
.gallery-modal-grid img{
  aspect-ratio:auto !important;
  height:auto !important;
  max-height:280px;
  object-fit:contain !important;
  background:#111;
  cursor:zoom-in;
}
.gallery-photo-lightbox{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:30px;
  box-sizing:border-box;
  background:rgba(0,0,0,.94);
}
.gallery-photo-lightbox.open{display:flex}
.gallery-photo-lightbox img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:94vw !important;
  max-height:86vh !important;
  object-fit:contain !important;
  box-shadow:0 8px 40px rgba(0,0,0,.55);
}
.gallery-photo-lightbox-close{
  position:absolute;
  top:18px;
  right:22px;
  z-index:2;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:#d71920;
  color:#fff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
#galleryPhotoLightboxCaption{
  color:#fff;
  font-size:16px;
  margin-top:12px;
  text-align:center;
  max-width:90vw;
}
@media(max-width:760px){
  .gallery-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
  .gallery-modal-grid img{max-height:220px !important}
  .gallery-photo-lightbox{padding:14px}
  .gallery-photo-lightbox img{max-width:96vw !important;max-height:84vh !important}
  .gallery-photo-lightbox-close{top:10px;right:10px;width:42px;height:42px;font-size:28px}
}

/* GALLERY HARD FIX 2 – never stretch/crop gallery images; photo lightbox is above gallery modal */
.gallery-album-image{display:flex !important;align-items:center !important;justify-content:center !important;background:#111 !important;overflow:hidden !important}
.gallery-album-image img{width:auto !important;height:auto !important;max-width:100% !important;max-height:100% !important;object-fit:contain !important;object-position:center !important;display:block !important;margin:auto !important}
.gallery-modal-grid img{width:auto !important;height:auto !important;max-width:100% !important;max-height:70vh !important;aspect-ratio:auto !important;object-fit:contain !important;object-position:center !important;display:block !important;margin:auto !important;background:#050505 !important}
.gallery-photo-lightbox{position:fixed !important;inset:0 !important;z-index:60000 !important;width:100vw !important;height:100vh !important;display:none !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;box-sizing:border-box !important;padding:20px !important;background:rgba(0,0,0,.96) !important;overflow:hidden !important}
.gallery-photo-lightbox.open{display:flex !important}
.gallery-photo-lightbox img{width:auto !important;height:auto !important;max-width:96vw !important;max-height:88vh !important;object-fit:contain !important;object-position:center !important;display:block !important;margin:auto !important}
.gallery-photo-lightbox-close{position:absolute !important;top:14px !important;right:14px !important;z-index:60001 !important;width:48px !important;height:48px !important;background:#d71920 !important;color:#fff !important;border:0 !important;font-size:32px !important;line-height:48px !important;cursor:pointer !important}
#galleryPhotoLightboxCaption{position:absolute !important;left:20px !important;right:20px !important;bottom:12px !important;color:#fff !important;text-align:center !important;font-size:15px !important;text-shadow:0 1px 3px #000 !important}
@media(max-width:760px){
  .gallery-album-image{min-height:180px !important}
  .gallery-modal-grid img{max-height:42vh !important}
  .gallery-photo-lightbox{padding:10px !important}
  .gallery-photo-lightbox img{max-width:96vw !important;max-height:84vh !important}
}


/* GALLERY DEFINITIVE FIX – thumbnails keep aspect ratio, viewer is a top-level fullscreen overlay */
.gallery-modal-grid .gallery-photo-thumb{
  width:100% !important;
  height:260px !important;
  min-width:0 !important;
  background:#050505 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  cursor:zoom-in !important;
}
.gallery-modal-grid .gallery-photo-thumb img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  cursor:zoom-in !important;
}
.gallery-photo-lightbox{
  position:fixed !important;
  left:0 !important; top:0 !important; right:0 !important; bottom:0 !important;
  width:100vw !important; height:100vh !important;
  z-index:2147483647 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  padding:70px 20px 55px !important;
  box-sizing:border-box !important;
  background:rgba(0,0,0,.97) !important;
  overflow:hidden !important;
}
.gallery-photo-lightbox.open{display:flex !important}
.gallery-photo-lightbox img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:94vw !important;
  max-height:calc(100vh - 125px) !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.15) !important;
}
.gallery-photo-lightbox-close{
  position:absolute !important;
  top:15px !important; right:15px !important;
  z-index:2147483647 !important;
  width:48px !important; height:48px !important;
  min-width:48px !important; padding:0 !important; margin:0 !important;
  border:0 !important; border-radius:0 !important;
  background:#d71920 !important; color:#fff !important;
  font-size:32px !important; line-height:48px !important;
  text-align:center !important; cursor:pointer !important;
}
#galleryPhotoLightboxCaption{
  position:absolute !important;
  left:20px !important; right:20px !important; bottom:15px !important;
  color:#fff !important; text-align:center !important;
  font-size:15px !important; font-weight:700 !important;
  text-shadow:0 1px 4px #000 !important;
}
@media(max-width:760px){
  .gallery-modal-grid .gallery-photo-thumb{height:220px !important}
  .gallery-photo-lightbox{padding:60px 8px 48px !important}
  .gallery-photo-lightbox img{max-width:96vw !important;max-height:calc(100vh - 108px) !important}
  .gallery-photo-lightbox-close{top:8px !important;right:8px !important;width:42px !important;height:42px !important;min-width:42px !important;line-height:42px !important;font-size:28px !important}
}

/* GALLERY PORTRAIT FIX: never force photos into a square */
.gallery-modal-grid .gallery-photo-thumb{
  width:100% !important;
  height:auto !important;
  min-height:180px !important;
  aspect-ratio:auto !important;
  background:#050505 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:0 !important;
}
.gallery-modal-grid .gallery-photo-thumb img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:320px !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  flex:0 0 auto !important;
}
@media(max-width:760px){
  .gallery-modal-grid .gallery-photo-thumb{min-height:140px !important}
  .gallery-modal-grid .gallery-photo-thumb img{max-height:280px !important}
}

/* Checkout desktop: keep field labels visible on the white order panel */
.checkout-panel{color:#111 !important;background:#fff !important}
.checkout-panel form label{color:#111 !important}
.checkout-panel .two-col label{color:#111 !important}
.checkout-panel .checkout-note{color:#111 !important}
.checkout-panel input,.checkout-panel select,.checkout-panel textarea{color:#111 !important;background:#fff !important;-webkit-text-fill-color:#111 !important}
.checkout-panel input::placeholder,.checkout-panel textarea::placeholder{color:#777 !important;opacity:1 !important}
.checkout-panel .eyebrow{color:#d71920 !important}
.checkout-panel h2{color:#111 !important}

/* O NÁS – klikací fotografie a fullscreen zvětšení */
.about-photo-clickable{position:relative;cursor:zoom-in}
.about-photo-clickable:focus{outline:3px solid #d71920;outline-offset:4px}
.about-photo-zoom{
  position:absolute;
  right:12px;
  bottom:12px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(0,0,0,.78);
  color:#fff;
  font-size:28px;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.about-photo-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.96);
  padding:30px;
  box-sizing:border-box;
}
.about-photo-lightbox.open{display:flex !important}
.about-photo-lightbox img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:94vw !important;
  max-height:90vh !important;
  object-fit:contain !important;
}
.about-photo-lightbox button{
  position:absolute !important;
  top:15px !important;
  right:15px !important;
  z-index:2147483647 !important;
  width:48px !important;
  height:48px !important;
  border:0 !important;
  background:#d71920 !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:48px !important;
  cursor:pointer !important;
}
@media(max-width:760px){
  .about-photo-lightbox{padding:55px 8px 20px !important}
  .about-photo-lightbox img{max-width:96vw !important;max-height:86vh !important}
  .about-photo-lightbox button{top:8px !important;right:8px !important;width:42px !important;height:42px !important;line-height:42px !important;font-size:28px !important}
}

/* Tvoříme budoucnost */
.future-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:16px;z-index:10000;overflow:auto}.future-modal.open{display:flex}.future-modal-panel{position:relative;background:#fff;width:min(1080px,96vw);max-height:92vh;overflow:auto;padding:28px}.future-modal-close{position:absolute;right:12px;top:8px;border:0;background:#d71920;color:#fff;font-size:30px;width:42px;height:42px;cursor:pointer;z-index:2}.future-modal-grid{display:grid;grid-template-columns:minmax(260px,44%) minmax(0,56%);gap:28px;align-items:start}.future-modal-photo{background:#111;display:flex;align-items:center;justify-content:center;min-height:320px;max-height:calc(92vh - 90px);overflow:hidden}.future-modal-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 90px);object-fit:contain}.future-modal-story{min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.7;padding:5px 8px}.future-modal-story h2{margin:8px 0 14px}.featured-caption small{display:block;margin-top:7px;font-size:14px;font-weight:500;text-transform:none;color:#333}@media(max-width:800px){.future-modal{padding:6px}.future-modal-panel{width:100%;max-height:96vh;padding:48px 14px 18px}.future-modal-grid{grid-template-columns:1fr;gap:16px}.future-modal-photo{min-height:0;max-height:48vh}.future-modal-photo img{max-height:48vh;max-width:100%}.future-modal-story{font-size:15px;line-height:1.6}}

/* Tvoříme budoucnost – stabilní modal */
.future-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;box-sizing:border-box!important;background:rgba(0,0,0,.82)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:2147483000!important;overflow:auto!important;}
.future-modal.open{display:flex!important;}
.future-modal-panel{position:relative!important;box-sizing:border-box!important;background:#fff!important;width:min(1080px,96vw)!important;max-width:1080px!important;max-height:92vh!important;overflow:auto!important;padding:28px!important;margin:auto!important;}
.future-modal-grid{display:grid!important;grid-template-columns:minmax(260px,44%) minmax(0,56%)!important;gap:28px!important;align-items:start!important;}
.future-modal-photo{background:#111!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:320px!important;max-height:calc(92vh - 90px)!important;overflow:hidden!important;}
.future-modal-photo img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(92vh - 90px)!important;object-fit:contain!important;}
.future-modal-story{min-width:0!important;overflow-wrap:anywhere!important;font-size:17px!important;line-height:1.7!important;padding:5px 8px!important;color:#111!important;}
.future-modal-story *{max-width:100%;box-sizing:border-box;}
.future-modal-close{position:absolute!important;right:12px!important;top:8px!important;border:0!important;background:#d71920!important;color:#fff!important;font-size:30px!important;width:42px!important;height:42px!important;cursor:pointer!important;z-index:5!important;}
@media(max-width:800px){.future-modal{padding:6px!important}.future-modal-panel{width:100%!important;max-width:100%!important;max-height:96vh!important;padding:48px 14px 18px!important}.future-modal-grid{grid-template-columns:1fr!important;gap:16px!important}.future-modal-photo{min-height:0!important;max-height:48vh!important}.future-modal-photo img{max-height:48vh!important;max-width:100%!important}.future-modal-story{font-size:15px!important;line-height:1.6!important}}


/* Facebook timeline section */
.facebook-news-section{background:#f2f0ed;color:#111;padding:64px 0}
.facebook-news-heading{max-width:820px;margin:0 auto 26px;text-align:center}
.facebook-news-heading h2{margin:8px 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.12}
.facebook-news-heading p{font-size:18px;line-height:1.65;white-space:normal}
.facebook-feed-frame{width:min(100%,500px);margin:0 auto;background:#fff;min-height:300px;overflow:hidden;border:1px solid #ddd}
.facebook-feed-frame iframe{display:block;width:100%;max-width:100%;height:520px}
.facebook-follow-wrap{text-align:center;margin-top:24px}
.facebook-follow-btn{display:inline-flex;justify-content:center}
.facebook-feed-placeholder{max-width:720px;margin:20px auto;padding:22px;background:#fff;border-left:4px solid #d71920;color:#333;line-height:1.6}
@media(max-width:600px){.facebook-news-section{padding:42px 0}.facebook-news-heading p{font-size:16px}.facebook-feed-frame iframe{height:500px}}

/* Future details: stable modal and visible text */
.future-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483647!important;display:none!important;align-items:center!important;justify-content:center!important;padding:12px!important;box-sizing:border-box!important;background:rgba(0,0,0,.88)!important;overflow:auto!important}
.future-modal.open{display:flex!important}
.future-modal-panel{position:relative!important;width:min(1100px,96vw)!important;max-width:1100px!important;max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;margin:auto!important;box-sizing:border-box!important;background:#fff!important;color:#111!important}
.future-modal-grid{display:grid!important;grid-template-columns:minmax(0,44%) minmax(0,56%)!important;gap:24px!important;align-items:start!important}
.future-modal-photo{min-width:0!important;min-height:0!important;max-height:calc(100dvh - 100px)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.future-modal-photo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 100px)!important;object-fit:contain!important}
.future-modal-story{min-width:0!important;overflow-wrap:anywhere!important;color:#111!important}
.future-modal-story h2{font-size:clamp(26px,3vw,42px)!important;line-height:1.15!important}
.future-modal-close{position:absolute!important;top:8px!important;right:8px!important}
@media(max-width:760px){
 .future-modal{padding:6px!important}
 .future-modal-panel{width:100%!important;max-height:calc(100dvh - 12px)!important;padding:48px 14px 18px!important}
 .future-modal-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .future-modal-photo{max-height:42vh!important}
 .future-modal-photo img{max-height:42vh!important;max-width:100%!important}
 .future-modal-story{font-size:15px!important;line-height:1.6!important;padding:0!important}
}

/* Preserve natural aspect ratio of portrait and landscape gallery images */
.gallery-modal-grid .gallery-photo-thumb{height:260px!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#050505!important;overflow:hidden!important}
.gallery-modal-grid .gallery-photo-thumb img{width:auto!important;height:auto!important;max-width:100%!important;max-height:260px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;flex:0 1 auto!important}
.gallery-photo-lightbox img{width:auto!important;height:auto!important;max-width:94vw!important;max-height:calc(100dvh - 125px)!important;object-fit:contain!important;aspect-ratio:auto!important}

/* Slightly more compact overall website layout */
.container{width:min(var(--max),calc(100% - 56px))}
.section{padding:72px 0}
.nav{gap:28px}
@media(max-width:760px){
 .container{width:calc(100% - 32px)}
 .section{padding:48px 0}
}


/* ===== 2026-09-28 layout corrections ===== */

/* Event section title; navigation remains the short label "Akce". */
.events-heading h2{font-size:clamp(25px,3.4vw,42px);line-height:1.15}

/* Product cards show only image, title, price and actions. */
.product-card{display:flex;flex-direction:column;min-width:0}
.product-card .product-image{
  width:100%;height:250px;padding:0;border:0;background:#111;
  display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden
}
.product-card .product-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}
.product-card .product-info{display:flex;flex:1;flex-direction:column;gap:12px;padding:16px}
.product-card .product-title{font-size:20px;line-height:1.25;margin:0;cursor:pointer}
.product-card .product-bottom{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto}
.product-card .product-actions{display:flex;flex-wrap:wrap;gap:8px}
.product-card .product-more,.product-card .add-product{flex:1;min-width:100px;border:0;padding:10px 12px;font-weight:800;cursor:pointer}
.product-card .product-more{background:#111;color:#fff}
.product-card .add-product{background:#c9151d;color:#fff}
.product-card .product-description{display:none!important}

/* Product detail: photo on the left, complete description and actual price on the right. */
.product-lightbox{padding:20px;overflow:auto}
.product-detail-panel{position:relative;width:min(1100px,96vw);max-height:calc(100vh - 40px);overflow:auto;background:#f3f1ee;color:#111;margin:auto;padding:36px 28px}
.product-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.product-detail-media{min-width:0;display:flex;align-items:center;justify-content:center;background:#111;min-height:240px}
.product-detail-media img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 140px);object-fit:contain}
.product-detail-copy{min-width:0;padding:8px 6px}
.product-detail-copy h2{font-size:clamp(24px,3vw,40px);line-height:1.15;margin:0 0 18px}
.product-detail-description{font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.product-detail-description img{max-width:100%;height:auto}
.product-detail-price{display:block;color:#c9151d;font-size:25px;margin:20px 0}
.product-detail-add{margin:0}
.product-detail-panel .lightbox-prev,.product-detail-panel .lightbox-next{position:absolute;top:50%;z-index:2}
.product-detail-panel .lightbox-prev{left:6px}.product-detail-panel .lightbox-next{right:6px}

/* Album covers and gallery thumbnails retain natural aspect ratio. No square cropping. */
.gallery-album-image{
  height:auto!important;min-height:0!important;aspect-ratio:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;background:#111!important
}
.gallery-album-image img{
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;max-height:360px!important;
  aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important
}
.gallery-modal-grid{align-items:center!important}
.gallery-modal-grid img{
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;max-height:calc(100vh - 170px)!important;
  aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;
  margin:auto!important
}
.gallery-modal-grid>*{min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}
@media(max-width:760px){
  .product-card .product-image{height:220px}
  .product-detail-panel{padding:48px 14px 20px}
  .product-detail-layout{grid-template-columns:1fr;gap:18px}
  .product-detail-media img{max-height:42vh}
  .product-detail-copy{padding:0}
  .gallery-album-image img{max-height:320px!important}
  .gallery-modal-grid img{max-height:calc(100vh - 130px)!important}
}

.facebook-news-section{display:block!important;visibility:visible!important;background:#f2f0ed!important;color:#111!important}
.facebook-news-section .facebook-news-heading h2{color:#111!important;display:block!important}
.facebook-news-section .facebook-feed-placeholder{display:block!important;color:#222!important}
.product-detail-description{white-space:pre-line}


/* MotoSheila hotfix: keep every gallery photo in its original proportions. */
.gallery-album-image{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important}
.gallery-album-image img{width:auto!important;height:auto!important;max-width:100%!important;max-height:min(70vh,520px)!important;object-fit:contain!important;aspect-ratio:auto!important}
.gallery-modal-grid .gallery-photo-thumb{height:auto!important;min-height:0!important;max-height:72vh!important;aspect-ratio:auto!important;padding:8px!important}
.gallery-modal-grid .gallery-photo-thumb img{width:auto!important;height:auto!important;max-width:100%!important;max-height:70vh!important;object-fit:contain!important;aspect-ratio:auto!important}
.gallery-photo-lightbox img{width:auto!important;height:auto!important;max-width:96vw!important;max-height:calc(100dvh - 110px)!important;object-fit:contain!important;aspect-ratio:auto!important}
.facebook-news-heading h2{overflow-wrap:anywhere}

/* Kulaté Facebook logo – jednotné pro sekci O nás a patičku */
.about-social-and-photo{display:grid;grid-template-columns:165px minmax(300px,1fr);align-items:center;gap:18px;width:100%;min-width:0}
.facebook-round-badge{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:clamp(145px,18vw,238px);aspect-ratio:1;border-radius:50%;box-sizing:border-box;padding:12px;background:radial-gradient(circle at 35% 25%,#1267bd 0%,#07509b 48%,#003b7c 100%);border:8px solid #fff;outline:2px solid #15549a;box-shadow:0 4px 12px #0002;color:#fff!important;text-decoration:none!important;text-align:center;overflow:hidden;flex-shrink:0;margin:0 auto}
.facebook-round-badge:before{content:"";position:absolute;inset:5px;border:2px solid rgba(255,255,255,.85);border-radius:50%;pointer-events:none}
.facebook-round-f{display:flex;align-items:center;justify-content:center;width:34%;aspect-ratio:1;border-radius:50%;background:#fff;color:#07509b;font-family:Arial,sans-serif;font-size:clamp(34px,5vw,62px);font-weight:900;line-height:1;padding-top:3px;box-sizing:border-box}
.facebook-round-text{display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:900;line-height:1.12;font-size:clamp(10px,1.12vw,17px);text-transform:uppercase;letter-spacing:.15px;max-width:100%;overflow-wrap:anywhere}
.facebook-round-text span:last-child{color:#ffe72e}
.facebook-round-pointer{font-size:clamp(20px,2.5vw,34px);line-height:1;filter:drop-shadow(0 1px 1px #001e45)}
.facebook-round-image{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0;border-radius:50%}
.about-facebook-badge{width:160px;max-width:100%;justify-self:center}
.about-social-and-photo .photo-card{min-width:0}
.footer-facebook-badge{width:150px;margin:14px 0 10px;border-width:6px}
.footer-facebook-badge .facebook-round-f{font-size:38px}
.footer-facebook-badge .facebook-round-text{font-size:11px}
.footer-facebook-badge .facebook-round-pointer{font-size:24px}
.facebook-admin-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:170px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 25%,#1267bd,#003b7c);border:7px solid #fff;outline:2px solid #15549a;color:#fff;box-sizing:border-box;margin:16px auto;text-align:center}
.facebook-admin-preview .facebook-round-f{font-size:40px}
.facebook-admin-preview .facebook-round-text{font-size:12px}
.facebook-admin-preview .facebook-round-pointer{font-size:24px}
@media(max-width:760px){.about-social-and-photo{grid-template-columns:1fr;gap:18px}.about-facebook-badge{width:145px}.footer-facebook-badge{width:135px}}

/* Facebook badge must remain visible in the mobile footer. */
footer .footer-grid > div:nth-child(3) .footer-facebook-badge{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:150px!important;
  height:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  aspect-ratio:1/1!important;
  margin:16px 0 12px!important;
  flex:0 0 150px!important;
}
@media(max-width:760px){
  footer .footer-grid > div:nth-child(3){display:block!important;visibility:visible!important}
  footer .footer-grid > div:nth-child(3) .footer-facebook-badge{
    display:flex!important;
    width:145px!important;height:145px!important;
    min-width:145px!important;max-width:145px!important;
    flex-basis:145px!important;
    margin:16px auto 14px!important;
  }
}
