/* =====================================================
   webuni.css — sablona7 Madrid Gift Shop
   Romantický, elegantný dizajn pre darčekový eshop
   Fonty: Playfair Display + Raleway
   Paleta: wine #8C1A3A | gold #C4962A | cream #FAF6F1
   ===================================================== */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Raleway:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* ── Design Tokens ── */
:root {
  --wine:         #8C1A3A;
  --wine-dark:    #6A1229;
  --wine-light:   #B02248;
  --wine-pale:    #F9EEF2;
  --gold:         #C4962A;
  --gold-light:   #DEB84A;
  --gold-pale:    #FBF3E0;
  --cream:        #FAF6F1;
  --ivory:        #FFFBF8;
  --blush:        #F5D7E0;
  --charcoal:     #1E1213;
  --charcoal-mid: #3A2830;
  --text:         #2C1F22;
  --text-muted:   #7A6068;
  --border:       #EAD9DE;
  --white:        #FFFFFF;
  --radius:       6px;
  --radius-lg:    12px;
  --shadow:       0 2px 16px rgba(140,26,58,.08);
  --shadow-hover: 0 8px 32px rgba(140,26,58,.2);
}

/* =====================================================
   GLOBAL BASE
   ===================================================== */
html { scroll-behavior: smooth !important; }

body {
  background: var(--cream) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  -webkit-font-smoothing: antialiased !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif !important;
}

a { transition: color .2s, opacity .2s !important; }

/* =====================================================
   TOP HEADER STRIP
   ===================================================== */
#container-top-header-strip {
  background: var(--charcoal) !important;
}

#container-top-header-strip .container,
#container-top-header-strip .span-25 {
  background: var(--charcoal) !important;
}

#container-top-header-strip,
#container-top-header-strip *:not(.material-icons) {
  color: rgba(255,255,255,.65) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

#container-top-header-strip a {
  color: rgba(255,255,255,.65) !important;
  text-decoration: none !important;
}

#container-top-header-strip a:hover {
  color: var(--gold-light) !important;
}

#container-top-header-strip .material-icons {
  font-family: 'Material Icons' !important;
  font-size: 15px !important;
  vertical-align: middle !important;
  color: var(--gold-light) !important;
  margin-right: 3px !important;
}

/* =====================================================
   HEADER
   ===================================================== */
#container-header {
  background: var(--ivory) !important;
  border-bottom: 2px solid var(--blush) !important;
  box-shadow: 0 2px 16px rgba(140,26,58,.06) !important;
}

#header-opacity,
#header {
  background: var(--ivory) !important;
}

#header {
  padding: 16px 0 !important;
}

/* Search */
.search-in-head input[type="text"],
#text {
  border: 1.5px solid var(--border) !important;
  border-radius: 4px 0 0 4px !important;
  padding: 10px 18px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  background: var(--white) !important;
  color: var(--text) !important;
  transition: border-color .2s, box-shadow .2s !important;
  outline: none !important;
}

.search-in-head input[type="text"]:focus,
#text:focus {
  border-color: var(--wine) !important;
  box-shadow: 0 0 0 3px rgba(140,26,58,.1) !important;
}

/* Search button */
.search-in-head .button-type-1,
#button-indexSearch {
  background: var(--wine) !important;
  border-radius: 0 4px 4px 0 !important;
}

.search-in-head input[type="submit"],
#indexSearch {
  background: var(--wine) !important;
  border: none !important;
  cursor: pointer !important;
  border-radius: 0 4px 4px 0 !important;
}

/* Login / cart links */
#top-header-login-links a,
.login-n-cart a {
  color: var(--text) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#top-header-login-links a:hover {
  color: var(--wine) !important;
}

/* Cart icon */
#top-header-cart,
.cart-in-head {
  color: var(--wine) !important;
}

/* =====================================================
   NAVIGATION
   ===================================================== */
#container-articles-menu {
  background: var(--wine) !important;
}

#container-articles-menu .span-25,
#articles-menu,
.articles-menu-long {
  background: transparent !important;
}

