/*
Theme Name: Astra Child - ȚuicăRomânia
Template: astra
Version: 1.1.1
Author: ȚuicăRomânia.ro
Description: Astra child theme for ȚuicăRomânia.ro – brandbook colors, Playfair + DM Sans typography, Dokan-aware product cards.
Text Domain: astra-child-tuicaromania
*/

/* ==============================================
   ȚuicăRomânia.ro - Brandbook Variables
   ============================================== */
:root{
  /* Brand palette (diamond row) */
  --tr-purple:#653d84; --tr-lilac:#6977bc; --tr-blue:#3c5291;
  --tr-orange:#f29c51; --tr-gold:#d4a018; --tr-yellow:#f9c73a;
  --tr-red:#dd1717;    --tr-pink:#d7354a; --tr-maroon:#7a1e2b;

  /* Functional */
  --tr-primary:#d4a018;       /* CTA */
  --tr-primary-hover:#f29c51; /* Hover */
  --tr-secondary:#3c5291;     /* Links */
  --tr-danger:#dd1717;        /* 18+ */
  --tr-text:#1a1a1a;
  --tr-text-light:#666;
  --tr-bg-light:#f5f5f5;
  --tr-border:#e0e0e0;

  --tr-font-heading:'Bahnschrift','Arial Narrow','Segoe UI',sans-serif;
  --tr-font-body:'Bahnschrift','Segoe UI',sans-serif;
}

/* ==============================================
   Astra global overrides
   ============================================== */
body, .ast-container { font-family: var(--tr-font-body); color: var(--tr-text); }
h1,h2,h3,h4,h5,h6,
.entry-title, .widget-title, .ast-woo-shop-archive-title,
.product .product_title { font-family: var(--tr-font-heading); font-weight:600; letter-spacing:-.01em; }

a { color: var(--tr-secondary); }
a:hover, a:focus { color: var(--tr-primary); }

/* ==============================================
   WooCommerce product cards (shop loop)
   ============================================== */
.woocommerce ul.products li.product {
  background:#fff; border:1px solid var(--tr-border); border-radius:8px;
  padding:0; overflow:hidden; transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.woocommerce ul.products li.product a img {
  background:#1a1a1a; padding:1.5rem; margin:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--tr-font-heading); font-size:1.1rem;
}
.woocommerce ul.products li.product .price {
  color: var(--tr-text); font-weight:700;
}
.woocommerce ul.products li.product .price del { color: var(--tr-text-light); font-weight:400; }
.woocommerce ul.products li.product .price ins { color: var(--tr-danger); text-decoration:none; }
.woocommerce ul.products li.product .button {
  display:inline-block;
}

/* Sale badge in brand red */
.woocommerce span.onsale {
  background: var(--tr-danger); color:#fff; border-radius:4px;
  font-weight:600; min-height:auto; padding:.25rem .5rem; line-height:1;
}

/* ==============================================
   Single product
   ============================================== */
.woocommerce div.product .product_title { font-size:2rem; margin-bottom:.5rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--tr-text); font-size:1.75rem; font-weight:700; }
.woocommerce div.product p.price ins { color: var(--tr-danger); }

/* 18+ warning box (add via shortcode/HTML block on product/checkout) */
.tr-age-warning {
  display:flex; align-items:center; gap:.75rem;
  background:#fff5f5; border-left:4px solid var(--tr-danger);
  padding:.75rem 1rem; margin:1rem 0; font-size:.9rem; color: var(--tr-danger);
}
.tr-age-warning strong { color: var(--tr-danger); }

/* ==============================================
   Dokan vendor store page tweaks
   ============================================== */
.dokan-store-header { border-bottom:3px solid var(--tr-gold); }
.dokan-store-header .profile-info-summery-wrapper h1 { font-family: var(--tr-font-heading); }
.dokan-single-store .dokan-store-tabs ul li a { color: var(--tr-text); font-weight:500; }
.dokan-single-store .dokan-store-tabs ul li a:hover,
.dokan-single-store .dokan-store-tabs ul li.active a { color: var(--tr-primary); border-bottom:2px solid var(--tr-primary); }

/* Vendor badge on product card (auto-injected via functions.php) */
.tr-vendor-badge { color:var(--tr-text-light); text-decoration:none; }

/* ==============================================
   Diamond decorative line (reusable)
   ============================================== */
