/* Arci Triumf — Photographer site
Palette: Cinder #23292E, Cavern Pink #DFB3AE, Porcelain #DDDED9, Equator #E4BC62 */

:root{
  --cinder:#23292E;
  --cavern:#DFB3AE;
  --porcelain:#DDDED9;
  --equator:#E4BC62;
  --white:#fff;
  --nav-h: 72px;
}
html{scroll-behavior:smooth; scroll-padding-top: var(--nav-h)}
body{
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Noto Sans', sans-serif;
  background:var(--porcelain); color:var(--cinder); line-height:1.6;
}
.badge-soft {
  display: inline-block;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
}

h1,h2,h3,h4,h5{font-family:'Playfair Display', Georgia, serif}
.big{font-size: larger;}

a{color:var(--equator); text-decoration: none;}
.blue{color: #0a0a0a;}
.blue:hover{color:var(--equator);}
a:hover{color: #427cad;}
.navbar{background:var(--cinder)}
.navbar .nav-link,.navbar-brand{color:var(--porcelain)!important}
.navbar .nav-link:hover,.navbar-brand:hover{color:var(--equator)!important}
.btn-brand{background:var(--equator);color:var(--cinder);border:none}
.badge-soft{background:rgba(223,179,174,.3);border:1px solid rgba(223,179,174,.5)}
.hero{background:linear-gradient(0deg, rgba(35,41,46,.55), rgba(35,41,46,.55)), url('../img/prstenblack.webp') center/cover no-repeat; color:var(--porcelain); min-height:70vh; display:flex; align-items:center;}
.section-title{border-left:6px solid var(--equator); padding-left:12px; margin-bottom:1rem}
.card{border:0; border-radius:1rem; box-shadow:0 12px 30px rgba(0,0,0,.06)}
.card-img-top {width: 100%;height: auto;object-fit: cover;border-radius: 1rem 1rem 0 0; /* ak chceš zachovať pekné zaoblenie hore */display: block;}
.footer{background:var(--cinder); color:var(--porcelain)}
.cookie-banner{position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:1080; background:var(--porcelain); border:1px solid rgba(0,0,0,.1); border-radius:1rem; padding:1rem; box-shadow:0 8px 30px rgba(0,0,0,.2)}
.form-floating > label { color:#6c757d }
.required::after{content:' *'; color:#dc3545}
.gallery img {width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .75rem; display: block;}
.fit-contain {object-fit: contain !important; background: #000; /* voliteľné, ak chceš čierne pásy pri contain */}

/* Pricing table tweaks */
.pricing-table thead { background: var(--equator); color: #fff; }
.pricing-table tbody tr:hover { background: rgba(0,0,0,.02); }
.pricing-table .badge-soft { 
  background: rgba(255,255,255,.35); 
  border: 1px solid rgba(255,255,255,.6);
  color: #fff;
}
@media (max-width: 576px){
  .pricing-table td ul { padding-left: 1rem; }
}
/* --- Pricing table (brand štýl + “old/new” price) --- */
.pricing-table thead { background: var(--equator); color: #fff; }
.pricing-table tbody tr:hover { background: rgba(0,0,0,.02); }

.pricing-table .badge-soft{background: rgba(255,255,255,.35); border: 1px solid rgba(255,255,255,.6); color: #fff;}

/* Ceny */
.old-price{text-decoration: line-through;opacity: .55; font-weight: 600;}
.new-price{display: inline-block; font-weight: 800; font-size: 1.35rem; line-height: 1; padding: .25rem .6rem; border-radius: .5rem; background: #198754; color: #fff;}

/* Najobľúbenejší */
.pricing-table .badge-popular{background: var(--equator); color: var(--cinder); border: 0;}
.pricing-table .is-popular{box-shadow: inset 0 0 0 2px rgba(228,188,98,.35);}

/* --- Mobile “cards” (stacked) – bez vodorovného scrollu --- */
@media (max-width: 767.98px){
  .price-table thead{ display:none; }
  .price-table, .price-table tbody, .price-table tr,
  .price-table td, .price-table th{ display:block; width:100%; }
  .price-table tr{
    margin-bottom:1rem;
    border:1px solid rgba(0,0,0,.08);
    border-radius:1rem;
    background:#fff;
    padding:.75rem .9rem .5rem;
  }
  .price-table th[scope="row"]{border:0; padding:.25rem 0 .5rem; margin:0; font-size:1.05rem;}
  .price-table td, .price-table th{ border:0!important; padding:.35rem 0!important; }
  .price-table td[data-label]::before{content: attr(data-label) " ";display:block; font-size:.8rem; letter-spacing:.02em; text-transform:uppercase;opacity:.6; margin-bottom:.15rem;}
  .price-table tfoot td{padding:.75rem!important;border:1px dashed rgba(0,0,0,.15)!important;border-radius:.75rem; background:#f8f9fa;}
}

.page-loader{position: fixed; inset: 0; display:flex; align-items:center; justify-content:center;background: rgba(14, 17, 19, 0.85); z-index: 2000;transition: opacity .25s ease;}
.page-loader .spinner-border{
  width: 6rem; height: 6rem;       /* väčšia ikonka */
  color: #E4BC62;                  /* tvoja žltá */
}
.page-loader.hide{ opacity:0; pointer-events:none; }


@media (max-width: 576px){
  .hero{
    background:
      linear-gradient(0deg, rgba(35,41,46,.55), rgba(35,41,46,.55)),
      url('../img/prstenblack.webp') center/cover no-repeat;
  }
}