#articles-menu ul,
.articles-menu-long ul {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Fix: base CSS sets li to white — override to transparent */
#articles-menu ul li,
.articles-menu-long ul li {
  background: transparent !important;
}

#articles-menu ul li > a,
.articles-menu-long ul li > a {
  font-family: 'Playfair Display', serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.9) !important;
  text-decoration: none !important;
  padding: 16px 28px !important;
  display: block !important;
  border-bottom: 3px solid transparent !important;
  transition: color .2s, border-color .2s, background .2s !important;
}

#articles-menu ul li > a:hover,
.articles-menu-long ul li > a:hover,
#articles-menu ul li.active > a,
.articles-menu-long ul li.active > a {
  color: var(--white) !important;
  border-bottom-color: var(--gold) !important;
  background: rgba(255,255,255,.08) !important;
}

/* Submenu */
#articles-menu .submenu,
.articles-menu-long .submenu {
  background: var(--ivory) !important;
  border: 1px solid var(--border) !important;
  border-top: 3px solid var(--gold) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
  box-shadow: var(--shadow) !important;
  z-index: 999 !important;
}

#articles-menu .submenu li a,
.articles-menu-long .submenu li a {
  font-family: 'Raleway', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  padding: 10px 22px !important;
  border-bottom: none !important;
  letter-spacing: .04em !important;
  background: transparent !important;
  display: block !important;
  transition: color .15s, background .15s !important;
}

#articles-menu .submenu li a:hover,
.articles-menu-long .submenu li a:hover {
  color: var(--wine) !important;
  background: var(--wine-pale) !important;
}

/* =====================================================
   BREADCRUMB
   ===================================================== */
#breadcrumb a,
.breadcrumb a {
  color: var(--text-muted) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

#breadcrumb a:hover { color: var(--wine) !important; }

/* =====================================================
   SECTION HEADINGS
   ===================================================== */
.products-index-title,
.catalog-title,
h1.page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--wine) !important;
  text-align: center !important;
  letter-spacing: .03em !important;
  margin-bottom: 28px !important;
  position: relative !important;
}

/* Elegant divider under section title */
.products-index-title::before,
.products-index-title::after {
  content: '' !important;
  display: inline-block !important;
  width: 60px !important;
  height: 1px !important;
  background: var(--gold) !important;
  vertical-align: middle !important;
  margin: 0 16px !important;
}

/* "Horúci tip" section wrapper */
[class*="horuci-tip"],
.products-title-wrapper {
  position: relative !important;
}

/* =====================================================
   PRODUCT BADGES
   ===================================================== */
/* Doporučujeme badge */
.startup {
  background: var(--wine) !important;
  color: var(--white) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  padding: 4px 10px !important;
  box-shadow: 0 2px 8px rgba(140,26,58,.3) !important;
}

.startup span {
  color: var(--white) !important;
  font-family: 'Raleway', sans-serif !important;
}

/* Horúci tip badge */
.hot_tip {
  background: var(--gold) !important;
  color: var(--white) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  padding: 4px 10px !important;
  box-shadow: 0 2px 8px rgba(196,150,42,.35) !important;
}

.hot_tip span {
  color: var(--white) !important;
  font-family: 'Raleway', sans-serif !important;
}

/* =====================================================
   PRODUCT CARDS
   ===================================================== */
.product-third {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  transition: box-shadow .3s ease, transform .3s ease !important;
  box-shadow: 0 2px 10px rgba(140,26,58,.05) !important;
}

.product-third:not(.slick-slide):hover,
.product-third.slick-active:hover {
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-3px) !important;
}

/* Gold bottom border on hover */
.product-third:not(.slick-slide):hover {
  border-bottom: 2px solid var(--gold) !important;
}

/* Product image */
.product-images {
  background: var(--cream) !important;
  overflow: hidden !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.product-images img {
  transition: transform .5s ease !important;
}

.product-third:hover .product-images img {
  transform: scale(1.05) !important;
}

/* Product content */
.product-content {
  padding: 14px 16px 16px !important;
}

.product-content h4,
.product-content h4 a {
  font-family: 'Playfair Display', serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.product-content h4 a:hover {
  color: var(--wine) !important;
}

/* Price */
.product-content p.price,
.product-content .price {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--wine) !important;
  margin: 10px 0 !important;
}

.product-content .s-dph,
.product-content .sDph,
.product-content span.s-dph {
  font-family: 'Raleway', sans-serif !important;
  font-size: 11px !important;
  color: var(--text-muted) !important;
  font-weight: 400 !important;
}

.product-content .normal_price {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  color: var(--text-muted) !important;
  font-weight: 400 !important;
}

/* Description */
.product-content-description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 13px !important;
  color: var(--text-muted) !important;
  line-height: 1.5 !important;
}