.tr-diamond-line { display:flex; gap:4px; justify-content:center; margin:1rem 0; }
.tr-diamond-line span { width:10px; height:10px; transform:rotate(45deg); display:inline-block; }
.tr-diamond-line .d-purple{background:var(--tr-purple)} .tr-diamond-line .d-lilac{background:var(--tr-lilac)}
.tr-diamond-line .d-blue{background:var(--tr-blue)}     .tr-diamond-line .d-orange{background:var(--tr-orange)}
.tr-diamond-line .d-gold{background:var(--tr-gold)}     .tr-diamond-line .d-yellow{background:var(--tr-yellow)}
.tr-diamond-line .d-red{background:var(--tr-red)}       .tr-diamond-line .d-pink{background:var(--tr-pink)}
.tr-diamond-line .d-maroon{background:var(--tr-maroon)}

/* Animated variant: the nine diamonds stand for the nine producers.
   Each one slides in, then keeps a slow breathing motion. */
@keyframes tr-diamond-in {
  from { opacity:0; transform:translateX(-22px) rotate(45deg) scale(.5); }
  to   { opacity:1; transform:translateX(0)     rotate(45deg) scale(1);  }
}
@keyframes tr-diamond-breathe {
  0%,100% { transform:rotate(45deg) scale(1);    }
  50%     { transform:rotate(45deg) scale(1.22); }
}
.tr-diamond-line--animated span {
  opacity:0;
  animation:
    tr-diamond-in .55s cubic-bezier(.2,.7,.3,1) both,
    tr-diamond-breathe 4.5s ease-in-out infinite;
}
.tr-diamond-line--animated span:nth-child(1){animation-delay:.05s,1.2s}
.tr-diamond-line--animated span:nth-child(2){animation-delay:.12s,1.3s}
.tr-diamond-line--animated span:nth-child(3){animation-delay:.19s,1.4s}
.tr-diamond-line--animated span:nth-child(4){animation-delay:.26s,1.5s}
.tr-diamond-line--animated span:nth-child(5){animation-delay:.33s,1.6s}
.tr-diamond-line--animated span:nth-child(6){animation-delay:.40s,1.7s}
.tr-diamond-line--animated span:nth-child(7){animation-delay:.47s,1.8s}
.tr-diamond-line--animated span:nth-child(8){animation-delay:.54s,1.9s}
.tr-diamond-line--animated span:nth-child(9){animation-delay:.61s,2.0s}

/* ==============================================
   Hero ([tr_hero]) – dark, motif driven, no video payload
   ============================================== */
.tr-hero {
  position:relative; isolation:isolate;
  background:#0a0a0a; color:#fff;
  display:flex; align-items:center;
  min-height:clamp(420px, 78vh, 760px);
  padding:clamp(3rem, 8vw, 6rem) 1.25rem;
  overflow:hidden;
}
/* Background layer: image + slow zoom, kept behind a dark scrim so the
   type always keeps contrast whatever photo the editor picks. */
.tr-hero__bg {
  position:absolute; inset:-2%; z-index:-2;
  background-position:center; background-size:cover; background-repeat:no-repeat;
  animation:tr-hero-zoom 24s ease-in-out infinite alternate;
}
@keyframes tr-hero-zoom { from{transform:scale(1)} to{transform:scale(1.09)} }
.tr-hero::before {
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(120% 80% at 50% 30%, rgba(10,10,10,.35) 0%, rgba(10,10,10,.82) 70%, #0a0a0a 100%),
    linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.15) 45%, rgba(10,10,10,.9) 100%);
}
.tr-hero--plain .tr-hero__bg { display:none; }

.tr-hero__inner {
  position:relative; width:100%; max-width:820px; margin-inline:auto;
  text-align:center;
}
.tr-hero--left .tr-hero__inner { text-align:left; margin-inline:0 auto; }

