/* VintageHungary — egyszerű, önálló főoldal. */
:root {
  --background: #fff;
  --ink: #2f3321;
  --olive: #524c33;
  --green: #173f36;
  --terracotta: #c95f45;
  --gold: #b08a4a;
  --muted: #6f675c;
  --line: #ded5c8;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --display: 'Mackinac', sans-serif;
  --sans: 'Satoshi', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; color: var(--ink); background: var(--background); font: 16px/1.5 var(--sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button { color: inherit; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button:focus-visible, summary:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 5px; }
.svg-definitions { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.icon-original { display: inline-block; width: 1em; height: 1em; flex: none; fill: currentColor; stroke: none; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 18px; background: var(--background); transform: translateY(-180%); }
.skip-link:focus { transform: none; }

/* Fejléc és menü */
.announcement { padding: 8px 20px; color: #fff; background: var(--olive); text-align: center; text-transform: uppercase; font-size: 14px; line-height: 1; }
.header-inner { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 10px 72px; border-bottom: 1px solid #b08a4a57; }
.brand { display: block; flex: 0 1 300px; }
.brand img { width: 300px; height: auto; }
.main-nav { flex: 0 1 auto; min-width: 0; }
.header-actions { display: contents; }
.main-nav > ul { display: flex; flex-wrap: wrap; align-items: center; }
.main-nav > ul > li > a, .main-nav summary { display: flex; align-items: center; padding: 13px 20px; color: var(--olive); font: 800 14px/20px var(--display); letter-spacing: 1px; text-transform: uppercase; }
.main-nav a:hover, .main-nav summary:hover { color: var(--gold); }
.main-nav summary { list-style: none; }
.main-nav summary::-webkit-details-marker { display: none; }
.main-nav summary .icon { width: 14px; height: 14px; margin-left: 10px; fill: currentColor; stroke: none; }
.nav-group { position: relative; }
.nav-group details[open] summary .icon { transform: rotate(180deg); }
.submenu { position: absolute; z-index: 20; top: 100%; left: 0; min-width: 310px; padding: 0; background: #fbf7f3; box-shadow: 0 0 10px #0008; border: 0; border-radius: 0 0 8px 8px; overflow: hidden; }
.submenu a { display: block; padding: 8px 14px; color: #1f1e1a; font: 800 13px/1.25 var(--display); letter-spacing: 1px; text-transform: uppercase; }
.submenu a.menu-category-link { display: flex; align-items: center; gap: 12px; min-height: 72px; padding: 8px 14px; line-height: 1.25; }
.submenu .menu-category-icon { display: block; flex: 0 0 56px; width: 56px; height: 56px; object-fit: contain; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.submenu a.menu-category-link > span { min-width: 0; }
.submenu a:hover, .submenu a[aria-current="page"] { background: #f6e4cc; color: #1f1e1a; }
.cart-link { position: relative; display: flex; align-items: center; flex: 0 0 50px; height: 50px; padding: 10px; color: var(--olive); }
.cart-link > .icon-original { width: 30px; height: 30px; }
.cart-count { position: absolute; top: 2px; right: 2px; width: 19px; height: 19px; border-radius: 50%; background: #e34f4f; color: white; text-align: center; font: 400 12px/19px var(--sans); }
.menu-toggle { display: none; }

/* Nyitókép: külön eredeti kép mobilra és tabletre. */
.hero { position: relative; min-height: 80vh; overflow: hidden; }
.hero-picture, .hero-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-picture img { object-fit: cover; object-position: center; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #fbf7f3 18.2%, #fbf7f300 63.7%); pointer-events: none; }
.hero-inner { position: relative; z-index: 1; max-width: 1444px; margin: auto; padding: 80px 55px 0; }
.hero-copy { width: 550px; max-width: 100%; }
.hero h1 { font: 500 76px/1 var(--serif); }
.hero-copy > p { max-width: 400px; margin-top: 30px; font: 400 24px/1.5 var(--serif); }
.hero-actions { display: flex; gap: 20px; margin-top: 66px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 64px; padding: 22px 30px; border: 2px solid var(--terracotta); border-radius: 5px; color: #fff; background: var(--terracotta); font: 600 16px/1 'Inter', var(--sans); transition: background .2s, color .2s; }
.button .icon-original { width: 16px; height: 16px; }
.button:hover { background: #ae513b; border-color: #ae513b; }
.button--outline { color: var(--muted); background: transparent; }
.button--outline:hover { color: white; background: var(--terracotta); border-color: var(--terracotta); }

/* Közös szekciók és termékkártyák */
.section { padding: 0 80px; }
.section--arrivals { padding-top: 40px; }
.eyebrow { margin-bottom: 20px; color: var(--gold); font: 600 14px/1 'Inter', sans-serif; letter-spacing: 1.6px; text-transform: uppercase; }
.section h2 { font: 300 46px/1 var(--display); color: var(--green); }
.section-description { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 20px; margin-bottom: 34px; }
.section-description > p { color: #4a4a46; font: 300 16px/1 var(--display); }
.text-link { display: inline-flex; align-items: flex-start; gap: 5px; flex: 0 0 auto; padding-bottom: 6px; border-bottom: 1px solid currentColor; color: #1f1e1a; font: 500 14px/1 'Inter', sans-serif; }
.text-link .icon-original { width: 14px; height: 14px; }
.text-link:hover { color: var(--terracotta); }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 16px; }
.product-card { min-width: 0; overflow: hidden; border-radius: 12px; background: #fffffe; box-shadow: 0 1px 3px #524c330b; }
.product-link { display: block; height: 100%; }
.product-link:focus-visible { outline-offset: -3px; border-radius: 12px; }
.product-media { position: relative; aspect-ratio: 1; background: #fff; }
.product-media img { width: 100%; height: 100%; object-fit: contain; }
.product-info { padding: 16px 18px 14px; }
.product-info h3 { font: 500 21px/1.2 var(--serif); }
.product-price { margin-top: 6px; color: var(--muted); font: 400 16px/1.5 'Inter', var(--sans); }
.product-link:hover h3 { color: var(--terracotta); }
.featured-label { display: flex; align-items: center; justify-content: center; gap: 20px; height: 31px; margin: 40px 0 20px; color: var(--gold); font: 500 14px/1 'Inter', sans-serif; letter-spacing: 2.8px; text-transform: uppercase; }
.featured-label::before, .featured-label::after { content: ''; flex: 1; height: 1px; background: #b08a4a99; }
.featured-label > .icon-original { width: 18px; height: 18px; margin-right: -8px; }
.featured-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,calc(50% - 16px)); gap: 16px; align-items: stretch; }
.seasonal-banner { position: relative; overflow: hidden; border-radius: 12px; }
.seasonal-banner > img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.product-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.featured-mobile-link { display: none; }

/* Kollekciók */
.section--collections { padding-top: 60px; }
.section--collections .eyebrow { height: 32px; margin-bottom: 16px; }
.section--collections .section-description { margin-top: 16px; }
.eyebrow--line { display: flex; align-items: center; gap: 10px; }
.eyebrow--line::before { content: ''; width: 5%; height: 2px; background: var(--gold); }
.category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.category-card { position: relative; overflow: hidden; padding: 10px; border: 3px solid #e4d7c7; border-radius: 4px; color: var(--olive); }
.category-card > h3 { position: absolute; top: 24px; left: 23px; z-index: 1; font: 500 30px/1 var(--serif); }
.category-card--decor > h3 { top: 30px; left: 18px; }
.category-card > img { width: 100%; height: auto; border-radius: 6px; }
.category-links { position: relative; display: grid; grid-template-columns: 1fr; row-gap: 17px; margin-top: 16px; }
.category-links::after { content: ''; position: absolute; top: 60.5px; right: 0; left: 0; height: 1px; background: #e4d7c7; }
.category-links a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52.5px; padding: 8px 12px; font: 500 22px/1 var(--serif); }
.category-links .icon-original { width: 32px; height: 32px; margin-block: 2.25px; color: var(--gold); }
.category-links .icon { color: var(--gold); }
.category-links a:hover { color: var(--terracotta); }
.category-card--decor .category-links { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.category-card--decor .category-links a { grid-column: span 2; border-top: 0; border-right: 1px solid var(--line); }
.category-card--decor .category-links a:nth-child(3) { border-right: 0; }
.category-card--decor .category-links a:nth-child(n+4) { grid-column: span 3; }
.category-card--decor .category-links a:last-child { border-right: 0; }

/* Vásárlói vélemények: natív görgetés, könnyű lapozó. */
.reviews { padding: 70px 90px 50px; text-align: center; }
.reviews .eyebrow { margin-bottom: 40px; font-weight: 500; letter-spacing: 2.8px; }
.reviews h2 { color: var(--olive); font-size: 32px; line-height: 1; }
.reviews h2 em { font-weight: inherit; }
.reviews-carousel { position: relative; padding: 0 calc(2% + 20px); margin-top: 40px; }
.review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 3); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; text-align: left; }
.review-track::-webkit-scrollbar { display: none; }
.review-card { min-width: 0; margin: 0; border: 1px solid #ebe8ed; border-radius: 4px; background: #fff; box-shadow: 0 1px 3px #2f332108; scroll-snap-align: start; }
.review-card figcaption { padding: 15px 24px 6px; border-bottom: 1px solid #e1e8ed; }
.review-name { font: 500 14px/1.5 var(--serif); }
.review-stars { color: #d7aa5e; font: 500 14px/21px Arial,sans-serif; letter-spacing: 1px; }
.review-product { color: #8a857c; font: 400 12.5px/1.5 var(--serif); }
.review-card blockquote { padding: 6px 15px 15px; font: 400 14px/20px var(--sans); }
.review-arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 40px; height: 44px; padding: 0; border: 0; color: var(--gold); background: transparent; transform: translateY(-50%); }
.review-arrow--previous { left: 0; }
.review-arrow--next { right: 0; }
.review-arrow .icon-original { width: 20px; height: 20px; }
.review-arrow:disabled { opacity: .3; cursor: default; }
.review-dots { display: flex; justify-content: center; flex-wrap: wrap; gap: 2px; margin-top: 16px; }
.review-dots button { display: grid; place-items: center; width: 16px; height: 24px; padding: 0; border: 0; background: transparent; }
.review-dots button[hidden] { display: none; }
.review-dots button::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #cbc6bd; }
.review-dots button[aria-current]::after { background: var(--ink); }

/* Alsó bemutatkozó blokk és lábléc */
.values { padding: 50px 100px 50px 250px; background: linear-gradient(-90deg, #e1d8c8 38%, transparent 61%), #ebe3d8 url('assets/images/webp/bottom_usp.webp') left center/cover no-repeat; }
.values-inner { display: flex; justify-content: space-evenly; align-items: center; gap: 50px; }
.values h2 { flex: 0 0 40%; font: 400 30px/1.4 'Playfair Display', Georgia, serif; letter-spacing: .7px; }
.values-list { flex: 0 0 50%; }
.values-list > li { position: relative; display: flex; align-items: center; gap: 12.5px; padding-bottom: 13px; }
.values-list > li + li { margin-top: 13px; }
.values-list > li:not(:last-child)::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: #b08a4a; }
.values-list > li:last-child { padding-bottom: 0; }
.value-icon { display: grid; place-items: center; flex: 0 0 50px; height: 50px; color: var(--gold); }
.value-icon .icon-original { width: 50px; height: 50px; }
.values-list > li > div { padding-left: 5px; }
.values-list h3, .values-list p { color: #524c33ed; font: 500 20px/1.5 var(--serif); }
.values-list h3 { font-weight: 700; }
.site-footer { color: #f6f0ea; background: #303324; font: 500 18px/1.5 var(--serif); }
.footer-inner { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; padding: 32px 55px 31px; background: url('https://vintagehungary.hu/wp-content/uploads/2025/08/footer_leaf_desktop_webp.webp') right center/20% auto no-repeat; }
.footer-brand { border-right: 1px solid #b08a4a91; }
.footer-brand img { width: 250px; height: auto; }
.footer-column:nth-child(2) { padding-left: 40px; }
.footer-brand > p { white-space: nowrap; }
.footer-rule { display: block; width: 28px; height: 1.5px; margin: 24px 0; background: var(--gold); }
.footer-column h2 { font: 600 22px/1.2 var(--serif); }
.footer-column .footer-rule { margin: 14px 0; }
.footer-column li + li { margin-top: 4px; }
.footer-contact p { font-weight: 400; line-height: 1.5; }
.footer-contact strong { font-weight: 600; }
.footer-contact a[href^='mailto'] { text-decoration: underline; text-underline-offset: 3px; }
.site-footer a:hover { color: #d5b47d; }
.social-links { display: flex; gap: 15px; margin-top: 20px; margin-left: -5px; padding: 5px; }
.social-links a { display: grid; place-items: center; width: 50px; height: 50px; color: var(--gold); }
.social-links .icon-original { width: 50px; height: 50px; }
.footer-bottom { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0 55px 20px; font: 400 20px/1.5 var(--serif); }
.footer-bottom::before { content: ''; position: absolute; top: -16px; right: 55px; left: 55px; height: 1px; background: #b08a4a91; }
.footer-bottom p { display: flex; align-items: center; min-height: 45px; }
.footer-bottom img { width: 464px; height: auto; }

/* Az eredeti oldal tablet- és mobilnézete. */
@media (max-width: 1024px) {
  .desktop-only, .desktop-break { display: none; }
  .hero-copy > p { word-spacing: 1.45px; color: #33332a; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* post-653: desktop header remains visible; logo/nav may shrink and wrap. */
  .header-inner { min-height: 72px; padding: 10px 72px; gap: 0; flex-wrap: nowrap; }
  .brand { flex: 0 1 300px; min-width: 0; margin-right: 20px; }
  .brand img { width: 300px; max-width: 100%; }
  .main-nav { display: block; position: static; flex: 0 1 auto; min-width: 0; padding: 0; overflow: visible; border: 0; box-shadow: none; }
  .main-nav > ul { display: flex; flex-wrap: wrap; gap: 0; }
  .main-nav > ul > li > a, .main-nav summary { padding: 13px 20px; font-size: 14px; line-height: 20px; white-space: nowrap; }
  .header-actions { display: flex; flex: 0 1 50px; min-width: 0; }
  .cart-link { flex: 0 0 50px; margin: 0; order: 0; }
  .menu-toggle { display: none; }

  /* Live .d17a9e6/.c8c6cf8 is content-height on tablet, not 80vh. */
  .hero { min-height: 0; }
  .hero-picture img { object-position: right center; }
  .hero::after { background: linear-gradient(180deg, #fbf7f3 0%, #f5f5f500 100%); opacity: .5; }
  .hero-inner { max-width: 1024px; padding: 16px 80px; }
  .hero-copy { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: none; }
  .hero h1, .hero-copy > p { width: 69%; min-width: 0; padding-inline: 10px; }
  .hero h1 { padding-top: 10px; font-size: 50px; line-height: 1; letter-spacing: 0; }
  .hero-copy > p { max-width: calc(69% - 150px); margin: 20px 0 0; padding-bottom: 10px; font-size: 21px; font-weight: 400; line-height: 1.5; }
  .hero-actions { gap: 20px; margin-top: 20px; padding: 0; }
  .hero-actions .button { flex: 0 1 auto; min-width: 0; min-height: 0; padding: 22px 30px; font-size: 16px; line-height: 1; gap: 15px; }

  /* Main side padding and section headings are not reduced on tablet. */
  .section { padding-right: 80px; padding-left: 80px; }
  .section h2 { font-size: 46px; line-height: 1; }
  .section-description > p { font-size: 16px; line-height: 1; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; }
  .product-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .product-card--ambient .product-media { margin: 0; }
  .product-card--ambient .product-media img { object-fit: contain; }
  .seasonal-banner { min-height: 0; aspect-ratio: auto; }
  .seasonal-banner > img { object-position: center top; }

  /* Relocate the single existing arrival link to its live tablet position. */
  .section--arrivals { display: grid; grid-template-columns: minmax(0, 1fr); }
  .section--arrivals > .eyebrow { grid-row: 1; }
  .section--arrivals > h2 { grid-row: 2; }
  .section--arrivals > .section-description { display: contents; }
  .section--arrivals .section-description > p { grid-row: 3; margin: 20px 0 34px; }
  .section--arrivals > .product-grid { grid-row: 4; }
  .section--arrivals .section-description > .text-link { grid-row: 5; justify-self: center; margin-top: 20px; color: var(--gold); }
  .section--arrivals > .featured-label { grid-row: 6; }
  .section--arrivals > .featured-grid { grid-row: 7; }

  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .category-card > h3 { top: 2px; left: 9px; font-size: 30px; line-height: 1; }
  .category-card--decor > h3 { top: 1px; left: 7px; }
  .category-links a { font-size: 22px; padding: 8px 12px; }

  .reviews { padding-right: 90px; padding-left: 90px; }
  .reviews h2 { font-size: 32px; line-height: 1; }
  .review-track { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; }

  /* post-61 tablet USP: image/title panel, then a full-width list below. */
  .values { padding: 0; background: #e6d7c3; }
  .values-inner { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .values h2 { display: flex; align-items: center; flex: none; width: 100%; max-width: none; min-height: 300px; margin: 0; padding: 20px 80px; background: url('assets/images/webp/bottom_usp.webp') left center / cover no-repeat; font-size: 22px; line-height: 1.4; }
  .values-list { flex: none; width: 100%; margin: 0; padding: 20px 80px; background: #fdf6eb; }

  /* post-298 retains four columns on tablet. */
  .footer-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 32px 55px 0; }
  .footer-brand { min-width: 0; padding-right: 4%; }
  .footer-brand > p { white-space: normal; }
  .footer-column:nth-child(2), .footer-column:nth-child(3), .footer-contact { min-width: 0; padding-left: 4%; }
  .footer-contact a { overflow-wrap: anywhere; }
  .footer-bottom { align-items: center; font-size: 14px; }
}

@media (max-width: 767px) {
  /* Mobile's separate live header: logo, cart, then burger. */
  .announcement { padding: 10px 12px 8px; font-size: 12px; line-height: 1; }
  .header-inner { min-height: 55px; padding: 0 20px; gap: 10px; flex-wrap: nowrap; border-bottom: 0; }
  .brand { flex: 0 1 200px; min-width: 0; margin-right: 20px; order: 0; }
  .header-actions { display: flex; flex: 0 1 52%; min-width: 0; align-items: center; justify-content: flex-end; gap: 10px; }
  .brand img { width: 200px; max-width: 100%; }
  .cart-link { display: flex; flex: 0 0 45px; width: 45px; height: 45px; margin: 0; padding: 10px; order: 1; }
  .cart-link > .icon-original, .cart-link > .icon { width: 25px; height: 25px; }
  .cart-count { width: 19px; height: 19px; top: 0; right: 0; font-size: 12px; line-height: 19px; }
  .menu-toggle { display: flex; flex: 0 0 33px; flex-direction: column; justify-content: center; align-items: center; width: 33px; height: 33px; margin: 0; padding: 5.5px; border: 0; border-radius: 3px; background: transparent; color: #6e4b3a; order: 2; }
  .menu-toggle .icon-original { width: 22px; height: 22px; }
  .menu-icon--close, .menu-toggle[aria-expanded='true'] .menu-icon--open { display: none; }
  .menu-toggle[aria-expanded='true'] .menu-icon--close { display: block; }
  .main-nav { display: none; position: absolute; z-index: 30; top: 100%; right: 0; left: 0; width: 100%; max-width: 100%; max-height: 75vh; overflow-y: auto; padding: 10px 0 0; border-top: 1px solid #d8cbbb; border-radius: 0 0 12px 12px; background: var(--background); box-shadow: 0 18px 22px -18px #2f332180; }
  .main-nav.is-open { display: block; }
  .main-nav > ul { display: block; }
  .main-nav > ul > li { border-bottom: 1px solid #d8cbbb73; }
  .main-nav > ul > li > a, .main-nav summary { justify-content: flex-start; padding: 22px 28px; color: var(--ink); font-size: 14px; line-height: 1.2; white-space: normal; }
  .submenu { position: static; min-width: 0; max-width: 100%; margin: 0; padding: 8px 0; border: 0; border-bottom: 1px solid #d8cbbb8c; box-shadow: none; background: var(--background); }
  .submenu a { padding: 14px 0 14px 34px; font: 800 14px/1.5 var(--display); letter-spacing: 1px; overflow-wrap: anywhere; }
  .submenu a.menu-category-link { gap: 10px; min-height: 64px; padding: 14px 0 14px 34px; line-height: 1.5; }
  .submenu .menu-category-icon { flex-basis: 48px; width: 48px; height: 48px; }

  .hero { min-height: 80vh; }
  .hero-picture img { object-position: right center; }
  .hero::after { background: linear-gradient(180deg, #fbf7f3 0%, #f5f5f500 52%); opacity: 1; }
  .hero-inner { min-height: inherit; max-width: 767px; padding: 10px 20px; }
  .hero-copy { display: flex; flex-direction: column; justify-content: flex-start; width: 100%; min-width: 0; min-height: calc(80vh - 20px); max-width: 100%; }
  .hero h1 { margin: 8px 0 12px; font-size: 40px; line-height: 1; letter-spacing: 0; }
  .hero-copy > p { width: 100%; max-width: 100%; margin: 0; font-size: 18px; font-weight: 400; line-height: 1.5; }
  .hero-actions { justify-content: space-between; gap: 0; width: 100%; margin-top: auto; padding-top: 27px; }
  .hero-actions .button { flex: 0 0 48%; min-width: 0; min-height: 0; max-width: 48%; padding: 15px 0; font-size: 14px; line-height: 1; gap: 15px; }
  .hero-actions .button .icon-original, .hero-actions .button .icon { width: 14px; height: 14px; }
  .hero-actions .button--outline { color: #fff; background: transparent; border-color: #ebe3d8; }

  .section { padding-right: 20px; padding-left: 20px; }
  .section--arrivals { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: 40px; }
  .section--arrivals > .eyebrow { grid-row: 1; margin-bottom: 28px; }
  .section h2 { font-size: 36px; line-height: 1; }
  .section--arrivals > h2 { grid-row: 2; }
  .eyebrow { font-size: 14px; line-height: 1; }
  .section--arrivals > .section-description { display: contents; }
  .section--arrivals .section-description > p { grid-row: 3; margin: 28px 0 38px; font-size: 16px; line-height: 1; }
  .section--arrivals > .product-grid { grid-row: 4; }
  .section--arrivals .section-description > .text-link { grid-row: 5; justify-self: center; margin-top: 20px; color: var(--gold); }
  .section--arrivals > .featured-label { grid-row: 6; }
  .section--arrivals > .featured-grid { grid-row: 7; }
  .text-link { max-width: 100%; font-size: 14px; line-height: 1; }
  .product-grid, .product-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 10px; align-items: stretch; }
  .product-card, .product-link, .product-info { min-width: 0; }
  .product-card--ambient .product-media { margin: 0; }
  .product-media, .product-card--ambient .product-media { aspect-ratio: 1; }
  .product-media img, .product-card--ambient .product-media img { object-fit: contain; }
  .product-info, .product-grid--featured .product-info { padding: 16px 18px 13px; }
  .product-info h3, .product-grid--featured h3 { font-size: 18px; line-height: 1.2; overflow-wrap: anywhere; }
  .product-price { margin-top: 6px; font-size: 14px; }
  .featured-label { height: 31px; gap: 20px; margin: 20px 0 20px; font-size: 14px; line-height: 1; letter-spacing: .2em; }
  .featured-label::before, .featured-label::after { min-width: 0; }
  .featured-label > .icon-original { width: 18px; height: 18px; }
  .featured-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .seasonal-banner { min-height: 366px; aspect-ratio: auto; }
  .seasonal-banner > img { object-position: center top; }
  .product-grid--featured { margin-top: 12px; padding-top: 10px; }

  .featured-mobile-link { display: flex; margin-top: 20px; padding: 16px 20px; min-height: 52px; font: 400 16px/1 'Inter', sans-serif; }
  .section--collections { padding-top: 40px; padding-bottom: 40px; }
  .section--collections .eyebrow { height: 32px; margin-bottom: 20px; }
  .section--collections .section-description { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0; margin-top: 20px; margin-bottom: 28px; }
  .section--collections .section-description > p { width: 100%; font-size: 16px; line-height: 1; }
  .section--collections .section-description > .text-link { margin-top: 20px; padding-bottom: 2px; }
  .category-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .category-card { min-width: 0; padding: 10px; border-radius: 4px; }
  .category-card > h3 { top: 13px; left: 11px; font-size: 26px; line-height: 1; }
  .category-card--decor > h3 { top: 13px; left: 7px; }
  .category-links, .category-card--decor .category-links { grid-template-columns: minmax(0, 1fr); row-gap: 0; margin-top: 16px; }
  .category-links::after { display: none; }
  .category-links a, .category-card--decor .category-links a, .category-card--decor .category-links a:nth-child(n+4), .category-card--decor .category-links a:last-child { grid-column: auto; min-width: 0; min-height: 50.5px; padding: 8px; border: 0; font-size: 19px; line-height: 1; }
  .category-links a > .icon-original, .category-links a > .icon { width: 30px; height: 30px; margin: 2.25px 0; }

  .reviews { padding: 0 20px; }
  .reviews .eyebrow { margin-bottom: 28px; }
  .reviews h2 { font-size: 24px; line-height: 1; }
  .reviews-carousel { margin-top: 30px; padding: 0 calc(2% + 20px); }
  .review-track { grid-auto-columns: 100%; gap: 10px; }
  .review-card figcaption { padding: 15px 15px 6px; }
  .review-card blockquote { padding: 6px 15px 15px; font-size: 14px; line-height: 20px; }
  .review-arrow { width: 24px; }
  .review-arrow--previous { left: 4px; }
  .review-arrow--next { right: 4px; }
  .review-arrow .icon-original { width: 20px; height: 20px; }

  /* The blank source grid cell becomes left padding, with no overflow. */
  .values { margin-top: 20px; padding: 0; background: #e6d7c3; }
  .values-inner { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .values h2 { display: flex; align-items: center; flex: none; width: 100%; max-width: 100%; min-height: 300px; margin: 0; padding: 25px 25px 25px 50%; background: url('assets/images/webp/bottom_usp_mobile.webp') left center / cover no-repeat; font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
  .values-list { flex: none; width: 100%; padding: 20px; border-radius: 0; background: #fdf6eb; }
  .values-list > li { min-width: 0; gap: 10px; padding-bottom: 10px; }
  .values-list > li + li { margin-top: 10px; }
  .values-list > li > div { min-width: 0; }
  .values-list h3, .values-list p { font-size: 16px; line-height: 1.5; }
  .values-list p { font-weight: 400; }
  .value-icon { flex-basis: 40px; height: 40px; border: 0; }
  .value-icon .icon-original, .value-icon .icon { width: 40px; height: 40px; }

  .footer-inner { grid-template-columns: repeat(2, minmax(0, 48%)); justify-content: space-between; gap: 20px 0; padding: 20px 20px 0; background-image: url('https://vintagehungary.hu/wp-content/uploads/2025/08/footer_leaf_webp.webp'); background-position: right bottom; background-size: 49% auto; }
  .footer-brand { grid-column: 1 / -1; grid-row: 1; min-width: 0; padding: 0; border-right: 0; }
  .footer-brand img { width: 200px; }
  .footer-brand > p { font-size: 18px; line-height: 1.5; white-space: normal; }
  .footer-brand .footer-rule { margin: 16px 0 12px; }
  .social-links { gap: 5px; margin-top: 8px; padding: 0; }
  .footer-column { min-width: 0; padding: 0; font-size: 18px; }
  .footer-column:nth-child(2) { grid-column: 2; grid-row: 2; padding: 0; }
  .footer-column:nth-child(3) { grid-column: 1; grid-row: 2; padding: 0; }
  .footer-column h2 { font: 600 18px/1.2 var(--sans); }
  .footer-column .footer-rule { margin: 10px 0; }
  .footer-column li + li { margin-top: 3px; }
  .footer-column a { overflow-wrap: anywhere; }
  .footer-contact { grid-column: 1; grid-row: 3; width: 104.166667%; margin-top: 10px; padding: 0 0 20px; }
  .footer-contact a[href^='mailto'] { white-space: nowrap; overflow-wrap: normal; }
  .footer-bottom { flex-direction: column; align-items: center; gap: 0; padding: 0 20px 20px; border-top: 0; font-size: 14px; line-height: 1.5; }
  .footer-bottom::before { display: none; }
  .footer-bottom p { justify-content: center; min-height: 45px; }
  .footer-bottom img { width: calc(80% + 32px); max-width: 100%; height: auto; }
}

/* Intentional 320px robustness guards, absent from the original: prevent the
 * existing long strings and button contents from establishing wide min-content.
 * Main typography/padding are retained; no 359px redesign is introduced. */
@media (max-width: 359px) {
  .hero-actions .button { gap: 8px; }
  .featured-label { gap: 10px; letter-spacing: .12em; }
  .product-info, .product-grid--featured .product-info { padding-right: 12px; padding-left: 12px; }
  .footer-column a { hyphens: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}


/* Visszafogottabb, tartalomhoz igazodó főoldali banner. */
.hero { min-height: 0; }
.hero-inner { padding-top: 32px; padding-bottom: 32px; }
.hero h1 { font-size: 64px; line-height: 1.04; }
.hero-copy > p { margin-top: 16px; font-size: 22px; line-height: 1.4; }
.hero-actions { margin-top: 24px; }
.hero-actions .button { min-height: 56px; padding-top: 18px; padding-bottom: 18px; }
@media (min-width: 768px) and (max-width: 1024px) {
 .hero-inner { padding-top: 24px; padding-bottom: 24px; }
 .hero h1 { padding-top: 0; font-size: 44px; }
 .hero-copy > p { margin-top: 12px; padding-bottom: 0; font-size: 19px; }
 .hero-actions { margin-top: 20px; }
}
@media (max-width: 767px) {
 .hero, .hero-inner, .hero-copy { min-height: 0; }
 .hero-inner { padding: 24px 20px; }
 .hero h1 { margin: 0; font-size: 36px; }
 .hero-copy > p { margin-top: 12px; font-size: 17px; }
 .hero-actions { margin-top: 20px; padding-top: 0; }
 .hero-actions .button { min-height: 46px; padding-top: 13px; padding-bottom: 13px; }
}

/* A képes banner körülbelül 10%-kal magasabb, változatlan szövegmérettel. */
.hero-inner { padding-top: 53.06px; padding-bottom: 53.06px; }
@media (min-width: 768px) and (max-width: 1024px) { .hero-inner { padding-top: 40px; padding-bottom: 40px; } }
@media (max-width: 767px) { .hero-inner { padding-top: 36.42px; padding-bottom: 36.42px; } }

.hero-copy { display: flex; flex-direction: column; gap: 24px; }
.hero h1, .hero-copy > p, .hero-actions { margin-top: 0; margin-bottom: 0; }
@media (max-width: 1024px) { .hero-copy { gap: 20px; } }

.hero-copy { justify-content: space-between; gap: 0; min-height: 365.26px; }
@media (min-width: 768px) and (max-width: 1024px) { .hero-copy { min-height: 300px; } }
@media (max-width: 767px) { .hero-copy { min-height: 216.47px; } }

.hero-inner { padding-top: 32px; padding-bottom: 32px; }
@media (max-width: 1024px) { .hero-inner { padding-top: 24px; padding-bottom: 24px; } }

.hero-inner { padding-top: 16px; padding-bottom: 16px; }

.hero-inner { padding-top: 56px; padding-bottom: 16px; }

@media (max-width: 767px) {
 .hero { aspect-ratio: 941 / 1672; }
 .hero-picture img { object-position: center center; }
}

/* A plusz magasság a banner tartományát növeli, nem a felső paddinget. */
.hero-inner { padding-top: 16px; padding-bottom: 16px; }
@media (min-width: 1025px) { .hero-copy { min-height: 405.26px; } }
@media (min-width: 768px) and (max-width: 1024px) { .hero-copy { min-height: 340px; } }

.hero-picture img { object-position: center center; }
@media (min-width: 1025px) { .hero-copy { min-height: 525.26px; } }
@media (min-width: 768px) and (max-width: 1024px) { .hero-copy { min-height: 460px; } }

.hero-inner { padding-top: 24px; padding-bottom: 24px; }

.hero-inner { padding-top: 40px; padding-bottom: 40px; }

/* Asztali banner: a vintagehungary.hu élő méretei és szövegelhelyezése. */
@media (min-width: 1025px) {
 .hero { min-height: 80vh; aspect-ratio: auto; }
 .hero-inner { max-width: 1444px; padding: 80px 55px 0; }
 .hero-copy { display: block; width: 550px; max-width: 100%; min-height: 0; }
 .hero h1 { margin: 0; font: 500 76px/1 var(--serif); }
 .hero-copy > p { max-width: 400px; margin: 30px 0 0; font: 400 24px/1.5 var(--serif); }
 .hero-actions { display: flex; gap: 20px; margin: 66px 0 0; }
 .hero-actions .button { min-height: 64px; padding: 22px 30px; }
}

/* Mobil banner: felül szöveg, a kép alján a gombok, az élő oldal ritmusával. */
@media (max-width: 767px) {
 .hero { min-height: 80vh; aspect-ratio: auto; }
 .hero-inner { min-height: inherit; padding: 10px 20px; }
 .hero-copy { display: flex; flex-direction: column; justify-content: flex-start; min-height: calc(80vh - 20px); gap: 0; }
 .hero h1 { margin: 8px 0 12px; font-size: 40px; line-height: 1; }
 .hero-copy > p { margin: 0; font-size: 18px; line-height: 1.5; }
 .hero-actions { margin-top: auto; margin-bottom: 0; padding-top: 27px; }
 .hero-actions .button { min-height: 46px; padding: 15px 0; }
 .hero-picture img { object-position: center center; }
}

@media (max-width: 767px) { .hero-actions { margin-bottom: 16px; } }

/* A főoldali tartalom nagy munkaterületen és kizoomolva sem nyúlik szét. */
.page-home > main { width: 100%; max-width: 1444px; margin-inline: auto; }
@media (min-width: 1025px) { .page-home .hero { min-height: min(80vh,720px); } }

/* A képes hátterek kifutnak, a tartalom középen marad. */
.page-home > main { max-width: none; }
.page-home > main > .section { max-width: 1444px; margin-inline: auto; }
@media (min-width: 1025px) {
 .page-home .values { padding: 0; }
 .page-home .values-inner { width: 100%; max-width: 1444px; margin-inline: auto; padding: 50px 100px 50px 250px; }
}

/* Keep footer content on the same responsive page grid. */
.site-footer{--footer-content-width:1320px;--footer-content-gutter:32px}
.site-footer .footer-inner,.site-footer .footer-bottom{width:calc(100% - 2 * var(--footer-content-gutter));max-width:var(--footer-content-width);margin-inline:auto;padding-inline:0}
.site-footer .footer-bottom::before{left:0;right:0}
@media(max-width:1024px){.site-footer{--footer-content-gutter:20px}}
@media(min-width:768px){.page-home .site-footer{--footer-content-width:1284px;--footer-content-gutter:80px}}