/* =====================================================
   PRODUCT BUTTONS — DETAIL & DO KOŠÍKA
   ===================================================== */
.detail-button-catalog {
  display: flex !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

/* DETAIL button */
.detail-button-catalog .button-type-1 {
  flex: 1 !important;
  border: 1.5px solid var(--wine) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  overflow: hidden !important;
  transition: background .2s !important;
}

.detail-button-catalog .button-type-1 a {
  display: block !important;
  padding: 9px 14px !important;
  text-align: center !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--wine) !important;
  text-decoration: none !important;
  transition: color .2s !important;
  background: none !important;
}

.detail-button-catalog .button-type-1:hover {
  background: var(--wine) !important;
}

.detail-button-catalog .button-type-1:hover a {
  color: var(--white) !important;
}

/* DO KOŠÍKA — .add-cart-catalog form */
.add-cart-catalog {
  flex: 1.2 !important;
}

.add-cart-catalog form {
  height: 100% !important;
}

/* Override gray base CSS on .button-add-cart-button */
.add-cart-catalog .button-type-1.button-add-cart-button,
.button-add-cart-button {
  background: var(--wine) !important;
  border-radius: var(--radius) !important;
  border: none !important;
}

.add-cart-catalog .add-cart-button,
.add-cart-catalog input[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
  background: var(--wine) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--white) !important;
  cursor: pointer !important;
  transition: background .2s !important;
}

.add-cart-catalog .add-cart-button:hover,
.add-cart-catalog input[type="submit"]:hover {
  background: var(--wine-dark) !important;
}

/* =====================================================
   PRODUCT DETAIL PAGE
   ===================================================== */
body.catalog-show-product h1,
body.catalog-show-product .product-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}

body.catalog-show-product .show-product-price,
body.catalog-show-product .price-big {
  font-family: 'Playfair Display', serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: var(--wine) !important;
}

/* Add to basket button on detail page */
#button-add-to-basket .button-type-1,
.show-product-add-to-basket .button-type-1,
.add-to-basket-button .button-type-1 {
  background: var(--wine) !important;
  border-radius: var(--radius) !important;
  border: none !important;
}

#button-add-to-basket input[type="submit"],
.show-product-add-to-basket input[type="submit"],
.add-to-basket-button input[type="submit"] {
  background: var(--wine) !important;
  color: var(--white) !important;
  border: none !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius) !important;
  padding: 14px 36px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background .2s, box-shadow .2s !important;
}

#button-add-to-basket input[type="submit"]:hover {
  background: var(--wine-dark) !important;
  box-shadow: 0 4px 18px rgba(140,26,58,.4) !important;
}

/* Product attributes table */
body.catalog-show-product table.attributes,
body.catalog-show-product .product-attributes {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}

body.catalog-show-product table.attributes tr:nth-child(even) {
  background: var(--wine-pale) !important;
}

/* =====================================================
   NEWSLETTER
   ===================================================== */
#container-newsletter {
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
}

#container-newsletter::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(105deg, rgba(30,18,19,.88) 0%, rgba(140,26,58,.80) 100%) !important;
  z-index: 1 !important;
}

#container-newsletter > * {
  position: relative !important;
  z-index: 2 !important;
}

#container-newsletter p,
#container-newsletter label {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--white) !important;
  letter-spacing: .06em !important;
  font-style: italic !important;
}

#container-newsletter input[type="text"],
#container-newsletter input[type="email"] {
  background: rgba(255,255,255,.92) !important;
  border: none !important;
  border-radius: 4px 0 0 4px !important;
  padding: 12px 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  color: var(--text) !important;
  outline: none !important;
  width: 100% !important;
}

#container-newsletter .button-type-1 {
  background: var(--gold) !important;
  border-radius: 0 4px 4px 0 !important;
  border: none !important;
}

#container-newsletter input[type="submit"],
#container-newsletter button[type="submit"] {
  background: var(--gold) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 12px 28px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s !important;
  width: 100% !important;
}