.tr-hero__eyebrow {
  margin:0 0 1.25rem;
  font-family:var(--tr-font-body);
  font-size:.75rem; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--tr-gold);
}
.tr-hero__title {
  margin:0;
  font-family:var(--tr-font-heading); font-weight:600;
  font-size:clamp(2.1rem, 5.5vw, 4rem);
  line-height:1.08; letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.tr-hero__subtitle {
  margin:1.25rem auto 0; max-width:52ch;
  font-size:clamp(1rem, 1.6vw, 1.15rem); line-height:1.65;
  color:#d8d8dc;
  text-wrap:pretty;
}
.tr-hero--left .tr-hero__subtitle { margin-inline:0; }

.tr-hero .tr-diamond-line { margin:2rem 0 0; }
.tr-hero--left .tr-diamond-line { justify-content:flex-start; }
.tr-hero .tr-diamond-line span { width:14px; height:14px; }

.tr-hero__actions {
  display:flex; flex-wrap:wrap; gap:.75rem;
  justify-content:center; margin-top:2.25rem;
}
.tr-hero--left .tr-hero__actions { justify-content:flex-start; }
.tr-hero__cta {
  display:inline-block; padding:.9rem 1.9rem; border-radius:4px;
  font-family:var(--tr-font-body); font-size:.95rem; font-weight:500;
  letter-spacing:.02em; text-decoration:none;
  border:1px solid transparent;
  transition:background-color .18s, color .18s, border-color .18s, transform .18s;
}
.tr-hero__cta--primary { background:var(--tr-primary); color:#0a0a0a; }
.tr-hero__cta--primary:hover, .tr-hero__cta--primary:focus {
  background:var(--tr-primary-hover); color:#0a0a0a; transform:translateY(-2px);
}
.tr-hero__cta--ghost { border-color:rgba(255,255,255,.45); color:#fff; }
.tr-hero__cta--ghost:hover, .tr-hero__cta--ghost:focus {
  border-color:#fff; background:rgba(255,255,255,.08); color:#fff; transform:translateY(-2px);
}
.tr-hero__cta:focus-visible { outline:2px solid var(--tr-gold); outline-offset:3px; }

/* Astra puts the content wrapper in a container; let the hero go full-bleed
   when it is dropped straight into a page. */
.tr-hero--bleed {
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}

@media (prefers-reduced-motion: reduce) {
  .tr-hero__bg { animation:none; }
  .tr-diamond-line--animated span { opacity:1; animation:none; transform:rotate(45deg); }
  .tr-hero__cta:hover, .tr-hero__cta:focus { transform:none; }
}

/* ==============================================
   Header tweaks (Astra)
   ============================================== */
.ast-primary-header-bar { border-bottom:1px solid var(--tr-border); }
.main-header-menu .menu-link { font-weight:500; }
.main-header-menu .current-menu-item > .menu-link { color: var(--tr-primary); }

/* Mini cart badge in gold */
.ast-site-header-cart .ast-cart-menu-wrap .count {
  background: var(--tr-primary); color:#fff;
}

/* ==============================================
   Footer
   ============================================== */
.site-footer { background:#0a0a0a; color:#bbb; }
.site-footer a { color:#bbb; }
.site-footer a:hover { color: var(--tr-primary); }
.site-footer h2, .site-footer h3, .site-footer h4 { color:#fff; font-family: var(--tr-font-heading); }

/* ===== FOOTER egységesítés ===== */

/* oszlopok egy vonalból induljanak */
.site-footer .site-primary-footer-inner-wrap{
  align-items: flex-start;
  column-gap: 48px;
}
.site-footer .site-footer-section{ align-self: flex-start; }

/* MINDEN fejléc egységes (widget-title + Gutenberg heading) */
.site-footer .widget-title,
.site-footer .wp-block-heading{
  color:#caa14a;
  font-size:16px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
  margin:0 0 20px; line-height:1.2;
}

/* MINDEN lista egységes (nav-menü + wp-block-list) */
.site-footer .menu,
.site-footer .wp-block-list{ list-style:none; margin:0; padding:0; }
.site-footer .menu li,
.site-footer .wp-block-list li{ margin:0 0 12px; line-height:1.4; }
.site-footer a{ color:#cfcfd2; text-decoration:none; transition:.15s; }
.site-footer a:hover{ color:#fff; }

/* logó oszlop */
.site-footer .site-footer-section-1 .wp-block-uagb-image img{
  width:160px; height:auto; margin:0 0 18px;
}
.site-footer .site-footer-section-1 .wp-block-uagb-separator{ display:none; } /* felesleges spacer */
.site-footer .site-footer-section-1 p{
  max-width:340px; color:#bdbdc2;
  line-height:1.7; margin:0 0 22px;
}

/* rombuszok — felülírja a block inline style-ját */
.site-footer .ft-dots{ display:flex; gap:12px; margin:0; }
.site-footer .ft-dots span{
  width:13px; height:13px;
  border-radius:0; transform:rotate(45deg);
}

/* szekció levegő */
.site-footer .site-primary-footer-wrap{ padding-block:56px; }