#container-newsletter input[type="submit"]:hover {
  background: var(--gold-light) !important;
}

/* =====================================================
   FOOTER
   ===================================================== */
#container-footer {
  background: var(--charcoal) !important;
  border-top: 3px solid var(--wine) !important;
  color: rgba(255,255,255,.75) !important;
}

#container-footer .footerLine {
  border-color: rgba(255,255,255,.07) !important;
}

#footer,
#container-footer #footer {
  background: transparent !important;
}

/* Footer logo */
#container-footer #mediahelp img {
  filter: brightness(0) invert(1) !important;
  opacity: .8 !important;
}

/* Footer headings */
#container-footer h3,
#container-footer h4,
#info-articles > div > h3,
#info-articles > div > h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--white) !important;
  letter-spacing: .04em !important;
  margin-bottom: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(196,150,42,.4) !important;
}

/* Footer links */
#container-footer a,
#container-footer #info-articles a {
  color: rgba(255,255,255,.6) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: color .2s !important;
  display: block !important;
  padding: 3px 0 !important;
}

#container-footer a:hover,
#container-footer #info-articles a:hover {
  color: var(--gold-light) !important;
}

/* Footer contact */
#container-footer .text-1-phone,
#container-footer .text-1-email,
#container-footer p {
  color: rgba(255,255,255,.65) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
}

#container-footer .icon-type-phone,
#container-footer .icon-type-email {
  color: var(--gold-light) !important;
}

/* Copyright bar */
#container-royal-media-text {
  background: rgba(0,0,0,.25) !important;
  color: rgba(255,255,255,.35) !important;
  font-size: 12px !important;
  font-family: 'Raleway', sans-serif !important;
  text-align: center !important;
  padding: 12px !important;
}

/* =====================================================
   NOVINKY SLIDE TAB
   ===================================================== */
#news-slide {
  background: var(--wine) !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
}

#news-slide-icon p {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  color: var(--white) !important;
  letter-spacing: .08em !important;
  font-style: italic !important;
}

/* =====================================================
   SLICK SLIDER ARROWS
   ===================================================== */
.slick-prev,
.slick-next {
  background: var(--white) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  z-index: 10 !important;
  box-shadow: 0 2px 10px rgba(140,26,58,.12) !important;
  transition: background .2s, border-color .2s !important;
}

.slick-prev:hover,
.slick-next:hover {
  background: var(--wine) !important;
  border-color: var(--wine) !important;
}

.slick-prev::before,
.slick-next::before {
  color: var(--wine) !important;
  font-size: 18px !important;
  opacity: 1 !important;
}

.slick-prev:hover::before,
.slick-next:hover::before {
  color: var(--white) !important;
}

/* =====================================================
   PAGINATION
   ===================================================== */
.pagination a,
.pagination span,
[class*="paginat"] a {
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  transition: background .2s, color .2s !important;
}

.pagination a:hover { color: var(--wine) !important; background: var(--wine-pale) !important; }
.pagination .active, .pagination .current { background: var(--wine) !important; color: var(--white) !important; border-color: var(--wine) !important; }

/* =====================================================
   STAR RATINGS
   ===================================================== */
.star-rating, [class*="rating"] .star, .stars span { color: var(--gold) !important; }

/* =====================================================
   FORMS (global)
   ===================================================== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 10px 14px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: var(--white) !important;
  transition: border-color .2s, box-shadow .2s !important;
  outline: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--wine) !important;
  box-shadow: 0 0 0 3px rgba(140,26,58,.1) !important;
}

/* =====================================================
   DELIVERY INFO
   ===================================================== */
.catalog-delivery_name {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}

.catalog-free-delivery-info {
  color: var(--wine) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* =====================================================
   PRICE RANGE SLIDER
   ===================================================== */
.ui-slider-handle { background: var(--wine) !important; border-color: var(--wine-dark) !important; }
.ui-slider-range { background: var(--wine-pale) !important; }

/* =====================================================
   MOBILE HAMBURGER
   ===================================================== */
#mobile-hamburger-menu { background: var(--charcoal) !important; }
#mobile-hamburger-menu a { color: var(--white) !important; font-family: 'Raleway', sans-serif !important; }
