/*
Theme Name: Dobphone Pro
Theme URI: https://dobphone.hu
Author: dobphone
Description: Apple-stílusú egyedi WordPress téma az országos szervizfutár szolgáltatáshoz. Statikus oldalsablonok (PHP) a tartalmi oldalakhoz, WooCommerce + Elementor kompatibilitás a szolgáltatáskatalógushoz (/araink/).
Version: 3.0.145
License: GNU General Public License v2 or later
Text Domain: dobphone
*/

/* ============================================
   DESIGN TOKENS (CSS Custom Properties)
   Ezeket az Elementor Custom CSS mezőkben is
   használhatod: var(--dp-blue) stb.
   ============================================ */
:root {
  --dp-black: #000000;
  --dp-dark: #1D1D1F;
  --dp-mid: #424245;
  --dp-light: #6E6E73;
  --dp-bg: #F5F5F7;
  --dp-white: #FFFFFF;
  --dp-blue: #0066CC;
  --dp-blue-hover: #0077ED;
  --dp-radius: 18px;
  --dp-radius-sm: 10px;
  --dp-shadow: 0 4px 24px rgba(0,0,0,0.08);
  --dp-shadow-lg: 0 16px 48px rgba(0,0,0,0.14);
  --dp-nav-blur: rgba(255,255,255,0.82);
  --dp-font: -apple-system, "SF Pro Display", "SF Pro Text", BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ============================================
   RESET & BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--dp-font);
  background: var(--dp-white);
  color: var(--dp-dark);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  margin: 0;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--dp-blue); }

/* ============================================
   HEADER / NAVIGATION
   (téma biztosítja, Elementor felülírhatja
    Theme Builderrel ha lesz Pro)
   ============================================ */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  height: 56px;
  background: var(--dp-nav-blur);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0,0,0,0.08);
  display: flex; align-items: center; justify-content: flex-start;
  padding: 0 24px;
  transition: background 0.3s ease;
}
.site-logo {
  font-size: 19px; font-weight: 700; letter-spacing: -0.3px;
  color: var(--dp-dark); text-decoration: none;
  display: flex; align-items: center; gap: 8px;
}
.site-logo img { max-height: 28px; width: auto; }
.main-navigation{margin:0 auto;}
.nav-cta{margin-left:8px;}

.main-navigation { display: flex; }
.main-navigation ul {
  display: flex; gap: 28px; list-style: none; margin: 0; padding: 0;
  align-items: center;
}
.main-navigation li { position: relative; }
.main-navigation a {
  font-size: 14px; font-weight: 500; color: var(--dp-dark); text-decoration: none;
  opacity: 0.8; transition: opacity .2s; display: block; padding: 8px 0;
}
.main-navigation a:hover { opacity: 1; }

/* Submenu (mega-menu helyett egyszerű dropdown, ingyenes Elementor kompatibilis) */
.main-navigation li:hover > .sub-menu { display: block; }
.main-navigation .sub-menu {
  display: none; position: absolute; top: 100%; left: 0;
  background: var(--dp-white); border-radius: var(--dp-radius-sm);
  box-shadow: var(--dp-shadow-lg); padding: 10px; min-width: 240px;
  list-style: none; z-index: 100;
}
.main-navigation .sub-menu li { width: 100%; }
.main-navigation .sub-menu a {
  padding: 10px 14px; border-radius: 8px; opacity: 1; color: var(--dp-mid);
  font-size: 14px;
}
.main-navigation .sub-menu a:hover { background: var(--dp-bg); color: var(--dp-blue); }

/* ── Szolgáltatások MEGA-MENÜ (2 oszlop, ikon balra, főoldali stílus) ── */
.main-navigation .sub-menu.dp-mega-menu {
  position: absolute; top: 100%; left: 0;
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow-lg); padding: 16px;
  list-style: none; z-index: 100;
  grid-template-columns: repeat(2, minmax(245px, 1fr));
  gap: 6px; width: 580px; min-width: 0;
  display: none;
}
.main-navigation li:hover > .sub-menu.dp-mega-menu { display: grid; }
.main-navigation .dp-mega-menu .dp-mega-item { width: auto; }
.main-navigation .dp-mega-menu .dp-mega-item > a {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px; border-radius: var(--dp-radius-sm);
  opacity: 1; text-decoration: none;
}
.main-navigation .dp-mega-menu .dp-mega-item > a:hover { background: var(--dp-bg); }
.dp-mega-icon {
  flex: 0 0 48px; width: 48px; height: 48px; border-radius: 12px;
  background: #EBF4FF; color: var(--dp-blue);
  display: flex; align-items: center; justify-content: center; font-size: 22px;
}
.dp-mega-text { display: flex; flex-direction: column; gap: 3px; }
.dp-mega-title { font-size: 15px; font-weight: 600; color: var(--dp-dark); line-height: 1.25; }
.dp-mega-desc { font-size: 13px; color: var(--dp-light); line-height: 1.4; }

.nav-cta {
  font-size: 14px; font-weight: 600;
  color: #fff; text-decoration: none;
  padding: 8px 20px; background: var(--dp-blue); border-radius: 980px;
  transition: background .2s, transform .15s;
}
.nav-cta:hover { background: var(--dp-blue-hover); transform: scale(1.02); color:#fff; }

/* Header ikon-gombok (Kosár, Fiókom) */
.dp-header-actions {
  display: flex; align-items: center; gap: 6px; margin-left: 0;
}
.dp-icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
  width: 40px; height: 40px; border-radius: 50%;
  color: var(--dp-dark); text-decoration: none;
  transition: background .2s, color .2s;
}
.dp-icon-btn svg { width: 22px; height: 22px; }
.dp-icon-btn:hover { background: var(--dp-bg); color: var(--dp-blue); }
.dp-cart-count {
  position: absolute; top: 2px; right: 2px;
  min-width: 16px; height: 16px; padding: 0 4px;
  background: var(--dp-blue); color: #fff;
  border-radius: 999px; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
.dp-cart-count.dp-hidden { display: none; }

/* Mobile menu toggle */
.menu-toggle {
  display: none; background: none; border: none; cursor: pointer;
  padding: 8px; flex-direction: column; gap: 4px;
}
.menu-toggle span { width: 22px; height: 2px; background: var(--dp-dark); border-radius: 2px; }

/* ============================================
   GLOBAL UTILITY CLASSES
   (Elementorban CSS class mezőbe írhatók)
   ============================================ */

/* Glassmorphism kártyák */
.dp-glass {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.5);
  border-radius: var(--dp-radius);
}
.dp-glass-dark {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--dp-radius);
}

/* Lebegő animáció */
@keyframes dp-float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-14px); }
}
.dp-float { animation: dp-float 4s ease-in-out infinite; }
.dp-float-delay { animation: dp-float 4s ease-in-out infinite; animation-delay: -2s; }
.dp-float-delay2 { animation: dp-float 4s ease-in-out infinite; animation-delay: -1s; }

/* Scroll-fade-up animáció (Intersection Observer JS-sel együtt) */
.dp-fade-up {
  opacity: 0; transform: translateY(32px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.dp-fade-up.is-visible { opacity: 1; transform: translateY(0); }
.dp-fade-up.delay-1 { transition-delay: 0.1s; }
.dp-fade-up.delay-2 { transition-delay: 0.2s; }
.dp-fade-up.delay-3 { transition-delay: 0.3s; }
.dp-fade-up.delay-4 { transition-delay: 0.4s; }

/* Kártya hover */
.dp-card {
  background: var(--dp-white);
  border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.dp-card:hover { transform: translateY(-4px); box-shadow: var(--dp-shadow-lg); }

/* Gombok (Elementor button widget "Custom CSS class" mezőbe) */
.dp-btn-primary {
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; font-weight: 600 !important;
  transition: background .2s, transform .15s !important;
}
.dp-btn-primary:hover { background: var(--dp-blue-hover) !important; transform: scale(1.02); }

.dp-btn-secondary {
  background: rgba(255,255,255,0.12) !important; color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
  border-radius: 980px !important; font-weight: 600 !important;
  transition: background .2s, transform .15s !important;
}
.dp-btn-secondary:hover { background: rgba(255,255,255,0.2) !important; transform: scale(1.02); }

/* Eyebrow szöveg */
.dp-eyebrow {
  font-size: 13px; font-weight: 600; letter-spacing: 0.08em;
  color: var(--dp-blue); text-transform: uppercase;
}
.dp-eyebrow-light {
  font-size: 13px; font-weight: 600; letter-spacing: 0.08em;
  color: #6FA8FF; text-transform: uppercase;
}

/* Hero gradient háttér */
.dp-hero-bg {
  background: linear-gradient(180deg, #000 0%, #1a1a2e 60%, #16213e 100%);
  position: relative; overflow: hidden;
}
.dp-hero-bg::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(0,102,204,0.18) 0%, transparent 70%);
  pointer-events: none;
}

/* Stat számok */
.dp-stat-num {
  font-size: clamp(40px, 6vw, 72px); font-weight: 700; color: #fff;
  letter-spacing: -0.03em; line-height: 1;
}
.dp-stat-num span { color: var(--dp-blue); }

/* SVG ikon wrapper — mindig éles, sosem emoji */
.dp-icon { display: inline-flex; align-items: center; justify-content: center; }
.dp-icon svg { width: 100%; height: 100%; }

/* ============================================
   FOOTER
   ============================================ */
.site-footer { background: var(--dp-white); border-top: 1px solid #E5E5EA; padding: 0 24px 34px; }
.footer-inner { max-width: 1200px; margin: 0 auto; }

/* Figyelemfelhívó CTA sáv */
.footer-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap;
  background: linear-gradient(135deg, #0066CC 0%, #0A84FF 100%);
  border-radius: var(--dp-radius); padding: 30px 36px; margin: 52px 0 56px;
  box-shadow: 0 14px 34px rgba(0,102,204,.22);
}
.footer-cta-text h3 { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
.footer-cta-text p { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.88); max-width: 540px; }
.footer-cta-btn {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--dp-blue); border-radius: 980px; padding: 13px 30px;
  font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap;
  transition: transform .15s, box-shadow .2s;
}
.footer-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.20); }

/* Oszlopok */
.footer-grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px;
  padding-bottom: 36px; border-bottom: 1px solid #ECECEF;
}
.footer-logo { font-size: 20px !important; font-weight: 700 !important; color: var(--dp-dark) !important; text-transform: none !important; letter-spacing: -0.01em !important; margin: 0 0 12px !important; }
.footer-tagline { font-size: 14px; color: var(--dp-light); line-height: 1.6; max-width: 290px; margin: 0 0 22px; }
.footer-contact { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 13px; }
.footer-contact li { display: flex; align-items: center; gap: 11px; font-size: 14px; color: var(--dp-mid); }
.footer-contact a { color: var(--dp-mid); text-decoration: none; }
.footer-contact a:hover { color: var(--dp-blue); }
.footer-ic { flex: 0 0 18px; width: 18px; height: 18px; color: var(--dp-blue); display: inline-flex; align-items: center; justify-content: center; }
.footer-ic svg { width: 18px; height: 18px; }
.footer-col h4 { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--dp-light); margin: 0 0 16px; }
.footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
.footer-col a { font-size: 14px; color: var(--dp-mid); text-decoration: none; }
.footer-col a:hover { color: var(--dp-blue); }

/* Alsó sáv */
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 14px; padding-top: 24px;
}
.footer-copy { font-size: 13px; color: var(--dp-light); }
.footer-nav ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.footer-nav a { font-size: 13px; color: var(--dp-light); text-decoration: none; }
.footer-nav a:hover { color: var(--dp-blue); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 880px) {
  .main-navigation, .nav-cta { display: none; }
  .menu-toggle { display: flex; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-cta { padding: 26px 28px; margin: 44px 0 44px; }
  .dp-header-actions { margin-left: auto; }
  .dp-icon-btn { width: 38px; height: 38px; }
  .site-header { padding: 0 24px; }

  /* Hamburger → X animáció */
  .menu-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2) { opacity: 0; }
  .menu-toggle.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .menu-toggle span { transition: transform 0.2s ease, opacity 0.2s ease; }
}

/* ── Mobilmenü overlay (JS hozza létre, #dp-mobile-menu ID-val) ── */
#dp-mobile-menu {
  display: none;
  position: fixed;
  top: 56px; left: 0; right: 0; bottom: 0;
  background: var(--dp-white);
  padding: 24px 24px 100px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 9998;
  flex-direction: column;
}
#dp-mobile-menu.is-open {
  display: flex;
  animation: dp-menu-in 0.25s ease;
}
#dp-mobile-menu ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
#dp-mobile-menu li { width: 100%; border-bottom: 1px solid #E5E5EA; }
#dp-mobile-menu a {
  display: block; padding: 16px 4px;
  font-size: 17px; font-weight: 500;
  color: var(--dp-dark); text-decoration: none;
}
#dp-mobile-menu a:hover { color: var(--dp-blue); }

/* Almenü (Szolgáltatások) */
#dp-mobile-menu .sub-menu {
  display: block !important;
  background: var(--dp-bg);
  border-radius: var(--dp-radius-sm);
  padding: 4px 16px; margin: 0 0 10px;
  position: static !important;
  box-shadow: none !important;
}
#dp-mobile-menu .sub-menu li { border-bottom: none; }
#dp-mobile-menu .sub-menu a { padding: 10px 4px; font-size: 15px; color: var(--dp-mid); }

/* "Javítást kérek" gomb az overlay alján */
.dp-mobile-cta-btn {
  display: block; text-align: center; margin-top: 24px;
  background: var(--dp-blue); color: #fff !important;
  padding: 16px; border-radius: 980px;
  font-size: 17px; font-weight: 600;
  text-decoration: none !important;
}
.dp-mobile-cta-btn:hover { background: var(--dp-blue-hover); }

@keyframes dp-menu-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 520px) {
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-cta { flex-direction: column; align-items: flex-start; padding: 24px; margin: 36px 0 40px; }
  .footer-cta-btn { width: 100%; }
  .footer-bottom { flex-direction: column; align-items: flex-start; text-align: left; }
  .footer-nav ul { flex-wrap: wrap; gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .dp-float, .dp-float-delay, .dp-float-delay2 { animation: none; }
  .dp-fade-up { opacity: 1; transform: none; transition: none; }
}

/* ============================================
   ELEMENTOR FIXES & ENHANCEMENTS
   ============================================ */

/* Container szélesség igazítás a tokenekhez */
.e-con.dp-section-narrow { max-width: 980px; }
.e-con.dp-section-wide { max-width: 1200px; }

/* Sticky header alatt content offset, hogy ne takarja ki */
.elementor-location-single, body.home > #content,
.site-content { padding-top: 56px; }

/* Accordion (FAQ) Apple-stílus felülírás */
.elementor-accordion .elementor-accordion-item {
  border: none !important; border-bottom: 1px solid #E5E5EA !important;
}
.elementor-accordion .elementor-tab-title {
  font-weight: 600 !important; font-size: 18px !important; padding: 22px 4px !important;
}
.elementor-accordion .elementor-tab-content { padding: 0 4px 22px !important; color: var(--dp-light) !important; font-size: 16px !important; }

/* Form mezők lekerekítve */
.elementor-field-group .elementor-field {
  border-radius: var(--dp-radius-sm) !important;
  border: 1px solid #D2D2D7 !important;
  padding: 14px 16px !important;
}
.elementor-field-group .elementor-field:focus { border-color: var(--dp-blue) !important; outline: none !important; }

/* ============================================
   PAGE TEMPLATE COMPONENTS
   (PHP oldalsablonokhoz: front-page, category
   pages, static content pages, city pages)
   ============================================ */

/* ── Container helper ── */
.dp-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.dp-container-narrow { max-width: 980px; margin: 0 auto; padding: 0 24px; }
.dp-container-text { max-width: 720px; margin: 0 auto; padding: 0 24px; }

/* ── Section spacing ── */
.dp-section { padding: 100px 0; }
.dp-section-sm { padding: 60px 0; }
@media (max-width: 720px) {
  .dp-section { padding: 60px 0; }
  .dp-section-sm { padding: 40px 0; }
}

/* ── HERO (page header) variants ── */
.dp-page-hero {
  padding: 150px 24px 80px;
  text-align: center;
  position: relative; overflow: hidden;
}
.dp-page-hero.dp-hero-dark {
  background: linear-gradient(180deg, #000 0%, #1a1a2e 60%, #16213e 100%);
}
.dp-page-hero.dp-hero-dark::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(0,102,204,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.dp-page-hero.dp-hero-light { background: var(--dp-bg); }

.dp-breadcrumb {
  font-size: 13px; color: var(--dp-light); margin-bottom: 20px;
  display: flex; gap: 6px; justify-content: center; flex-wrap: wrap;
}
.dp-breadcrumb a { color: var(--dp-light); text-decoration: none; }
.dp-breadcrumb a:hover { color: var(--dp-blue); }
.dp-hero-dark .dp-breadcrumb, .dp-hero-dark .dp-breadcrumb a { color: rgba(255,255,255,0.5); }

.dp-h1 {
  font-size: clamp(40px, 7vw, 80px); font-weight: 700;
  letter-spacing: -0.03em; line-height: 1.05;
  margin: 0 0 20px;
}
.dp-hero-dark .dp-h1 { color: #fff; }
.dp-hero-light .dp-h1 { color: var(--dp-dark); }

.dp-lead {
  font-size: clamp(17px, 2.2vw, 21px); line-height: 1.6;
  max-width: 640px; margin: 0 auto 36px;
}
.dp-hero-dark .dp-lead { color: #B8C2D6; }
.dp-hero-light .dp-lead { color: var(--dp-light); }

/* ── Eyebrow ── */
.dp-eyebrow-block { margin-bottom: 12px; text-align: center; }

/* ── Section headings ── */
.dp-h2 {
  font-size: clamp(32px, 5vw, 48px); font-weight: 700;
  letter-spacing: -0.025em; line-height: 1.1;
  color: var(--dp-dark); margin: 0 0 16px;
}
.dp-h2-center { text-align: center; }
.dp-section-lead {
  font-size: 18px; color: var(--dp-light); line-height: 1.6;
  max-width: 600px; margin: 0 auto 50px;
}
.dp-section-lead-center { text-align: center; }

/* ── CTA buttons (link-based, not Elementor) ── */
.dp-btn {
  display: inline-block; font-size: 17px; font-weight: 600;
  padding: 14px 32px; border-radius: 980px; text-decoration: none;
  transition: background .2s, transform .15s, color .2s;
  border: 1.5px solid transparent;
}
.dp-btn-blue { background: var(--dp-blue); color: #fff; }
.dp-btn-blue:hover { background: var(--dp-blue-hover); transform: scale(1.02); color: #fff; }
.dp-btn-outline-dark {
  background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.3);
}
.dp-btn-outline-dark:hover { background: rgba(255,255,255,0.18); transform: scale(1.02); color: #fff; }
.dp-btn-outline-light {
  background: transparent; color: var(--dp-dark); border-color: #D2D2D7;
}
.dp-btn-outline-light:hover { background: var(--dp-bg); transform: scale(1.02); }
.dp-btn-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.dp-btn-sm { padding: 10px 22px; font-size: 14px; }

/* ── Process steps (5-step) ── */
.dp-process {
  display: flex; justify-content: flex-start; gap: 24px; flex-wrap: wrap;
  max-width: 1100px; margin: 0 auto;
}
.dp-process-step {
  flex: 1 1 160px; max-width: 200px;
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px;
}
.dp-process-icon {
  width: 64px; height: 64px; border-radius: 999px;
  background: #EBF4FF; color: var(--dp-blue);
  display: flex; align-items: center; justify-content: center;
  font-size: 26px;
}
.dp-process-step h3 { font-size: 17px; font-weight: 600; margin: 0; color: var(--dp-dark); }
.dp-process-step p { font-size: 14px; color: var(--dp-light); margin: 0; line-height: 1.5; }

/* Mobil: 2 oszlopos elrendezés (2-2-1), középre igazítva — ugyanaz
   a viselkedés a főoldalon és a termékoldal "Egyszerű szervizfolyamat"
   szekciójában, mert mindkettő a dp_render_process_steps()-et hívja. */
@media (max-width: 600px) {
  .dp-process {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    justify-items: center !important;
    align-items: start !important;
    gap: 32px 16px !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    flex-wrap: unset !important;
  }
  .dp-process-step {
    flex: none !important;
    max-width: 160px !important;
    width: 100% !important;
  }
  .dp-process-step:last-child {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
  }
}

/* ── Stat strip (dark) ── */
.dp-stats {
  background: #000; display: flex; justify-content: center; flex-wrap: wrap;
}
.dp-stat {
  flex: 1 1 240px; max-width: 320px; text-align: center; padding: 50px 24px;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.dp-stat:last-child { border-right: none; }
.dp-stat-number {
  font-size: clamp(40px, 6vw, 64px); font-weight: 700; color: #fff;
  letter-spacing: -0.03em; line-height: 1;
}
.dp-stat-number span { color: var(--dp-blue); }
.dp-stat-label { font-size: 14px; color: rgba(255,255,255,0.55); margin-top: 8px; }
@media (max-width: 760px) {
  .dp-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); flex: 1 1 100%; }
  .dp-stat:last-child { border-bottom: none; }
}

/* ── Service / feature cards grid ── */
.dp-card-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
  max-width: 1100px; margin: 0 auto;
}
.dp-card-grid.dp-cols-3 { grid-template-columns: repeat(3, 1fr); }
.dp-feature-card {
  background: #fff; border-radius: var(--dp-radius); padding: 40px;
  box-shadow: var(--dp-shadow); transition: transform .25s, box-shadow .25s;
  text-decoration: none; color: inherit; display: flex; flex-direction: column;
}
.dp-feature-card:hover { transform: translateY(-4px); box-shadow: var(--dp-shadow-lg); }
.dp-feature-icon {
  width: 56px; height: 56px; border-radius: 14px; background: #EBF4FF; color: var(--dp-blue);
  display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 20px;
}
.dp-feature-card h3 { font-size: 24px; font-weight: 700; margin: 0 0 10px; color: var(--dp-dark); }
.dp-feature-card p { font-size: 15px; color: var(--dp-light); line-height: 1.6; margin: 0 0 12px; }
.dp-feature-link { font-size: 15px; color: var(--dp-blue); font-weight: 600; margin-top: auto; }

@media (max-width: 760px) {
  .dp-card-grid, .dp-card-grid.dp-cols-3 { grid-template-columns: 1fr; }
}

/* ── Why-us dark grid ── */
.dp-why-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: rgba(255,255,255,0.1); border-radius: var(--dp-radius); overflow: hidden;
  max-width: 1100px; margin: 0 auto;
}
.dp-why-item { background: #262629; padding: 44px 36px; }
.dp-why-item .dp-feature-icon { background: rgba(0,102,204,0.15); }
.dp-why-item h3 { color: #fff; font-size: 21px; font-weight: 600; margin: 0 0 12px; }
.dp-why-item p { color: rgba(255,255,255,0.6); font-size: 15px; line-height: 1.6; margin: 0; }
@media (max-width: 760px) { .dp-why-grid { grid-template-columns: 1fr; } }

/* ── FAQ accordion (custom, no Elementor) ── */
.dp-faq { max-width: 760px; margin: 0 auto; }
.dp-faq-item { border-bottom: 1px solid #E5E5EA; }
.dp-faq-question {
  width: 100%; text-align: left; background: none; border: none; cursor: pointer;
  padding: 22px 4px; font-size: 18px; font-weight: 600; color: var(--dp-dark);
  display: flex; justify-content: flex-start; align-items: center; gap: 16px;
  font-family: inherit;
}
.dp-faq-question .dp-faq-icon {
  flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--dp-bg); color: var(--dp-blue); font-size: 14px;
  transition: transform 0.25s ease;
}
.dp-faq-item.is-open .dp-faq-icon { transform: rotate(45deg); }
.dp-faq-answer {
  max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
  font-size: 16px; color: var(--dp-light); line-height: 1.6;
}
.dp-faq-answer-inner { padding: 0 4px 22px; }
.dp-faq-item.is-open .dp-faq-answer { max-height: 400px; }

/* ── Contact / form section ── */
.dp-contact-grid {
  display: flex; gap: 60px; flex-wrap: wrap; justify-content: center;
  max-width: 1100px; margin: 0 auto;
}
.dp-contact-info { flex: 1 1 360px; max-width: 420px; }
.dp-contact-block { margin-bottom: 24px; }
.dp-contact-label {
  font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--dp-light); margin-bottom: 4px;
}
.dp-contact-value { font-size: 19px; font-weight: 500; color: var(--dp-dark); }
.dp-contact-value a { color: var(--dp-blue); text-decoration: none; }

.dp-form-card {
  flex: 1 1 420px; max-width: 480px; background: var(--dp-bg);
  border-radius: var(--dp-radius); padding: 40px;
}
.dp-form-card label { display: block; font-size: 14px; font-weight: 600; color: var(--dp-dark); margin-bottom: 6px; }
.dp-form-card .dp-field { margin-bottom: 18px; }
.dp-form-card input, .dp-form-card textarea, .dp-form-card select {
  width: 100%; padding: 14px 16px; border: 1px solid #D2D2D7; border-radius: var(--dp-radius-sm);
  font-size: 15px; font-family: inherit; background: #fff; color: var(--dp-dark);
}
.dp-form-card input:focus, .dp-form-card textarea:focus, .dp-form-card select:focus {
  outline: none; border-color: var(--dp-blue);
}
.dp-form-card textarea { resize: vertical; min-height: 100px; }
.dp-form-card button {
  width: 100%; cursor: pointer; font-family: inherit;
}

/* ── City pill list (városoldalak hub) ── */
.dp-city-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px;
  max-width: 900px; margin: 0 auto;
}
.dp-city-pill {
  display: flex; align-items: center; justify-content: flex-start;
  background: #fff; border-radius: var(--dp-radius-sm); padding: 18px 22px;
  text-decoration: none; color: var(--dp-dark); font-weight: 600; font-size: 16px;
  box-shadow: var(--dp-shadow); transition: transform .2s, box-shadow .2s;
}
.dp-city-pill:hover { transform: translateY(-2px); box-shadow: var(--dp-shadow-lg); color: var(--dp-blue); }
.dp-city-pill .dp-arrow { color: var(--dp-blue); font-weight: 700; }

/* ── Generic content (ÁSZF, Adatvédelem, Impresszum) ── */
.dp-prose { font-size: 16px; line-height: 1.8; color: var(--dp-mid); }
.dp-prose h2 { font-size: 28px; font-weight: 700; color: var(--dp-dark); margin: 40px 0 16px; letter-spacing: -0.02em; }
.dp-prose h2:first-child { margin-top: 0; }
.dp-prose h3 { font-size: 20px; font-weight: 700; color: var(--dp-dark); margin: 28px 0 12px; }
.dp-prose p { margin: 0 0 16px; }
.dp-prose ul, .dp-prose ol { margin: 0 0 16px; padding-left: 24px; }
.dp-prose li { margin-bottom: 8px; }
.dp-prose a { color: var(--dp-blue); }

/* ── Final CTA (dark) ── */
.dp-final-cta {
  text-align: center; padding: 100px 24px;
  background: #000; position: relative; overflow: hidden;
}
.dp-final-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(0,102,204,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.dp-final-cta .dp-h2 { color: #fff; position: relative; }
.dp-final-cta .dp-lead { color: #B8C2D6; position: relative; }
.dp-final-cta .dp-btn-row { position: relative; }

/* ── Background variants ── */
.dp-bg-white { background: #fff; }
.dp-bg-grey { background: var(--dp-bg); }
.dp-bg-light { background: var(--dp-bg); }
.dp-bg-dark { background: #1D1D1F; }
.dp-bg-dark .dp-h2 { color: #fff; }
.dp-bg-dark .dp-section-lead { color: rgba(255,255,255,0.6); }

/* ── Sticky mobile CTA ── */
.dp-sticky-cta {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(16px);
  border-top: 1px solid rgba(0,0,0,0.08); padding: 12px 20px;
}
.dp-sticky-cta a {
  display: block; text-align: center; background: var(--dp-blue); color: #fff;
  font-weight: 600; padding: 14px; border-radius: 980px; text-decoration: none; font-size: 16px;
}
@media (max-width: 760px) {
  .dp-sticky-cta { display: block; }
  body { padding-bottom: 70px; }
}

/* ── Trust badges row (hero alatt) ── */
.dp-trust-row {
  display: flex; justify-content: center; gap: 28px; flex-wrap: wrap;
  margin-top: 36px; font-size: 14px; color: rgba(255,255,255,0.6);
}
.dp-trust-row span { display: flex; align-items: center; gap: 8px; }

/* ── WC product grid override (Apple-stílus) ── */
.dp-wc-wrapper .woocommerce ul.products,
.dp-wc-wrapper ul.products,
.woocommerce .dp-wc-wrapper ul.products,
body.woocommerce-page .dp-wc-wrapper ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.dp-wc-wrapper .woocommerce ul.products::before,
.dp-wc-wrapper .woocommerce ul.products::after,
.dp-wc-wrapper ul.products::before,
.dp-wc-wrapper ul.products::after,
.woocommerce .dp-wc-wrapper ul.products::before,
.woocommerce .dp-wc-wrapper ul.products::after,
body.woocommerce-page .dp-wc-wrapper ul.products::before,
body.woocommerce-page .dp-wc-wrapper ul.products::after {
  content: none !important;
  display: none !important;
}

.dp-wc-wrapper .woocommerce ul.products li.product,
.dp-wc-wrapper ul.products li.product,
.woocommerce .dp-wc-wrapper ul.products li.product,
body.woocommerce-page .dp-wc-wrapper ul.products li.product,
.woocommerce-page .dp-wc-wrapper ul.products[class*="columns-"] li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: #fff;
  border-radius: var(--dp-radius);
  padding: 24px;
  box-shadow: var(--dp-shadow);
  transition: transform .25s, box-shadow .25s;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  align-self: stretch !important;
}

.dp-wc-wrapper ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--dp-shadow-lg);
}

.dp-wc-wrapper ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
  border-radius: var(--dp-radius-sm);
  margin: 0 0 14px !important;
}

.dp-wc-wrapper ul.products li.product .woocommerce-loop-product__title,
.dp-wc-wrapper ul.products li.product h2.woocommerce-loop-product__title {
  font-size: 17px;
  font-weight: 600;
  color: var(--dp-dark);
  line-height: 1.3;
  margin: 0 0 10px !important;
  min-height: 5.2em;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dp-wc-wrapper ul.products li.product .price {
  display: block !important;
  margin: auto 0 14px !important;
  font-size: 20px;
  font-weight: 700;
  color: var(--dp-blue);
  min-height: 1.4em;
}

.dp-wc-wrapper ul.products li.product .button,
.dp-wc-wrapper ul.products li.product a.button,
.dp-wc-wrapper ul.products li.product .add_to_cart_button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 42px;
  margin: 0 !important;
  padding: 10px 20px !important;
  box-sizing: border-box !important;
  background: var(--dp-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 980px !important;
  text-align: center;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3;
}

.dp-wc-wrapper ul.products li.product .button:hover {
  background: var(--dp-blue-hover) !important;
}

@media (max-width: 900px) {
  .dp-wc-wrapper .woocommerce ul.products,
  .dp-wc-wrapper ul.products,
  .woocommerce .dp-wc-wrapper ul.products,
  body.woocommerce-page .dp-wc-wrapper ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  .dp-section-sm.dp-bg-white {
    overflow-x: hidden;
  }

  .dp-wc-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .dp-wc-wrapper .woocommerce ul.products,
  .dp-wc-wrapper ul.products,
  .woocommerce .dp-wc-wrapper ul.products,
  body.woocommerce-page .dp-wc-wrapper ul.products,
  .woocommerce-page .dp-wc-wrapper ul.products[class*="columns-"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
  }

  .dp-wc-wrapper .woocommerce ul.products::before,
  .dp-wc-wrapper .woocommerce ul.products::after,
  .dp-wc-wrapper ul.products::before,
  .dp-wc-wrapper ul.products::after,
  .woocommerce .dp-wc-wrapper ul.products::before,
  .woocommerce .dp-wc-wrapper ul.products::after,
  body.woocommerce-page .dp-wc-wrapper ul.products::before,
  body.woocommerce-page .dp-wc-wrapper ul.products::after {
    content: none !important;
    display: none !important;
  }

  .dp-wc-wrapper .woocommerce ul.products li.product,
  .dp-wc-wrapper ul.products li.product,
  .woocommerce .dp-wc-wrapper ul.products li.product,
  body.woocommerce-page .dp-wc-wrapper ul.products li.product,
  .woocommerce-page .dp-wc-wrapper ul.products[class*="columns-"] li.product {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    align-self: stretch !important;
  }

  .dp-wc-wrapper ul.products li.product img {
    margin-bottom: 12px !important;
  }

  .dp-wc-wrapper ul.products li.product .woocommerce-loop-product__title,
  .dp-wc-wrapper ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.3 !important;
    min-height: 5.2em !important;
    margin-bottom: 8px !important;
    -webkit-line-clamp: 4;
  }

  .dp-wc-wrapper ul.products li.product .price {
    font-size: 15px !important;
    margin: auto 0 10px !important;
    min-height: 1.4em;
  }

  .dp-wc-wrapper ul.products li.product .button,
  .dp-wc-wrapper ul.products li.product a.button,
  .dp-wc-wrapper ul.products li.product .add_to_cart_button {
    min-height: 38px;
    padding: 8px 8px !important;
    font-size: 12px !important;
  }
}

/* ============================================
   WOOCOMMERCE — egyéb oldalak (termék, kosár, pénztár)
   ============================================ */

/* Termék oldal */
.dp-wc-wrapper .product {
  display: flex; flex-wrap: wrap; gap: 50px; max-width: 1100px; margin: 0 auto;
}
.dp-wc-wrapper .product .images { flex: 1 1 400px; }
.dp-wc-wrapper .product .summary { flex: 1 1 400px; }
.dp-wc-wrapper .product .images img {
  border-radius: var(--dp-radius); box-shadow: var(--dp-shadow);
}
.dp-wc-wrapper .product .summary h1 {
  font-size: 32px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px;
}
.dp-wc-wrapper .product .summary .price {
  font-size: 28px; font-weight: 700; color: var(--dp-blue); margin-bottom: 20px; display: block;
}
.dp-wc-wrapper .product .summary .cart .button,
.dp-wc-wrapper a.button, .dp-wc-wrapper button.button,
.dp-wc-wrapper input.button {
  display: inline-block; background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 14px 32px !important; font-weight: 600 !important;
  font-size: 16px !important; border: none !important; cursor: pointer; text-decoration: none !important;
  transition: background .2s, transform .15s;
}
.dp-wc-wrapper a.button:hover, .dp-wc-wrapper button.button:hover, .dp-wc-wrapper input.button:hover {
  background: var(--dp-blue-hover) !important; transform: scale(1.02);
}
.dp-wc-wrapper .quantity input {
  border: 1px solid #D2D2D7; border-radius: var(--dp-radius-sm); padding: 12px; font-size: 15px;
  width: 70px; text-align: center; margin-right: 10px;
}

/* Kosár / pénztár táblázatok */
.dp-wc-wrapper table.shop_table {
  width: 100%; border-collapse: collapse; margin-bottom: 30px;
  background: #fff; border-radius: var(--dp-radius); overflow: hidden; box-shadow: var(--dp-shadow);
}
.dp-wc-wrapper table.shop_table th {
  background: var(--dp-bg); text-align: left; padding: 14px 16px; font-size: 13px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dp-light);
}
.dp-wc-wrapper table.shop_table td {
  padding: 16px; border-top: 1px solid #E5E5EA; font-size: 15px;
}
.dp-wc-wrapper .cart-collaterals {
  background: var(--dp-bg); border-radius: var(--dp-radius); padding: 30px; max-width: 420px; margin-left: auto;
}

/* Checkout form mezők */
.dp-wc-wrapper form.checkout input.input-text,
.dp-wc-wrapper form.checkout select,
.dp-wc-wrapper form.checkout textarea {
  width: 100%; padding: 12px 16px; border: 1px solid #D2D2D7; border-radius: var(--dp-radius-sm);
  font-size: 15px; font-family: inherit; margin-top: 4px;
}
.dp-wc-wrapper form.checkout label { font-size: 14px; font-weight: 600; color: var(--dp-dark); }
.dp-wc-wrapper #order_review {
  background: var(--dp-bg); border-radius: var(--dp-radius); padding: 30px; margin-top: 30px;
}

/* Sorting / result count sáv a shop tetején */
.dp-wc-wrapper .woocommerce-result-count,
.dp-wc-wrapper .woocommerce-ordering {
  font-size: 14px; color: var(--dp-light); margin-bottom: 24px;
}
.dp-wc-wrapper .woocommerce-ordering select {
  padding: 8px 14px; border-radius: var(--dp-radius-sm); border: 1px solid #D2D2D7; font-size: 14px;
}

/* Mennyiségi visszajelzés (pl. "Hozzáadva a kosárhoz")
   — globálisan stílusozva, mert a WooCommerce a notice-okat
   a do_action('woocommerce_before_single_product') hook-on
   keresztül a .dp-wc-wrapper ELŐTT/KÍVÜL is kiírhatja. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.dp-wc-wrapper .woocommerce-message,
.dp-wc-wrapper .woocommerce-info,
.dp-wc-wrapper .woocommerce-error {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #EBF4FF !important;
  color: var(--dp-blue) !important;
  border-radius: var(--dp-radius-sm) !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  margin: 100px auto 24px !important;
  list-style: none !important;
  border: none !important;
  border-left: 4px solid var(--dp-blue) !important;
  max-width: 1052px;
  box-sizing: border-box;
  width: calc(100% - 48px);
  position: relative;
  text-indent: 0 !important;
}
/* A klasszikus WooCommerce notice ::before egy abszolút pozícionált
   pipa-ikont rak left:1.5em-re, ami ÁTFEDI a szöveg első karaktereit
   ("iP" eltűnik) — teljesen letiltjuk. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.dp-wc-wrapper .woocommerce-message::before,
.dp-wc-wrapper .woocommerce-info::before,
.dp-wc-wrapper .woocommerce-error::before {
  content: none !important;
  display: none !important;
}
.woocommerce-error {
  background: #FFF1F0 !important; color: #D70015 !important; border-left-color: #D70015 !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button,
.dp-wc-wrapper .woocommerce-message a.button {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 10px 22px !important;
  font-weight: 600 !important; font-size: 14px !important; text-decoration: none !important;
  white-space: nowrap; order: 2;
}
.woocommerce-message a.button:hover { background: var(--dp-blue-hover) !important; }

/* A notice fix headerhez igazítása biztosítva a margin: 24px auto-val fent */
@media (max-width: 600px) {
  .woocommerce-message, .woocommerce-info, .woocommerce-error {
    flex-direction: column; align-items: flex-start;
    padding: 14px 16px !important; font-size: 14px !important;
    margin-top: 76px !important;
  }
  .woocommerce-message a.button { width: 100%; order: 2; }
}

/* ============================================
   KOSÁR OLDAL (woocommerce_content() → cart.php)
   ============================================ */
.dp-wc-wrapper .woocommerce-cart-form { margin-bottom: 30px; }

/* Táblázat → kártyás elrendezés mobilon, normál táblázat desktopon */
.dp-wc-wrapper table.cart,
.dp-wc-wrapper table.shop_table.cart {
  width: 100%; border-collapse: collapse; margin-bottom: 30px;
  background: #fff; border-radius: var(--dp-radius); overflow: hidden; box-shadow: var(--dp-shadow);
}
.dp-wc-wrapper table.cart th,
.dp-wc-wrapper table.shop_table.cart th {
  background: var(--dp-bg); text-align: left; padding: 16px; font-size: 13px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dp-light);
  border: none;
}
.dp-wc-wrapper table.cart td,
.dp-wc-wrapper table.shop_table.cart td {
  padding: 16px; border-top: 1px solid #E5E5EA; font-size: 15px; vertical-align: middle;
}
.dp-wc-wrapper table.cart td.product-name a {
  font-weight: 600; color: var(--dp-dark); text-decoration: none;
}
.dp-wc-wrapper table.cart td.product-name a:hover { color: var(--dp-blue); }
.dp-wc-wrapper table.cart td.product-thumbnail img {
  border-radius: var(--dp-radius-sm); width: 64px; height: 64px; object-fit: cover;
}
.dp-wc-wrapper table.cart td.product-price,
.dp-wc-wrapper table.cart td.product-subtotal {
  font-weight: 700; color: var(--dp-blue); white-space: nowrap;
}
.dp-wc-wrapper table.cart td.product-remove a.remove {
  display: flex !important; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--dp-bg) !important; color: var(--dp-light) !important;
  font-size: 18px; text-decoration: none !important; line-height: 1;
  transition: background .2s, color .2s;
}
.dp-wc-wrapper table.cart td.product-remove a.remove:hover {
  background: #FFF1F0 !important; color: #D70015 !important;
}

/* Mennyiség input + frissítés gomb */
.dp-wc-wrapper table.cart td.actions {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: flex-end;
  border-top: 1px solid #E5E5EA; background: var(--dp-bg);
}
.dp-wc-wrapper table.cart td.actions .coupon {
  display: flex; gap: 10px; flex: 1 1 auto; align-items: center;
}
.dp-wc-wrapper table.cart td.actions .coupon input#coupon_code {
  flex: 1 1 200px; max-width: 240px;
  padding: 12px 16px; border: 1px solid #D2D2D7; border-radius: var(--dp-radius-sm);
  font-size: 14px; font-family: inherit;
}

/* Kosár összegzés (cart totals) */
.dp-wc-wrapper .cart-collaterals {
  background: var(--dp-bg); border-radius: var(--dp-radius); padding: 30px;
  max-width: 420px; margin-left: auto; margin-top: 20px;
}
.dp-wc-wrapper .cart-collaterals .cart_totals h2 {
  font-size: 20px; font-weight: 700; color: var(--dp-dark); margin: 0 0 16px;
}
.dp-wc-wrapper .cart-collaterals table.shop_table {
  background: transparent; box-shadow: none; margin-bottom: 20px;
}
.dp-wc-wrapper .cart-collaterals table.shop_table th,
.dp-wc-wrapper .cart-collaterals table.shop_table td {
  background: transparent; border-top: 1px solid rgba(0,0,0,0.06); padding: 12px 0;
}
.dp-wc-wrapper .cart-collaterals .order-total .woocommerce-Price-amount {
  font-size: 20px; font-weight: 700; color: var(--dp-blue);
}
.dp-wc-wrapper .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important; align-items: center; justify-content: center;
  width: 100%; background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 16px !important; font-weight: 600 !important;
  font-size: 17px !important; text-decoration: none !important; margin-top: 10px;
}
.dp-wc-wrapper .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--dp-blue-hover) !important;
}

/* Üres kosár állapot */
.dp-wc-wrapper .cart-empty {
  text-align: center; padding: 60px 24px; color: var(--dp-light); font-size: 17px;
}
.dp-wc-wrapper .wc-empty-cart-message + p.return-to-shop,
.dp-wc-wrapper p.return-to-shop {
  text-align: center; margin-top: 20px;
}
.dp-wc-wrapper p.return-to-shop a.button {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 14px 32px !important; font-weight: 600 !important;
  font-size: 16px !important; text-decoration: none !important;
}

/* ── Mobil: kosár táblázat → kártyás elrendezés ── */
@media (max-width: 760px) {
  .dp-wc-wrapper table.cart thead { display: none; }
  .dp-wc-wrapper table.cart, .dp-wc-wrapper table.cart tbody, .dp-wc-wrapper table.cart tr {
    display: block; width: 100%;
  }
  .dp-wc-wrapper table.cart tr {
    padding: 16px; border-bottom: 8px solid var(--dp-bg);
  }
  .dp-wc-wrapper table.cart tr:last-of-type { border-bottom: none; }
  .dp-wc-wrapper table.cart td {
    display: flex; align-items: center; justify-content: space-between;
    border: none; padding: 8px 0; font-size: 14px;
  }
  .dp-wc-wrapper table.cart td.product-thumbnail {
    justify-content: center; padding-bottom: 12px;
  }
  .dp-wc-wrapper table.cart td.product-thumbnail img { width: 80px; height: 80px; }
  .dp-wc-wrapper table.cart td.product-name { font-size: 16px; }
  .dp-wc-wrapper table.cart td.product-quantity .quantity { margin-left: auto; }
  .dp-wc-wrapper table.cart td.actions {
    flex-direction: column; align-items: stretch; gap: 12px; padding: 16px 0 0; margin: 8px -16px -16px;
    padding: 16px;
  }
  .dp-wc-wrapper table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
  .dp-wc-wrapper table.cart td.actions .coupon input#coupon_code { max-width: none; }
  .dp-wc-wrapper table.cart td.actions > button[name="update_cart"] { width: 100%; }

  .dp-wc-wrapper .cart-collaterals { max-width: 100%; }
}

@media (max-width: 760px) {
  .dp-wc-wrapper .product { flex-direction: column; gap: 24px; }
}

/* WooCommerce alapértelmezett archívum-cím elrejtése
/* Saját Apple-stílusú H1-et használunk a woocommerce.php-ban. */
.dp-section-sm.dp-bg-white h1:not(#dp-shop-title) {
  display: none !important;
}
.dp-wc-wrapper h1.page-title {
  display: none !important;
}

/* Kapcsolati űrlap visszajelzések */
.dp-form-notice {
    margin-bottom: 20px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 15px;
    line-height: 1.5;
}
.dp-form-success {
    background: #EAF7EE;
    color: #1F6F3A;
}
.dp-form-error {
    background: #FFF1F1;
    color: #A32020;
}


/* ── Áraink oldal: kereső + kategóriák ── */
.dp-shop-tools {
  max-width: 1100px;
  margin: -18px auto 34px;
}

.dp-product-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  padding: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.dp-product-search input[type="search"] {
  flex: 1;
  min-width: 0;
  height: 48px;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 18px;
  font-size: 16px;
  color: var(--dp-dark);
}

.dp-product-search input[type="search"]::placeholder {
  color: rgba(29,29,31,.48);
}

.dp-product-search button {
  flex: 0 0 auto;
  height: 48px;
  border: 0;
  border-radius: 999px;
  padding: 0 26px;
  background: var(--dp-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s, transform .15s;
}

.dp-product-search button:hover {
  background: var(--dp-blue-hover);
  transform: translateY(-1px);
}

.dp-product-cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.dp-cat-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 17px;
  border-radius: 999px;
  background: #f5f5f7;
  color: var(--dp-dark);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  transition: background .2s, color .2s, transform .15s;
}

.dp-cat-pill:hover,
.dp-cat-pill.is-active {
  background: var(--dp-blue);
  color: #fff;
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .dp-shop-tools {
    margin: -20px auto 24px;
  }

  .dp-product-search {
    border-radius: 24px;
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
  }

  .dp-product-search input[type="search"] {
    height: 44px;
    padding: 0 12px;
    font-size: 14px;
  }

  .dp-product-search button {
    width: 100%;
    height: 44px;
    font-size: 14px;
  }

  .dp-product-cats {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    margin-left: -16px;
    margin-right: -16px;
    padding: 0 16px 4px;
    scrollbar-width: none;
  }

  .dp-product-cats::-webkit-scrollbar {
    display: none;
  }

  .dp-cat-pill {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 8px 14px;
    font-size: 13px;
    white-space: nowrap;
  }
}


.custom-logo-link img{
max-width:140px;
height:auto;
display:block;
}
.site-title,.site-description{
display:none!important;
}
@media (max-width:768px){
.custom-logo-link img{
max-width:105px;
}
}

/* ============================================
   DOBPHONE HEADER SAFE ADJUSTMENT v18
   Kiindulás: működő v8 header. Csak méret/padding módosítás,
   nem nyúl a menü/dropdown szerkezethez.
   ============================================ */
@media (min-width: 881px) {
  .site-header {
    padding-left: 32px !important;
    padding-right: 72px !important;
  }

  .site-logo,
  .site-logo .custom-logo-link {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }

  .site-logo img,
  .custom-logo-link img,
  img.custom-logo {
    max-width: 110px !important;
    max-height: 30px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
  }

  .nav-cta {
    margin-left: 24px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 880px) {
  .site-header {
    padding-left: 24px !important;
    padding-right: 16px !important;
    justify-content: space-between !important;
  }

  .site-logo,
  .site-logo .custom-logo-link {
    margin-left: 0 !important;
    padding-left: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }

  .site-logo img,
  .custom-logo-link img,
  img.custom-logo {
    height: 30px !important;
    max-height: 30px !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
  }
}


/* ============================================
   DOBPHONE HEADER CONTAINER ALIGN v20 REAL
   PC-n a logó és a CTA a 1100px-es belső konténer széléhez igazodik.
   Mobilhoz nem nyúlunk.
   ============================================ */
@media (min-width: 881px) {
  .site-header {
    padding-left: max(32px, calc((100vw - 1100px) / 2)) !important;
    padding-right: max(32px, calc((100vw - 1100px) / 2)) !important;
    justify-content: flex-start !important;
  }

  .site-logo {
    margin-left: 0 !important;
    padding-left: 0 !important;
    flex: 0 0 auto !important;
  }

  .main-navigation {
    margin-left: auto !important;
    margin-right: auto !important;
    flex: 0 1 auto !important;
  }

  .nav-cta {
    margin-left: 24px !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .site-logo img,
  .custom-logo-link img,
  img.custom-logo {
    max-width: 110px !important;
    max-height: 30px !important;
    width: auto !important;
    height: auto !important;
  }
}

/* ==========================================================
   DOBPHONE v21 — Apple-stílusú WooCommerce termékoldal
   ========================================================== */
.dp-single-product-page .dp-product-hero {
  padding-top: 150px;
  padding-bottom: 80px;
}

.dp-product-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: clamp(32px, 6vw, 72px);
  align-items: start;
}

.dp-product-media {
  position: sticky;
  top: 120px;
}

.dp-product-main-image {
  background: #f5f5f7;
  border-radius: 34px;
  padding: clamp(22px, 4vw, 48px);
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
  overflow: hidden;
}

.dp-product-main-image img {
  max-width: 100%;
  max-height: 520px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.dp-product-placeholder img {
  opacity: .55;
}

.dp-product-gallery-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.dp-product-gallery-thumb {
  background: #f5f5f7;
  border-radius: 18px;
  padding: 12px;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dp-product-gallery-thumb img {
  max-width: 100%;
  max-height: 72px;
  object-fit: contain;
}

.dp-product-summary {
  padding-top: 12px;
}

.dp-product-kicker,
.dp-product-kicker a {
  color: var(--dp-blue);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .02em;
}

.dp-product-title {
  margin: 12px 0 18px;
  font-size: clamp(34px, 5vw, 64px);
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--dp-dark);
}

.dp-product-lead {
  color: var(--dp-muted);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.45;
  margin-bottom: 26px;
}

.dp-product-lead p { margin: 0 0 12px; }

.dp-product-action-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
  margin-bottom: 22px;
}

.dp-product-price,
.dp-product-price .amount {
  color: var(--dp-dark);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.03em;
}

.dp-product-stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 18px;
  font-size: 14px;
  font-weight: 700;
  color: #1d7f37;
}

.dp-product-stock::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

.dp-product-stock.is-unavailable { color: #b00020; }

/* A form.cart flexet és a quantity/qty stílusokat a lentebbi
   "TERMÉKOLDALI MENNYISÉG-VÁLASZTÓ" blokk kezeli — itt csak a
   margót nullázzuk, hogy ne ütközzön a stepper kerettel. */
.dp-product-cart form.cart {
  margin: 0 !important;
}

.dp-product-cart .quantity {
  margin: 0 !important;
}

.dp-product-cart .single_add_to_cart_button,
.dp-product-cart button.single_add_to_cart_button,
.dp-product-cart .button {
  flex: 0 1 auto;
  min-height: 50px !important;
  border-radius: 999px !important;
  background: var(--dp-blue) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 24px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.dp-product-action-note {
  margin: 14px 0 0;
  color: var(--dp-muted);
  font-size: 13px;
  line-height: 1.45;
  display: block;
  clear: both;
  width: 100%;
}
/* A kosár-blokk (stepper + gomb) és a megjegyzés egymás ALATT,
   teljes szélességben — ne csússzon a note a mennyiség mellé PC-n */
.dp-product-cart {
  display: block;
  width: 100%;
}

.dp-product-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dp-product-trust-item {
  background: #f5f5f7;
  border-radius: 22px;
  padding: 16px;
  min-height: 132px;
}

.dp-product-trust-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--dp-blue);
  margin-bottom: 10px;
}

.dp-product-trust-item strong,
.dp-product-trust-item small {
  display: block;
}

.dp-product-trust-item strong {
  color: var(--dp-dark);
  font-size: 15px;
  margin-bottom: 5px;
}

.dp-product-trust-item small {
  color: var(--dp-muted);
  font-size: 12px;
  line-height: 1.35;
}

.dp-product-content-card {
  max-width: 900px;
  background: #fff;
  border-radius: 34px;
  padding: clamp(26px, 5vw, 56px);
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}

.dp-product-description-content {
  color: #424245;
  font-size: 18px;
  line-height: 1.75;
}

.dp-product-description-content h2,
.dp-product-description-content h3,
.dp-product-description-content h4 {
  color: var(--dp-dark);
  letter-spacing: -.02em;
}

.dp-product-description-content ul,
.dp-product-description-content ol {
  padding-left: 1.2em;
}

/* Termékoldal GYIK: ugyanarra a belső konténer-vonalra igazítva, mint a szervizfolyamat és a kapcsolódó javítások. */
.dp-product-faq .dp-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  display: block;
  text-align: center;
}

.dp-product-faq .dp-eyebrow-block,
.dp-product-faq .dp-h2-center,
.dp-product-faq .dp-section-lead-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.dp-product-faq-list {
  width: 100%;
  max-width: 1100px;
  margin: 34px auto 0;
  display: flex;
  justify-content: center;
}

.dp-product-faq-list .dp-faq {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}

.dp-product-faq .dp-faq-question {
  justify-content: space-between;
}

.dp-product-faq .dp-faq-answer-inner {
  max-width: 680px;
}

.dp-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

.dp-related-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #f5f5f7;
  border-radius: 28px;
  padding: 20px;
  color: var(--dp-dark);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.dp-related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(0,0,0,.08);
}

.dp-related-image {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dp-related-image img {
  max-height: 170px;
  width: auto;
  object-fit: contain;
}

.dp-related-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.dp-related-price {
  margin-top: auto;
  color: var(--dp-blue);
  font-weight: 800;
}

@media (max-width: 880px) {
  .dp-single-product-page .dp-product-hero {
    padding-top: 118px;
    padding-bottom: 46px;
  }

  .dp-product-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .dp-product-media {
    position: static;
  }

  .dp-product-main-image {
    min-height: 280px;
    border-radius: 26px;
    padding: 24px;
  }

  .dp-product-main-image img {
    max-height: 340px;
  }

  .dp-product-title {
    font-size: clamp(32px, 10vw, 46px);
  }

  .dp-product-action-card {
    border-radius: 24px;
    padding: 18px;
  }

  .dp-product-cart form.cart {
    flex-direction: column;
    align-items: stretch;
    gap: 16px !important;
  }
  .dp-product-cart form.cart .quantity.dp-stepper-ready,
  .dp-product-cart form.cart .quantity {
    align-self: flex-start;
    margin: 0 0 18px 0 !important;
  }
  .dp-product-cart form.cart .single_add_to_cart_button,
  .dp-product-cart form.cart .button {
    width: 100% !important;
    margin-top: 0 !important;
  }

  .dp-product-trust-grid,
  .dp-related-grid {
    grid-template-columns: 1fr;
  }

  .dp-product-trust-item {
    min-height: auto;
  }
}

@media (max-width: 520px) {
  .dp-product-gallery-strip {
    grid-template-columns: repeat(4, minmax(64px, 1fr));
    gap: 8px;
  }

  .dp-product-gallery-thumb {
    min-height: 70px;
    border-radius: 14px;
    padding: 8px;
  }

  .dp-product-gallery-thumb img {
    max-height: 54px;
  }
}


/* ============================================================
   V25 – Termékoldal GYIK középre igazítás
   A GYIK ugyanabba a belső tartalmi tengelybe kerül, mint a
   felette lévő szervizfolyamat és az alatta lévő kapcsolódó javítások.
   ============================================================ */
.single-product .dp-product-faq,
.woocommerce.single-product .dp-product-faq {
  width: 100% !important;
  overflow: visible !important;
}

.single-product .dp-product-faq .dp-product-faq-container,
.single-product .dp-product-faq > .dp-container,
.woocommerce.single-product .dp-product-faq .dp-product-faq-container,
.woocommerce.single-product .dp-product-faq > .dp-container {
  width: min(100% - 48px, 1200px) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.single-product .dp-product-faq .dp-eyebrow-block,
.single-product .dp-product-faq .dp-h2-center,
.single-product .dp-product-faq .dp-section-lead-center,
.woocommerce.single-product .dp-product-faq .dp-eyebrow-block,
.woocommerce.single-product .dp-product-faq .dp-h2-center,
.woocommerce.single-product .dp-product-faq .dp-section-lead-center {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.single-product .dp-product-faq-list,
.woocommerce.single-product .dp-product-faq-list {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 34px auto 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

.single-product .dp-product-faq-list .dp-faq,
.woocommerce.single-product .dp-product-faq-list .dp-faq {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.single-product .dp-product-faq .dp-faq-answer-inner,
.woocommerce.single-product .dp-product-faq .dp-faq-answer-inner {
  max-width: none !important;
}

@media (max-width: 720px) {
  .single-product .dp-product-faq .dp-product-faq-container,
  .single-product .dp-product-faq > .dp-container,
  .woocommerce.single-product .dp-product-faq .dp-product-faq-container,
  .woocommerce.single-product .dp-product-faq > .dp-container {
    width: min(100% - 32px, 1200px) !important;
  }

  .single-product .dp-product-faq-list,
  .woocommerce.single-product .dp-product-faq-list {
    margin-top: 24px !important;
  }
}


/* Termékoldali szervizfolyamat: ugyanazt a megjelenést használja,
   mint a főoldali öt lépéses blokk (dp_render_process_steps()),
   ezért nincs szükség külön override-ra — az alap .dp-process /
   .dp-process-step szabályok (lásd fent) automatikusan érvényesek
   és mobilon is ugyanúgy viselkednek, mint a főoldalon. */
.dp-single-product-page .dp-product-process .dp-product-process-steps-wrap {
  margin-top: 50px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}


/* ============================================
   WOOCOMMERCE CART/CHECKOUT BLOKKOK (Gutenberg)
   A "Kosár" oldal a WooCommerce Cart blokkot használja
   (.wc-block-cart, .wc-block-cart-items, .wc-block-components-*),
   nem a klasszikus cart.php táblázatot. A class-nevek a
   WooCommerce hivatalos blokk CSS-éből származnak.
   ============================================ */

/* Oldal konténer + felső térköz a fix header alatt,
   és a "Kosár"/"Pénztár" cím Apple-stílusban.
   A pontos DOM: main.dp-wc-page > .dp-container > article > h1.dp-wc-page-title */
.dp-wc-page-title {
  text-align: center !important;
  margin: 0 auto 40px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--dp-dark) !important;
  font-family: var(--dp-font) !important;
  line-height: 1.1 !important;
}
.dp-wc-page .dp-container > article { max-width: 1100px; margin: 0 auto; }

.wp-block-woocommerce-cart,
.wc-block-cart {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box;
  font-family: var(--dp-font) !important;
}

/* Két oszlop: termékek (bal) + összegzés (jobb) */
.wc-block-components-sidebar-layout {
  gap: 32px;
  align-items: flex-start;
}
.wc-block-components-main {
  background: #fff; border-radius: var(--dp-radius); padding: 8px 24px;
  box-shadow: var(--dp-shadow);
}

/* Termék táblázat */
table.wc-block-cart-items { font-family: inherit; }
.wc-block-cart-items__header { display: none; }
.wc-block-cart-items__row {
  border-top: 1px solid #E5E5EA !important;
  padding: 24px 0 !important;
}
.wc-block-cart-items__row:first-child { border-top: none !important; }

.wc-block-cart-item__image img {
  border-radius: var(--dp-radius-sm); width: 80px; height: 80px;
  object-fit: cover; display: block;
}

a.wc-block-components-product-name,
.wc-block-components-product-name {
  font-size: 17px !important; font-weight: 600 !important;
  color: var(--dp-dark) !important; text-decoration: none !important;
  display: block; margin-bottom: 6px;
}
a.wc-block-components-product-name:hover { color: var(--dp-blue) !important; }

/* A cím alatti EGYSÉGÁR elrejtése PC-n és mobilon egyaránt —
   csak a jobb oldali sorösszeg (__total) jelenik meg, így nincs dupla ár. */
.wc-block-cart-item__prices {
  display: none !important;
}
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  font-weight: 700 !important; color: var(--dp-blue) !important; font-size: 17px !important;
}

/* Mennyiség stepper (-, szám, +) — kerek pirula */
.wc-block-components-quantity-selector {
  border: 1px solid #D2D2D7 !important;
  border-radius: 980px !important;
  background: var(--dp-bg);
  width: auto !important;
  overflow: hidden;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  background: transparent !important;
  font-size: 15px !important;
  min-width: 40px !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  color: var(--dp-blue) !important;
  font-size: 18px !important;
  opacity: 1 !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  background: #fff !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus {
  border-radius: 980px 0 0 980px !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus {
  border-radius: 0 980px 980px 0 !important;
}

/* Törlés link -> kerek "kuka" gomb (a WC blokk saját SVG kukáját használjuk) */
.wc-block-cart-item__remove-link {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 36px !important; height: 36px !important; min-width: 36px;
  border-radius: 50% !important;
  background: var(--dp-bg) !important; color: var(--dp-light) !important;
  text-decoration: none !important;
  margin-left: 10px; padding: 0 !important;
  flex: 0 0 36px;
}
.wc-block-cart-item__remove-link svg {
  width: 18px !important; height: 18px !important; fill: currentColor !important;
  pointer-events: none !important;
}
.wc-block-cart-item__remove-link:hover { background: #FFF1F0 !important; color: #D70015 !important; }
.wc-block-cart-item__quantity {
  display: flex !important; align-items: center; gap: 10px;
  margin-top: 8px;
}

/* ── Sidebar / összegzés panel ── */
.wc-block-components-sidebar {
  background: var(--dp-bg) !important;
  border-radius: var(--dp-radius) !important;
  padding: 28px !important;
}
.wc-block-cart__totals-title { display: none !important; }

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  font-size: 15px !important; color: var(--dp-dark) !important;
  font-family: var(--dp-font) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 20px !important; font-weight: 700 !important;
  line-height: 1.4 !important; padding-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  color: var(--dp-blue) !important;
  line-height: 1.4 !important;
}

/* Kupon panel */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
  font-size: 15px !important; font-weight: 600 !important; color: var(--dp-dark) !important;
  font-family: var(--dp-font) !important;
}
.wc-block-components-totals-coupon__form {
  gap: 10px !important; align-items: stretch !important;
}
/* A külső text-input wrapper legyen átlátszó (ne legyen dupla keret/pirula) */
.wc-block-components-totals-coupon__form .wc-block-components-text-input {
  border: none !important; background: transparent !important;
  padding: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  flex: 3 1 120px;
}
/* Csak a tényleges input mező kapja a pirula stílust */
.wc-block-components-totals-coupon__form input.wc-block-components-totals-coupon__input,
.wc-block-components-totals-coupon__form input[type="text"] {
  border: 1px solid #D2D2D7 !important;
  border-radius: 980px !important;
  font-family: inherit !important; font-size: 15px !important;
  background: #fff !important;
  padding: 12px 18px !important;
  color: var(--dp-dark) !important;
  height: 48px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.wc-block-components-totals-coupon__form input:focus {
  border-color: var(--dp-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12) !important;
  outline: none !important;
}
/* Az input lebegő label-jét rejtjük, csak a placeholder marad */
.wc-block-components-totals-coupon__form .wc-block-components-text-input label {
  display: none !important;
}
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon button.wc-block-components-button {
  background: var(--dp-blue) !important;
  border-radius: 980px !important; border: none !important;
  font-weight: 600 !important; font-size: 15px !important;
  padding: 0 26px !important; height: 48px !important;
  box-shadow: none !important;
}
/* A WooCommerce gomb szövege egy belső span-ben van — annak is fehér */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon__button .wc-block-components-button__text,
.wc-block-components-totals-coupon button.wc-block-components-button,
.wc-block-components-totals-coupon button.wc-block-components-button .wc-block-components-button__text {
  color: #fff !important;
}
.wc-block-components-totals-coupon__button:hover {
  background: var(--dp-blue-hover) !important;
}

/* "Tovább a pénztárhoz" gomb */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 16px !important;
  font-weight: 600 !important; font-size: 17px !important;
  font-family: var(--dp-font) !important;
  text-decoration: none !important; border: none !important;
  min-height: 52px !important;
}
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
  background: var(--dp-blue-hover) !important;
}

/* "Kosárba helyezve" notice (block notice banner) */
.wc-block-components-notice-banner {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  max-width: 1100px;
  width: calc(100% - 48px);
  margin: 100px auto 0 !important;
  border-radius: var(--dp-radius-sm) !important;
  font-family: var(--dp-font) !important;
  box-sizing: border-box !important;
  padding: 16px 20px !important;
}
.wc-block-components-notice-banner > svg {
  flex: 0 0 24px !important;
  width: 24px !important; height: 24px !important;
  position: static !important;
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
  flex: 1 1 auto !important;
  min-width: 0;
  padding-right: 0 !important;
}
.wc-block-components-notice-banner.is-success {
  background-color: #EBF4FF !important; border-color: var(--dp-blue) !important;
}
.wc-block-components-notice-banner.is-success > svg { background-color: var(--dp-blue) !important; }
.wc-block-components-notice-banner .wc-forward {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 8px 20px !important;
  font-weight: 600 !important; font-size: 14px !important;
  text-decoration: none !important; opacity: 1 !important;
  float: none !important; margin-top: 8px !important;
}
.wc-block-components-notice-banner .wc-forward:hover {
  background: var(--dp-blue-hover) !important; opacity: 1 !important; text-decoration: none !important;
}

/* Üres kosár állapot */

/* Reszponzív */
@container (max-width: 699px) {
  .wc-block-components-sidebar { background: var(--dp-bg) !important; }
}
@media (max-width: 600px) {
  .woocommerce-cart main#primary,
  .woocommerce-cart .site-main,
  body.woocommerce-cart .wp-site-blocks {
    padding-top: 100px;
  }
  .wc-block-components-main { padding: 8px 18px; }
  .wp-block-woocommerce-cart,
  .wc-block-cart {
    padding: 0 12px !important;
  }
  .dp-wc-page .dp-container,
  body.woocommerce-cart .dp-container {
    padding: 0 12px !important;
  }
  .wc-block-components-notice-banner {
    margin-top: 76px !important;
    flex-direction: column;
  }

  /* Kosár termék-sor mobilon: rendezett grid, igazított elemek */
  .wc-block-cart-items__row {
    padding: 20px 0 !important;
    column-gap: 14px !important;
    grid-template-columns: 64px 1fr auto !important;
  }
  .wc-block-cart-item__image {
    grid-column-start: 1 !important; grid-row-start: 1 !important;
  }
  .wc-block-cart-item__image img {
    width: 64px !important; height: 64px !important;
  }
  .wc-block-cart-item__product {
    grid-column-start: 2 !important; grid-column-end: 3 !important;
    grid-row-start: 1 !important; padding-left: 0 !important;
    min-width: 0 !important;
  }
  .wc-block-cart-item__total {
    grid-column-start: 3 !important; grid-row-start: 1 !important;
  }
  .wc-block-cart-item__quantity {
    grid-column-start: 2 !important; grid-row-start: 2 !important;
  }
  .wc-block-components-product-name {
    font-size: 15px !important; line-height: 1.3;
  }
  /* A cím alatti EGYSÉGÁR elrejtése — a jobb oldali sorösszeg
     (__total) marad, így nincs dupla ár. */
  .wc-block-cart-item__prices {
    display: none !important;
  }
  .wc-block-cart-item__total {
    grid-row-start: 1 !important;
    text-align: right;
  }
  .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
    font-size: 16px !important; font-weight: 700 !important;
    color: var(--dp-blue) !important; white-space: nowrap;
  }
  .wc-block-cart-item__quantity {
    margin-top: 10px;
  }
  .wc-block-components-quantity-selector {
    width: auto !important; max-width: 130px;
  }
  .wc-block-cart-item__remove-link {
    width: 44px !important; height: 44px !important; min-width: 44px;
  }
}

/* ============================================
   ÜRES KOSÁR + "Újdonságok" termékrács
   ============================================ */
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2.wc-block-cart__empty-cart__title {
  font-family: var(--dp-font) !important;
  font-weight: 700 !important; color: var(--dp-blue) !important;
  text-align: center; font-size: 24px !important; margin: 0 0 8px !important;
}
.wp-block-woocommerce-empty-cart-block h2 {
  font-family: var(--dp-font) !important;
  font-weight: 700 !important; color: var(--dp-dark) !important;
  text-align: center; font-size: 24px !important; margin: 0 0 8px !important;
}
/* A WooCommerce szomorú-arc ikont elrejtjük. Ez NEM külön svg/img,
   hanem a h2.with-empty-cart-icon elem HÁTTÉRKÉPE — azt tüntetjük el.
   Helyette a wrapper ::before-ján egy témába illő kék kosár-ikon van. */
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon,
.wp-block-woocommerce-empty-cart-block h2.wc-block-cart__empty-cart__title {
  background: none !important;
  background-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  padding-top: 0 !important;
  min-height: 0 !important;
}
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before,
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::after,
.wp-block-woocommerce-empty-cart-block h2.wc-block-cart__empty-cart__title::before,
.wp-block-woocommerce-empty-cart-block h2.wc-block-cart__empty-cart__title::after {
  content: none !important;
  display: none !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__image,
.wp-block-woocommerce-empty-cart-block svg,
.wp-block-woocommerce-empty-cart-block img {
  display: none !important;
}
.wp-block-woocommerce-empty-cart-block::before {
  content: "";
  display: block;
  width: 72px; height: 72px;
  margin: 0 auto 24px;
  background-color: var(--dp-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
}
.wp-block-woocommerce-empty-cart-block p {
  text-align: center; color: var(--dp-light); font-size: 16px;
}

/* "Újdonságok" cím */
.wp-block-woocommerce-empty-cart-block h3,
.wc-block-cart__cross-sells-title {
  font-family: var(--dp-font) !important;
  font-weight: 700 !important; color: var(--dp-dark) !important;
  text-align: center; font-size: 22px !important; margin: 40px 0 24px !important;
}

/* Termékrács (cross-sells / Újdonságok) — kártyás, egyenlő magasságú */
/* A blokk-rács szülő konténerei teljes szélességűek legyenek */
.wp-block-woocommerce-empty-cart-block,
.wc-block-grid,
.wp-block-woocommerce-cart-cross-sells-block {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important; margin-right: auto !important;
}
.wc-block-grid__products,
.wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products,
.wc-block-grid.has-4-columns .wc-block-grid__products,
.wc-block-product-new .wc-block-grid__products,
ul.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important; padding: 0 !important; margin: 0 auto !important;
  max-width: 1100px;
  width: 100%;
}
/* A WooCommerce a li-ket flex-basis:25%-kal méretezi — felülírjuk,
   hogy a grid cellái szabják meg a szélességet (különben PC-n szétesik) */
.wc-block-grid__products .wc-block-grid__product,
ul.wc-block-grid__products li.wc-block-grid__product {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.wc-block-grid__product {
  display: flex !important; flex-direction: column !important;
  background: #fff; border-radius: var(--dp-radius); padding: 20px;
  box-shadow: var(--dp-shadow); text-align: center; height: 100%;
  box-sizing: border-box; min-width: 0;
}
/* A termék-link (kép + cím konténer) teljes szélességű, oszlop irányú */
.wc-block-grid__product-link {
  display: flex !important; flex-direction: column; align-items: center;
  width: 100% !important; text-decoration: none !important;
}
/* Kép — a linken belül vagy önállóan, teljes szélességben */
.wc-block-grid__product .wc-block-grid__product-image,
.wc-block-grid__product .wc-block-grid__product-link img,
.wc-block-grid__product .wc-block-grid__product-image img,
.wc-block-grid__product a.wc-block-grid__product-link > img {
  width: 100% !important; max-width: 100% !important;
  aspect-ratio: 1/1; object-fit: cover; border-radius: var(--dp-radius-sm);
  margin: 0 auto 14px !important; display: block !important;
  height: auto !important;
}
.wc-block-grid__product-title,
.wc-block-grid__product .wc-block-grid__product-title,
.wc-block-grid__product-link .wc-block-grid__product-title {
  font-size: 15px !important; font-weight: 600 !important; color: var(--dp-dark) !important;
  line-height: 1.3; margin: 0 0 10px !important; min-height: 2.6em;
  display: flex; align-items: flex-start; justify-content: center; text-align: center;
  width: 100%;
}
.wc-block-grid__product-price {
  font-size: 17px !important; font-weight: 700 !important; color: var(--dp-blue) !important;
  margin: 0 0 14px !important; margin-top: auto !important;
  width: 100%;
}
.wc-block-grid__product-add-to-cart {
  width: 100% !important;
}
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .add_to_cart_button,
.wc-block-grid__product a.button {
  display: flex !important; align-items: center; justify-content: center;
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 12px 16px !important;
  font-weight: 600 !important; font-size: 14px !important;
  text-decoration: none !important; border: none !important;
  width: 100%; box-sizing: border-box; min-height: 44px;
  font-family: var(--dp-font) !important;
  white-space: normal !important; text-align: center; line-height: 1.3;
}
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .add_to_cart_button:hover {
  background: var(--dp-blue-hover) !important;
}

@media (max-width: 900px) {
  .wc-block-grid__products,
  .wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__products,
  .wc-block-grid.has-4-columns .wc-block-grid__products,
  .wc-block-product-new .wc-block-grid__products,
  ul.wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================
   TERMÉKOLDALI MENNYISÉG-VÁLASZTÓ (+/- stepper)
   Ugyanaz a kék pirula stílus, mint a kosár blokkban.
   A .dp-stepper-ready osztályt a JS teszi a .quantity wrapperre.
   ============================================ */
.dp-product-cart .quantity.dp-stepper-ready,
.woocommerce div.product form.cart .quantity.dp-stepper-ready,
.dp-single-product-page form.cart .quantity {
  display: inline-flex !important; align-items: center !important;
  flex-direction: row !important; flex-wrap: nowrap !important;
  border: 1px solid #D2D2D7 !important; border-radius: 980px !important;
  background: var(--dp-bg) !important; overflow: hidden !important;
  height: 48px !important; width: auto !important;
  margin: 0 12px 0 0 !important; float: none !important; padding: 0 !important;
}
.dp-product-cart .quantity.dp-stepper-ready .dp-qty-btn,
.woocommerce div.product form.cart .quantity .dp-qty-btn,
.dp-qty-btn {
  width: 42px !important; height: 100% !important; flex: 0 0 42px !important;
  border: none !important; background: transparent !important;
  color: var(--dp-blue) !important; font-size: 20px !important; font-weight: 600 !important;
  cursor: pointer; display: flex !important; align-items: center !important;
  justify-content: center !important; line-height: 1 !important;
  transition: background .15s; padding: 0 !important; margin: 0 !important;
  border-radius: 0 !important; min-height: 0 !important;
}
.dp-qty-btn:hover { background: #fff !important; }
.dp-product-cart .quantity.dp-stepper-ready input.qty,
.woocommerce div.product form.cart .quantity input.qty,
.dp-single-product-page form.cart .quantity input.qty {
  width: 44px !important; height: 100% !important; flex: 0 0 44px !important;
  border: none !important; background: transparent !important;
  text-align: center !important; font-size: 16px !important; font-weight: 600 !important;
  color: var(--dp-dark) !important; padding: 0 !important; margin: 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
  -moz-appearance: textfield; appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.dp-product-cart input.qty::-webkit-outer-spin-button,
.dp-product-cart input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important; appearance: none !important; margin: 0 !important;
}
/* A "Kosárba teszem" gomb és a mennyiség egy sorban, igazítva */
.dp-single-product-page form.cart,
.woocommerce div.product form.cart {
  display: flex !important; align-items: center; flex-wrap: wrap; gap: 12px;
}
.dp-single-product-page form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  height: 48px; display: inline-flex; align-items: center; justify-content: center;
  margin: 0 !important;
}
@media (max-width: 600px) {
  .dp-single-product-page form.cart,
  .woocommerce div.product form.cart {
    flex-direction: column; align-items: stretch; gap: 16px !important;
  }
  .dp-single-product-page form.cart .quantity,
  .woocommerce div.product form.cart .quantity { margin-right: 0 !important; align-self: flex-start; }
  .dp-single-product-page form.cart .button,
  .woocommerce div.product form.cart button.single_add_to_cart_button { width: 100%; margin-top: 4px !important; }
}

/* ============================================
   FIÓKOM (WooCommerce My Account) OLDAL
   Apple-stílusú megjelenés, a téma többi részéhez igazítva.
   ============================================ */

/* Felső térköz a fix header alatt + cím középre */
.woocommerce-account main#primary,
.woocommerce-account .site-main,
body.woocommerce-account .wp-site-blocks {
  padding-top: 130px;
  padding-bottom: 80px;
}
.dp-wc-page-title { /* a "Fiókom" cím már középre igazított a kosárral közös szabályból */ }

/* ── Bejelentkezés / Regisztráció űrlapok ── */
.woocommerce-account .woocommerce {
  max-width: 1100px; margin: 0 auto;
}
.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 460px;
}
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce .u-column1.col-1,
.woocommerce .u-column2.col-2 {
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow); padding: 32px;
  border: none !important; margin: 0 auto 24px;
}
.woocommerce h2 {
  font-family: var(--dp-font) !important; font-weight: 700 !important;
  color: var(--dp-dark) !important; font-size: 22px !important; margin: 0 0 20px !important;
}
/* A "Belépés" H2 cím elrejtése a login box fölül (a "Fiókom" oldalcím elég) */
.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account .u-column1 > h2 {
  display: none !important;
}
.woocommerce-form-row label,
.woocommerce form .form-row label {
  font-weight: 600; color: var(--dp-dark); font-size: 14px; margin-bottom: 6px; display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"],
.woocommerce-account input.input-text {
  width: 100% !important; box-sizing: border-box;
  padding: 12px 16px !important; font-size: 15px !important;
  border: 1px solid #D2D2D7 !important; border-radius: var(--dp-radius-sm) !important;
  font-family: inherit !important; background: #fff !important;
  transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-account input.input-text:focus {
  border-color: var(--dp-blue) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12) !important;
}

/* Gombok */
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce button.button.woocommerce-button,
.woocommerce-account button[type="submit"] {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 13px 28px !important;
  font-weight: 600 !important; font-size: 15px !important;
  border: none !important; text-decoration: none !important;
  font-family: var(--dp-font) !important; cursor: pointer;
  transition: background .2s; min-height: 46px;
}
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account button[type="submit"]:hover {
  background: var(--dp-blue-hover) !important;
}

/* "Emlékezz rám" + elfelejtett jelszó */
/* ── Egy közös kártya, fent fülekkel (Belépés / Regisztráció) ── */
.dp-account-box {
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow); padding: 0;
  max-width: 460px; margin: 0 auto; overflow: hidden;
}
.dp-account-tabs {
  display: flex; border-bottom: 1px solid #E5E5EA;
}
.dp-account-tab {
  flex: 1 1 50%; padding: 16px; border: none; background: transparent;
  font-family: var(--dp-font); font-size: 16px; font-weight: 600;
  color: var(--dp-light); cursor: pointer; transition: color .2s, box-shadow .2s;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.dp-account-tab:hover { color: var(--dp-dark); }
.dp-account-tab.is-active {
  color: var(--dp-blue); border-bottom-color: var(--dp-blue);
}
/* Az űrlapok a boxon belül, csak az aktív látszik */
.dp-account-box .woocommerce-form-login,
.dp-account-box .woocommerce-form-register {
  display: none !important;
  box-shadow: none !important; border: none !important;
  border-radius: 0 !important; padding: 32px !important; margin: 0 !important;
  background: transparent !important; max-width: none !important;
}
.dp-account-box .woocommerce-form-login.dp-form-active,
.dp-account-box .woocommerce-form-register.dp-form-active {
  display: block !important;
}

/* Belépés gomb teljes szélességű a tab-rendszerben */
.woocommerce-form-login .form-row button.woocommerce-button,
.woocommerce-form-register button.woocommerce-button {
  width: 100% !important; margin: 0 !important;
}
.woocommerce-form-login__rememberme {
  font-size: 14px; color: var(--dp-mid);
  display: inline-flex !important; align-items: center; gap: 8px;
  margin: 0 0 16px !important; font-weight: 500; float: left;
}
.woocommerce-form-login__rememberme input { margin: 0; width: auto; }
/* Az "Emlékezz rám" és "Elfelejtett jelszó" egy sorban (a gomb fölött) */
.woocommerce-form-login .woocommerce-LostPassword,
.woocommerce-form-login p.lost_password {
  margin: 0 0 16px !important; float: right; text-align: right;
}
.woocommerce-form-login::after { content: ""; display: table; clear: both; }
.woocommerce-LostPassword a { color: var(--dp-blue); text-decoration: none; font-size: 14px; }
.woocommerce-LostPassword a:hover { text-decoration: underline; }
/* Regisztrációnál az adatvédelmi szöveg */
.woocommerce-form-register .woocommerce-privacy-policy-text p {
  font-size: 13px; color: var(--dp-light); line-height: 1.5; margin-bottom: 16px;
}

/* ── Bejelentkezett nézet: oldalmenü + tartalom ── */
.woocommerce-account.logged-in .woocommerce {
  display: flex; gap: 32px; align-items: flex-start;
}
.woocommerce-MyAccount-navigation {
  flex: 0 0 240px;
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow); padding: 16px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li {
  border-radius: var(--dp-radius-sm); margin-bottom: 2px;
}
.woocommerce-MyAccount-navigation li a {
  display: block; padding: 12px 16px;
  color: var(--dp-dark); text-decoration: none; font-weight: 500; font-size: 15px;
  border-radius: var(--dp-radius-sm); transition: background .15s, color .15s;
}
.woocommerce-MyAccount-navigation li a:hover {
  background: var(--dp-bg); color: var(--dp-blue);
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--dp-blue); color: #fff;
}
.woocommerce-MyAccount-content {
  flex: 1 1 auto; min-width: 0;
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow); padding: 32px;
}
.woocommerce-MyAccount-content p { color: var(--dp-mid); line-height: 1.6; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--dp-blue); text-decoration: none; }
.woocommerce-MyAccount-content a:not(.button):hover { text-decoration: underline; }

/* Rendelések táblázat */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
  border: none !important; border-collapse: collapse; width: 100%;
}
.woocommerce-account table.shop_table thead th {
  background: transparent; padding: 0 16px 12px; font-size: 12px;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--dp-light); font-weight: 600;
  border: 0 !important; border-bottom: 1px solid #ECECEF !important; text-align: left;
}
.woocommerce-account table.shop_table td {
  padding: 16px; border: 0 !important; border-bottom: 1px solid #F0F0F2 !important;
  font-size: 15px; color: var(--dp-mid); vertical-align: middle;
}
.woocommerce-account table.shop_table tbody tr:last-child td { border-bottom: 0 !important; }
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-number a {
  color: var(--dp-dark); font-weight: 600; text-decoration: none;
}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-number a:hover { color: var(--dp-blue); }
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-status { color: var(--dp-dark); font-weight: 600; }
.woocommerce-account table.shop_table .woocommerce-button {
  padding: 9px 18px !important; font-size: 13px !important; min-height: 0 !important;
}

/* Címek nézet — a designos szabályok lentebb, a "Címek nézet kártyák" blokkban */
.woocommerce-Address { font-size: 15px; color: var(--dp-dark); line-height: 1.8; }
.woocommerce-Address address { font-style: normal; }

/* Üzenetek / értesítések a fiókban */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  margin: 0 auto 24px !important;
}

/* ── Mobil ── */
@media (max-width: 768px) {
  .woocommerce-account.logged-in .woocommerce {
    flex-direction: column; gap: 20px;
  }
  /* Mobil fiók-menü: igényes pill-rács */
  .woocommerce-MyAccount-navigation {
    flex: none; width: 100%; padding: 10px;
  }
  .woocommerce-MyAccount-navigation ul {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  }
  .woocommerce-MyAccount-navigation li { margin-bottom: 0; }
  .woocommerce-MyAccount-navigation li a {
    text-align: center; padding: 12px 8px; font-size: 14px; font-weight: 600;
    background: var(--dp-bg); border-radius: var(--dp-radius-sm);
    line-height: 1.3; height: 100%; display: flex;
    align-items: center; justify-content: center;
  }
  .woocommerce-MyAccount-navigation li a:hover {
    background: #E8E8ED; color: var(--dp-blue);
  }
  .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--dp-blue); color: #fff;
  }
  .woocommerce-MyAccount-content { width: 100%; padding: 24px; }
  /* Fiókadatok űrlap: nevek egymás alatt mobilon */
  .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-EditAccountForm .form-row-last {
    width: 100% !important; float: none !important; margin-right: 0 !important;
  }
}
@media (max-width: 600px) {
  .woocommerce-account main#primary,
  .woocommerce-account .site-main,
  body.woocommerce-account .wp-site-blocks {
    padding-top: 100px;
  }
  .dp-account-box .woocommerce-form-login,
  .dp-account-box .woocommerce-form-register {
    padding: 24px !important;
  }
  .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Fiókadatok (Edit Account) + Címek űrlapok dizájnja ── */
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
  max-width: 100%;
}
/* Két oszlopos név mezők desktopon */
.woocommerce-EditAccountForm .form-row-first,
.woocommerce-address-fields .form-row-first {
  width: 48%; float: left; margin-right: 4%;
}
.woocommerce-EditAccountForm .form-row-last,
.woocommerce-address-fields .form-row-last {
  width: 48%; float: left; margin-right: 0;
}
.woocommerce-EditAccountForm .clear,
.woocommerce-address-fields .clear { clear: both; }
.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-address-fields .form-row-wide { width: 100%; clear: both; }

/* Select mezők (Ország) ugyanaz a pill stílus mint az inputoké */
.woocommerce-account select,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection {
  width: 100% !important; box-sizing: border-box;
  padding: 12px 16px !important; font-size: 15px !important;
  border: 1px solid #D2D2D7 !important; border-radius: var(--dp-radius-sm) !important;
  font-family: inherit !important; background: #fff !important;
  height: auto !important; min-height: 48px; color: var(--dp-dark);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.4 !important; padding: 0 !important; color: var(--dp-dark);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
}

/* "Jelszó változtatás" fieldset keret finomítás */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid #E5E5EA; border-radius: var(--dp-radius-sm);
  padding: 20px; margin: 20px 0 0;
}
.woocommerce-EditAccountForm fieldset legend {
  font-weight: 700; color: var(--dp-dark); padding: 0 8px; font-size: 15px;
}

/* Címek nézet — cím-blokk fehér + enyhe szegély + kék bal-akcentus, alul gomb */
.dp-addresses { display: flex; gap: 24px; flex-wrap: wrap; align-items: stretch; }
.woocommerce-account .dp-addresses .dp-addr-card {
  flex: 1 1 260px; background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
}
.dp-addr-head { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.dp-addr-icon {
  flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px;
  background: #EAF3FF; color: var(--dp-blue);
  display: inline-flex; align-items: center; justify-content: center;
}
.dp-addr-icon svg { width: 19px; height: 19px; }
.woocommerce-account .dp-addresses .dp-addr-title {
  font-family: var(--dp-font) !important; font-weight: 700 !important;
  color: var(--dp-dark) !important; font-size: 16px !important; margin: 0 !important;
  letter-spacing: -0.01em; text-transform: none;
}
/* A cím tartalma — ugyanaz, mint a rendelésszámos lapon */
.woocommerce-account .dp-addresses .dp-addr-body {
  font-style: normal; background: #fff; border: 1px solid #E5E5EA; border-left: 3px solid var(--dp-blue);
  border-radius: var(--dp-radius-sm); padding: 14px 18px; margin: 0 0 16px;
  color: var(--dp-mid); font-size: 15px; line-height: 1.8;
}
/* Szerkesztés — valódi (outline pill) gomb */
.woocommerce-account .dp-addresses a.dp-addr-edit {
  align-self: flex-start; margin-top: auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--dp-blue) !important;
  border: 1px solid #D2D2D7; border-radius: 980px; padding: 10px 24px;
  font-size: 14px; font-weight: 600; text-decoration: none !important; transition: background .2s, border-color .2s;
}
.woocommerce-account .dp-addresses a.dp-addr-edit:hover { background: #F5F5F7; border-color: var(--dp-blue); }

@media (max-width: 600px) {
  .dp-addresses { flex-direction: column; gap: 22px; }
}

/* ============================================
   CÉGES VÁSÁRLÁS — "Cégként vásárolok" opció
   ============================================ */
/* A céges mezők alapból rejtve (a JS .dp-company-visible osztállyal mutatja) */
.dp-company-field {
  display: none !important;
}
.dp-company-field.dp-company-visible {
  display: block !important;
}
/* "Cégként vásárolok" checkbox sor */
.dp-is-company-row {
  margin-bottom: 18px !important;
}
/* A WooCommerce "(opcionális)" / "(nem kötelező)" felirat elrejtése */
.woocommerce form .form-row label .optional,
.woocommerce-account form .form-row label .optional,
span.optional {
  display: none !important;
}
/* A kötelező mezők piros csillaga legyen látható */
.woocommerce form .form-row label .required,
.woocommerce-account form .form-row label .required,
abbr.required {
  display: inline !important; color: #E02B2B !important;
  border: none !important; text-decoration: none !important; font-weight: 700;
}
.dp-is-company-row label {
  display: inline-flex !important; align-items: center; gap: 10px;
  font-weight: 600 !important; color: var(--dp-dark) !important;
  cursor: pointer; font-size: 15px !important; margin: 0 !important;
}
.dp-is-company-row input[type="checkbox"] {
  width: 20px; height: 20px; margin: 0; cursor: pointer;
  accent-color: var(--dp-blue);
}

/* ============================================
   PÉNZTÁR (WooCommerce Block Checkout) — Apple stílus
   A kosár oldallal összhangban.
   ============================================ */
/* Fő elrendezés: űrlap + összesítő sidebar */
.wc-block-checkout {
  max-width: 1100px; margin: 0 auto; width: 100%;
}
/* Nagy képernyőn KÉT OSZLOP (űrlap | összesítő), akkor is, ha a
   WooCommerce 'is-mobile' osztályt adott a szűk konténer miatt. */
@media (min-width: 992px) {
  .wc-block-checkout .wc-block-components-sidebar-layout,
  .wc-block-checkout.wc-block-components-sidebar-layout {
    display: flex !important; flex-direction: row !important;
    align-items: flex-start; gap: 32px;
  }
  .wc-block-checkout .wc-block-components-main,
  .wc-block-checkout__main,
  body .wc-block-checkout .wc-block-checkout__main {
    flex: 1 1 54% !important; max-width: 54% !important; width: 54% !important;
  }
  .wc-block-checkout .wc-block-components-sidebar,
  .wc-block-checkout__sidebar,
  body .wc-block-checkout .wc-block-checkout__sidebar,
  body .wc-block-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar {
    flex: 0 0 42% !important; max-width: 42% !important; width: 42% !important;
    margin-top: 0 !important;
  }
}
.wc-block-checkout__main {
  background: #fff; border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow); padding: 32px;
}
.wc-block-checkout__sidebar,
.wc-block-components-sidebar.wc-block-checkout__sidebar,
body .wc-block-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar {
  background: #fff !important; border: 1px solid #E5E5EA !important;
  border-radius: var(--dp-radius) !important;
  padding: 28px !important; height: fit-content; box-shadow: var(--dp-shadow);
}
/* "Rendelés összesítő" összecsukható fejléc a sidebar tetején
   (cím + ár + nyíl egy sorban) */
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important; padding-bottom: 16px !important;
  border-bottom: 1px solid #E5E5EA !important;
}
.wc-block-components-checkout-order-summary__title-price {
  margin-left: auto !important;
}
.wc-block-components-checkout-order-summary__title-text {
  font-family: var(--dp-font) !important; font-weight: 700 !important;
  color: var(--dp-dark) !important; font-size: 18px !important;
}
.wc-block-components-checkout-order-summary__title-price {
  font-family: var(--dp-font) !important; font-weight: 600 !important;
  color: var(--dp-blue) !important;
}
/* Termék sorok az összesítőben */
.wc-block-components-order-summary-item {
  padding: 14px 0 !important; border-bottom: 1px solid #F0F0F2 !important;
}
.wc-block-components-order-summary-item__image img {
  border-radius: var(--dp-radius-sm); border: 1px solid #E5E5EA;
}
.wc-block-components-order-summary-item__quantity {
  background: var(--dp-dark) !important;
}

/* Lépés-címek (Kapcsolati adatok, Számlázási cím, stb.) */
.wc-block-components-checkout-step__title,
.wc-block-components-title {
  font-family: var(--dp-font) !important; font-weight: 700 !important;
  color: var(--dp-dark) !important; font-size: 20px !important;
}
.wc-block-components-checkout-step__heading {
  margin-bottom: 16px !important;
}
.wc-block-components-checkout-step__description {
  color: var(--dp-mid) !important; font-size: 14px !important;
}

/* Input mezők — pill stílus, mint a kosárban/fiókban.
   A felső padding nagyobb, hogy a lebegő label elférjen. */
.wc-block-components-text-input input,
.wc-block-components-select input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select,
.wc-block-components-text-input .components-text-control__input {
  border: 1px solid #D2D2D7 !important; border-radius: var(--dp-radius-sm) !important;
  font-size: 15px !important;
  font-family: inherit !important; background: #fff !important;
  color: var(--dp-dark) !important; box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
  border-color: var(--dp-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12) !important; outline: none !important;
}
/* Lebegő label — csak a színt állítjuk, a WC saját pozícionálását
   NEM írjuk felül (különben átfedi a beírt szöveget). */
.wc-block-components-text-input label,
.wc-block-components-checkout-step label {
  font-family: var(--dp-font) !important;
}
.wc-block-components-text-input.is-active label {
  color: var(--dp-blue) !important;
}

/* Összegek (részösszeg, végösszeg) — ne lógjanak ki / csússzanak egymásra.
   A WC totals-item belső szerkezete miatt abszolút pozícionálással
   választjuk szét a feliratot (balra) és az értéket (jobbra). */
.wc-block-components-totals-item,
.wc-block-components-totals-wrapper .wc-block-components-totals-item {
  padding: 12px 0 !important; position: relative !important;
  display: block !important; min-height: 24px; width: 100%;
}
.wc-block-components-totals-item__label {
  color: var(--dp-mid) !important; margin: 0 !important;
  display: inline-block; max-width: 60%;
}
.wc-block-components-totals-item__value {
  position: absolute !important; right: 0 !important; top: 12px !important;
  white-space: nowrap; text-align: right; margin: 0 !important;
  font-weight: 600;
}
.wc-block-components-totals-item__description {
  display: block; margin-top: 4px !important; color: var(--dp-light) !important;
  font-size: 13px !important; position: static !important;
}
.wc-block-components-totals-footer-item {
  border-top: 1px solid #D2D2D7 !important; padding-top: 16px !important;
  position: relative !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-weight: 700 !important; color: var(--dp-dark) !important; font-size: 18px;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--dp-blue) !important; font-weight: 700 !important; font-size: 20px !important;
  top: 16px !important;
}
/* A sidebar/összesítő tartalma ne legyen levágva */
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper {
  overflow: visible;
}
/* Minden összesítő-sor és a fejléc PONTOSAN egy függőleges vonalban:
   a wrapperek ne adjanak oldalsó behúzást, a label balra, az érték jobbra
   a kártya belső széléig érjen (a sidebar paddingján belül). */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary__content,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-totals-block {
  padding-left: 0 !important; padding-right: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
/* Az egész összesítő tartalmat (fejléc + sorok) egységesen beljebb toljuk
   a kártya peremétől, hogy ne tapadjon a szélhez (elegánsabb sáv). */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
  padding-left: 16px !important; padding-right: 16px !important;
}

/* "Rendelés összesítő" kártya */
.wc-block-components-order-summary {
  background: transparent !important;
}
.wc-block-components-order-summary__button-text,
.wc-block-components-panel__button {
  font-family: var(--dp-font) !important; font-weight: 700 !important;
  color: var(--dp-dark) !important; font-size: 18px !important;
}
.wc-block-components-order-summary-item {
  padding: 12px 0 !important; border-bottom: 1px solid #E5E5EA !important;
}
.wc-block-components-product-name {
  color: var(--dp-dark) !important; font-weight: 600 !important;
}

/* Számlázási cím "Szerkesztés" link */
.wc-block-components-address-card__edit {
  color: var(--dp-blue) !important; font-weight: 600 !important;
  text-decoration: none !important;
}
.wc-block-components-address-card__edit:hover { text-decoration: underline !important; }

/* "Megrendelés" / fizetés gomb */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions button,
.wp-block-woocommerce-checkout-actions-block button {
  background: var(--dp-blue) !important; color: #fff !important;
  border-radius: 980px !important; padding: 16px 32px !important;
  font-weight: 600 !important; font-size: 16px !important;
  font-family: var(--dp-font) !important; border: none !important;
  min-height: 54px; width: 100%; transition: background .2s !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions button:hover {
  background: var(--dp-blue-hover) !important;
}

/* Radio gombok (szállítási/fizetési mód) */
.wc-block-components-radio-control__option {
  border: 1px solid #E5E5EA !important; border-radius: var(--dp-radius-sm) !important;
  padding: 16px 16px 16px 46px !important; margin-bottom: 10px !important;
  background: #fff !important; position: relative !important;
  display: block !important;
  transition: border-color .15s, background .15s;
}
/* A radio kör: abszolút pozíció + VALÓDI függőleges centrálás (top:50% + transform),
   így mindig pontosan a "Utánvétes fizetés" sor közepén ül. */
.wc-block-components-radio-control__input,
.wc-block-components-radio-control__input[type="radio"] {
  position: absolute !important;
  left: 16px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important; height: 18px !important; margin: 0 !important;
  accent-color: var(--dp-blue) !important;
}
.wc-block-components-radio-control__option-layout {
  display: block !important;
}
.wc-block-components-radio-control__label {
  font-weight: 600 !important; color: var(--dp-dark) !important;
}
.wc-block-components-radio-control__description {
  color: var(--dp-mid) !important; font-size: 14px !important; margin-top: 4px;
}
/* Kiválasztott opció: EGYETLEN kék keret + halvány kék háttér */
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--dp-blue) !important;
  background: rgba(0,102,204,0.04) !important;
  box-shadow: none !important; outline: none !important;
}
/* Az accordion-option wrapper minden saját keretét/árnyékát töröljük,
   hogy ne legyen dupla keret a kiválasztott fizetési módnál. */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border: none !important; box-shadow: none !important; outline: none !important;
  background: transparent !important; padding: 0 !important; margin: 0 !important;
}
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked--first-selected {
  border: none !important; box-shadow: none !important; outline: none !important;
  background: transparent !important;
}
.wc-block-components-radio-control--highlight-checked::before,
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control-accordion-option::before,
.wc-block-components-radio-control-accordion-option::after {
  display: none !important; border: none !important; content: none !important;
}
/* Az accordion-tartalom (leírás) az opció dobozán belül, igazítva */
.wc-block-components-radio-control-accordion-content {
  padding: 0 16px 14px 46px !important; margin-top: -4px !important;
}

/* A Kosár oldalon NE jelenjen meg a szállítási mód sora ("Automatába
   viszem (GLS) — Ingyenes"); a szállítást a vevő úgyis a pénztáron
   választja ki. Csak a Kosár oldalt érinti (.woocommerce-cart). */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block {
  display: none !important;
}

/* Saját "Cégként vásárolok" pipa a blokk-pénztáron (JS teszi be) */
.dp-company-toggle { margin: 6px 0 14px; }
.dp-company-toggle label {
  display: flex !important; align-items: center; gap: 10px;
  cursor: pointer; font-size: 15px; color: var(--dp-dark); font-weight: 500;
}
.dp-company-toggle input[type="checkbox"] {
  width: 18px !important; height: 18px !important; margin: 0 !important;
  flex: 0 0 18px; accent-color: var(--dp-blue); cursor: pointer;
}

/* Megye (state) mező teljes elrejtése — block checkout, classic checkout,
   fiók címek. Szállításhoz nincs rá szükség. */.wc-block-components-address-form__state,
.wc-block-components-address-form .wc-block-components-state-input,
#billing_state_field,
#shipping_state_field,
#calc_shipping_state_field,
p.form-row.address-field[id*="_state_field"],
.woocommerce-billing-fields #billing_state_field,
.woocommerce-shipping-fields #shipping_state_field {
  display: none !important;
}

/* Checkbox-ok (pl. szállítási = számlázási cím, fiók létrehozása) */
.wc-block-components-checkbox__input:checked {
  background: var(--dp-blue) !important; border-color: var(--dp-blue) !important;
}
/* A pipa fehér legyen a kék háttéren (alapból sötét volt) */
.wc-block-components-checkbox__mark,
.wc-block-components-checkbox__mark path,
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark,
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path {
  fill: #ffffff !important; color: #ffffff !important; stroke: #ffffff !important;
}

/* "Belépés" link rendes CTA gombbá a Kapcsolati adatok fejlécében */
.wc-block-components-checkout-step__heading-content a,
.wc-block-checkout__login-prompt a,
a.wc-block-checkout__login-prompt {
  display: inline-block !important;
  background: var(--dp-blue) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 9px 20px !important;
  border-radius: 980px !important;
  line-height: 1.2 !important;
  transition: background .2s;
}
.wc-block-components-checkout-step__heading-content a:hover,
.wc-block-checkout__login-prompt a:hover,
a.wc-block-checkout__login-prompt:hover {
  background: var(--dp-blue-hover) !important;
}

/* Értesítések */
.wc-block-components-notice-banner {
  border-radius: var(--dp-radius-sm) !important;
}

/* Mobil */
@media (max-width: 768px) {
  .wc-block-checkout__main { padding: 24px; }
  .wc-block-checkout__sidebar { padding: 20px !important; margin-top: 20px; }
  /* Mobil dupla összesítő megszüntetése:
     A checkout fő tartalmán (main → actions blokk) BELÜL egy teljes
     "Rendelés összesítő" blokk is megjelenik a Megrendelés gomb felett.
     Ezt elrejtjük — csak a sidebar-os összesítő marad. A valódi osztály
     .wp-block-woocommerce-... (wp-block, NEM wc-block-components). */
  .wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block,
  .wc-block-checkout__main .checkout-order-summary-block-fill-wrapper {
    display: none !important;
  }
}

/* ── Pénztár: megjegyzés/hibaleírás mező (mindig nyitva) ── */
/* A "Adj egy megjegyzést" pipa elrejtése — a mező mindig látszik */
.wc-block-checkout__add-note .wc-block-components-checkbox {
  display: none !important;
}
.wc-block-checkout__add-note .wc-block-components-textarea,
.wc-block-checkout__add-note textarea {
  display: block !important;
  border: 1px solid #D2D2D7 !important; border-radius: var(--dp-radius-sm) !important;
  padding: 14px 16px !important; font-size: 15px !important;
  font-family: inherit !important; background: #fff !important;
  width: 100% !important; box-sizing: border-box; min-height: 110px; resize: vertical;
}
.wc-block-checkout__add-note textarea:focus {
  border-color: var(--dp-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12) !important; outline: none !important;
}

/* ============================================================
   RENDELÉS-RÖGZÍTŐ ("köszönjük") OLDAL — Apple-stílus
   ============================================================ */
.dp-thankyou { max-width: 720px; margin: 0 auto; }

/* Sikeres állapot hero (pipa + üzenet) */
.dp-thankyou-hero { text-align: center; margin: 8px 0 40px; }
.dp-thankyou-check {
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--dp-blue); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; box-shadow: 0 8px 24px rgba(0,102,204,0.28);
}
.dp-thankyou-check svg { width: 36px; height: 36px; }
.dp-thankyou-lead {
  font-size: 19px; line-height: 1.5; color: var(--dp-mid);
  max-width: 520px; margin: 0 auto;
}

/* Gyors-összegző kártyák */
body.woocommerce-order-received .dp-thankyou .dp-overview {
  list-style: none; margin: 0 0 36px; padding: 0; border: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
}
/* A WooCommerce "clearfix" ::before/::after elemei rács-cellát foglalnának
   és eltolnák a kártyákat — kikapcsoljuk őket. */
body.woocommerce-order-received .dp-thankyou .dp-overview::before,
body.woocommerce-order-received .dp-thankyou .dp-overview::after {
  content: none !important; display: none !important;
}
body.woocommerce-order-received .dp-thankyou .dp-overview li {
  background: #fff; border: 1px solid #E5E5EA !important; border-radius: var(--dp-radius-sm);
  padding: 16px 18px !important; margin: 0 !important; float: none !important;
  display: flex; flex-direction: column; gap: 4px; text-transform: none;
}
.dp-thankyou .dp-overview li span {
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--dp-light); font-weight: 600;
}
.dp-thankyou .dp-overview li strong { font-size: 17px; color: var(--dp-dark); font-weight: 600; }

/* Lépések doboz */
.dp-thankyou-steps {
  background: #fff; border: 1px solid #E5E5EA; border-radius: var(--dp-radius);
  padding: 28px 30px; margin: 0 0 36px;
}
.dp-thankyou-steps__title {
  font-size: 20px; font-weight: 700; color: var(--dp-dark);
  margin: 0 0 18px; letter-spacing: -0.01em;
}
.dp-steps-list { list-style: none !important; margin: 0; padding: 0; }
.dp-steps-list li { display: flex; align-items: flex-start; gap: 14px; padding: 10px 0; margin: 0; border: 0; list-style: none !important; }
.dp-steps-list li::before { content: none !important; }
.dp-step-num {
  flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
  background: var(--dp-blue); color: #fff; font-weight: 700; font-size: 14px;
  display: inline-flex; align-items: center; justify-content: center; margin-top: 2px;
}
.dp-step-txt { font-size: 15px; color: var(--dp-mid); line-height: 1.6; }
.dp-step-txt strong { color: var(--dp-dark); }

/* Felkészítő lista (Készítsd elő az eszközöd) — pipás lista */
.dp-thankyou-prep { background: #fff; }
.dp-prep-list { list-style: none !important; margin: 0; padding: 0; }
.dp-prep-list li {
  position: relative; padding: 9px 0 9px 34px;
  font-size: 15px; color: var(--dp-mid); line-height: 1.6; border: 0; margin: 0;
  list-style: none !important;
}
.dp-prep-list li::before {
  content: "\2713"; position: absolute; left: 0; top: 9px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--dp-blue); color: #fff;
  font-size: 12px; font-weight: 700; line-height: 22px; text-align: center;
}
.dp-prep-list li a { color: var(--dp-blue); text-decoration: none; }
.dp-prep-list li a:hover { text-decoration: underline; }

/* Rendelés részletei + ügyféladatok kártyák */
body.woocommerce-order-received .dp-thankyou .woocommerce-order-details,
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details {
  background: #fff !important; border: 1px solid #E5E5EA !important; border-radius: var(--dp-radius) !important;
  padding: 28px 30px !important; margin: 0 0 28px !important;
}
.dp-thankyou .woocommerce-order-details__title,
.dp-thankyou .woocommerce-column__title {
  font-size: 18px; font-weight: 700; color: var(--dp-dark);
  margin: 0 0 18px; letter-spacing: -0.01em;
}

/* A táblázat alap-keretének teljes leszedése (a WooCommerce shop_table-t felülírjuk),
   hogy tisztán üljön a kártyán belül, ne legyen doboz a dobozban. */
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details {
  width: 100%; margin: 0;
  border: 0 !important; border-radius: 0 !important;
  border-collapse: collapse !important; background: transparent !important;
}
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details th,
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details td {
  padding: 14px 0 !important; border: 0 !important;
  border-bottom: 1px solid #F0F0F2 !important;
  text-align: left; font-size: 15px; background: transparent !important;
  vertical-align: middle;
}
/* Fejléc (Termék / Összeg) — finom, nagybetűs címke */
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details thead th {
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--dp-light); font-weight: 600; padding-bottom: 10px !important;
}
/* Termék neve + mennyiség */
.dp-thankyou .woocommerce-table--order-details .product-name a {
  color: var(--dp-dark); text-decoration: none; font-weight: 600;
}
.dp-thankyou .woocommerce-table--order-details .product-name a:hover { color: var(--dp-blue); }
.dp-thankyou .woocommerce-table--order-details .product-quantity {
  display: inline-block; margin-left: 8px; font-weight: 600; font-size: 13px;
  color: var(--dp-light); background: var(--dp-bg);
  padding: 2px 9px; border-radius: 980px; vertical-align: middle;
}
/* Árak jobbra, sötét */
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details td.product-total,
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details th.product-total,
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details thead th.product-total {
  text-align: right !important; color: var(--dp-dark); white-space: nowrap;
}
/* Összesítő (tfoot): címke balra szürke, érték jobbra sötét */
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details tfoot th {
  color: var(--dp-mid); font-weight: 500; text-align: left;
}
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details tfoot td {
  text-align: right !important; font-weight: 600; color: var(--dp-dark);
}
/* Adótartalom apró megjegyzés halványan */
.dp-thankyou .woocommerce-table--order-details tfoot small.includes_tax {
  display: block; font-size: 12px; font-weight: 400; color: var(--dp-light); margin-top: 2px;
}
/* Utolsó tfoot sor (Végösszeg vagy Fizetés módja) hangsúlyosabb + vonal nélkül */
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received .dp-thankyou table.woocommerce-table--order-details tfoot tr:last-child td {
  border-bottom: 0 !important; padding-bottom: 0 !important;
}
/* A "Végösszeg" sor kiemelése (általában az utolsó előtti, de a végösszeg th tartalmazza) */
.dp-thankyou .woocommerce-table--order-details tfoot .amount { font-size: 16px; }

/* Ügyféladatok — designos cím-blokkok */
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .woocommerce-column__title {
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em;
  font-weight: 700; color: var(--dp-light); margin: 0 0 12px;
}
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .woocommerce-column__title::before {
  content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: var(--dp-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M2%2010h20%27/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M2%2010h20%27/%3E%3C/svg%3E") center / contain no-repeat;
}
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .col-2 .woocommerce-column__title::before,
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .woocommerce-column--shipping-address .woocommerce-column__title::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%203h15v13H1z%27/%3E%3Cpath%20d%3D%27M16%208h4l3%203v5h-7V8z%27/%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%203h15v13H1z%27/%3E%3Cpath%20d%3D%27M16%208h4l3%203v5h-7V8z%27/%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3C/svg%3E") center / contain no-repeat;
}
body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details address {
  font-style: normal !important; border: 1px solid #E5E5EA !important; border-left: 3px solid var(--dp-blue) !important;
  border-radius: var(--dp-radius-sm) !important; background: #fff !important;
  padding: 15px 18px !important; line-height: 1.85; color: var(--dp-dark); font-size: 15px;
}
.dp-thankyou .woocommerce-customer-details--phone,
.dp-thankyou .woocommerce-customer-details--email {
  display: flex; align-items: center; gap: 8px; margin: 9px 0 0; color: var(--dp-mid); font-size: 14px;
}
.dp-thankyou .woocommerce-customer-details--phone::before,
.dp-thankyou .woocommerce-customer-details--email::before {
  content: ""; flex: 0 0 15px; width: 15px; height: 15px; background: var(--dp-light);
  -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
.dp-thankyou .woocommerce-customer-details--phone::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%27/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%27/%3E%3C/svg%3E"); }
.dp-thankyou .woocommerce-customer-details--email::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2720%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27m22%207-10%205L2%207%27/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2720%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27m22%207-10%205L2%207%27/%3E%3C/svg%3E"); }

/* Gombok */
.dp-thankyou-footer-cta { text-align: center; margin: 8px 0 0; }
.dp-thankyou-btn {
  display: inline-block; background: var(--dp-blue); color: #fff !important; text-decoration: none;
  font-weight: 600; font-size: 15px; padding: 13px 28px; border-radius: 980px; transition: background 0.2s;
}
.dp-thankyou-btn:hover { background: var(--dp-blue-hover); }
.dp-thankyou-btn--ghost { background: transparent; color: var(--dp-blue) !important; border: 1px solid #D2D2D7; }
.dp-thankyou-btn--ghost:hover { background: var(--dp-bg); border-color: var(--dp-blue); }

/* Banki átutalás adatai (bacs), ha megjelenik */
.dp-thankyou .woocommerce-bacs-bank-details {
  background: var(--dp-bg); border: 1px solid #E5E5EA; border-radius: var(--dp-radius);
  padding: 22px 26px; margin: 0 0 28px; list-style: none;
}
.dp-thankyou .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
  font-size: 17px; font-weight: 700; color: var(--dp-dark); margin: 0 0 12px;
}

/* Mobil */
@media (max-width: 600px) {
  body.woocommerce-order-received .dp-thankyou .dp-overview { grid-template-columns: 1fr; }
  .dp-thankyou-steps,
  .dp-thankyou .woocommerce-order-details,
  .dp-thankyou .woocommerce-customer-details { padding: 22px 20px; }
  /* Mobilon a számlázási (col-1) blokk után nagyobb térköz, hogy ne lógjon a "Szállítási cím" feliratba */
  body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .col-1 { margin-bottom: 28px; }
  body.woocommerce-order-received .dp-thankyou .woocommerce-customer-details .woocommerce-column__title { margin-top: 0; }
}

/* === Pénztár: bevizsgálási díj értesítő doboz === */
.dp-fee-notice{background:#FFF8E5;border:1px solid #F0E0A8;border-radius:14px;padding:16px 20px;margin:16px 0;}
.dp-fee-notice > strong{display:block;color:#1D1D1F;font-size:15px;margin-bottom:6px;}
.dp-fee-notice p{margin:0;color:#6b5e1f;font-size:13.5px;line-height:1.55;}
.dp-fee-notice a{color:#0066CC;text-decoration:underline;}

/* ── "Kosár megtekintése" link a terméklista AJAX hozzáadás után ── */
.dp-wc-wrapper ul.products li.product a.added_to_cart,
.wc-block-grid__product a.added_to_cart {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 42px;
  margin: 8px 0 0 !important;
  padding: 10px 20px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: var(--dp-blue) !important;
  border: 1.5px solid var(--dp-blue) !important;
  border-radius: 980px !important;
  text-align: center;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.3;
}
.dp-wc-wrapper ul.products li.product a.added_to_cart:hover,
.wc-block-grid__product a.added_to_cart:hover {
  background: var(--dp-blue) !important;
  color: #fff !important;
}


/* ============================================================
   FIÓKOM — Rendelés megtekintése (view-order) designos nézet
   ============================================================ */
.dp-orderview { max-width: 720px; }

/* Státusz-fejléc (vonalas elválasztóval, nem doboz-a-dobozban) */
.dp-ov-head { padding: 0 0 20px; margin: 0 0 26px; border-bottom: 1px solid #ECECEF; }
.dp-ov-headrow { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.dp-ov-label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--dp-light); font-weight: 600; margin-bottom: 3px; }
.dp-ov-num { font-size: 24px; font-weight: 700; color: var(--dp-dark); letter-spacing: -0.01em; }
.dp-ov-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 15px; border-radius: 980px; font-size: 13px; font-weight: 600; background: #EAF3FF; color: var(--dp-blue); border: 1px solid #CFE3FB; white-space: nowrap; }
.dp-ov-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--dp-blue); }
.dp-ov-date { margin-top: 12px; font-size: 14px; color: var(--dp-light); }

/* Frissítések (rendelés-jegyzetek) */
.dp-ov-notes-card { background: var(--dp-bg); border: 1px solid #E5E5EA; border-radius: var(--dp-radius); padding: 20px 22px; margin: 0 0 26px; }
.dp-ov-subtitle { font-size: 16px; font-weight: 700; color: var(--dp-dark); margin: 0 0 14px; }
.dp-ov-notes { list-style: none !important; margin: 0; padding: 0; }
.dp-ov-note { margin: 0 0 14px; padding: 0 0 14px; border-bottom: 1px solid #ECECEF; }
.dp-ov-note:last-child { margin: 0; padding: 0; border-bottom: 0; }
.dp-ov-note .meta { font-size: 12px; color: var(--dp-light); margin: 0 0 4px; }
.dp-ov-note .description p { margin: 0; color: var(--dp-mid); font-size: 14px; line-height: 1.6; }

/* Rendelés-részletek + ügyféladatok — kerettelen, tisztán a fehér kártyán belül */
.dp-orderview .woocommerce-order-details,
.dp-orderview .woocommerce-customer-details { background: transparent; border: 0; padding: 0; margin: 0 0 28px; }
/* A Fiókom "Címeim" szürke kártyája NE üljön rá a view-order cím-oszlopaira */
.dp-orderview .woocommerce-customer-details .col-1,
.dp-orderview .woocommerce-customer-details .col-2 {
  background: transparent !important; padding: 0 !important; margin: 0 0 18px !important; border-radius: 0 !important;
}
.dp-orderview .woocommerce-order-details__title { font-size: 16px; font-weight: 700; color: var(--dp-dark); margin: 0 0 14px; }

/* Tételtáblázat */
.dp-orderview table.woocommerce-table--order-details { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse !important; background: transparent !important; }
.dp-orderview table.woocommerce-table--order-details th,
.dp-orderview table.woocommerce-table--order-details td { padding: 13px 0 !important; border: 0 !important; border-bottom: 1px solid #F0F0F2 !important; text-align: left; font-size: 15px; background: transparent !important; vertical-align: middle; }
.dp-orderview table.woocommerce-table--order-details thead th { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--dp-light); font-weight: 600; padding-bottom: 10px !important; }
.dp-orderview .woocommerce-table--order-details .product-name a { color: var(--dp-dark); text-decoration: none; font-weight: 600; }
.dp-orderview .woocommerce-table--order-details .product-name a:hover { color: var(--dp-blue); }
.dp-orderview .woocommerce-table--order-details .product-quantity { display: inline-block; margin-left: 8px; font-weight: 600; font-size: 13px; color: var(--dp-light); background: var(--dp-bg); padding: 2px 9px; border-radius: 980px; }
.dp-orderview table.woocommerce-table--order-details td.product-total,
.dp-orderview table.woocommerce-table--order-details th.product-total,
.dp-orderview table.woocommerce-table--order-details thead th.product-total { text-align: right !important; color: var(--dp-dark); white-space: nowrap; }
.dp-orderview table.woocommerce-table--order-details tfoot th { color: var(--dp-mid); font-weight: 500; text-align: left; }
.dp-orderview table.woocommerce-table--order-details tfoot td { text-align: right !important; font-weight: 600; color: var(--dp-dark); }
.dp-orderview table.woocommerce-table--order-details tfoot small.includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--dp-light); }
.dp-orderview table.woocommerce-table--order-details tfoot tr:last-child th,
.dp-orderview table.woocommerce-table--order-details tfoot tr:last-child td { border-bottom: 0 !important; }

/* Cím-blokkok (mint a köszönjük oldalon) */
.dp-orderview .woocommerce-customer-details .woocommerce-column__title { display: flex; align-items: center; gap: 9px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; color: var(--dp-light); margin: 0 0 12px; }
.dp-orderview .woocommerce-customer-details .woocommerce-column__title::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: var(--dp-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M2%2010h20%27/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M2%2010h20%27/%3E%3C/svg%3E") center / contain no-repeat; }
.dp-orderview .woocommerce-customer-details .col-2 .woocommerce-column__title::before,
.dp-orderview .woocommerce-customer-details .woocommerce-column--shipping-address .woocommerce-column__title::before { -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%203h15v13H1z%27/%3E%3Cpath%20d%3D%27M16%208h4l3%203v5h-7V8z%27/%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%203h15v13H1z%27/%3E%3Cpath%20d%3D%27M16%208h4l3%203v5h-7V8z%27/%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2718.5%27%20r%3D%272.5%27/%3E%3C/svg%3E") center / contain no-repeat; }
.dp-orderview .woocommerce-customer-details address { font-style: normal; border: 1px solid #E5E5EA; border-left: 3px solid var(--dp-blue); border-radius: var(--dp-radius-sm); background: #fff; padding: 14px 18px; line-height: 1.85; color: var(--dp-dark); font-size: 15px; }
.dp-orderview .woocommerce-customer-details--phone,
.dp-orderview .woocommerce-customer-details--email { display: flex; align-items: center; gap: 8px; margin: 9px 0 0; color: var(--dp-mid); font-size: 14px; }
.dp-orderview .woocommerce-customer-details--phone::before,
.dp-orderview .woocommerce-customer-details--email::before { content: ""; flex: 0 0 15px; width: 15px; height: 15px; background: var(--dp-light); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
.dp-orderview .woocommerce-customer-details--phone::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%27/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%27/%3E%3C/svg%3E"); }
.dp-orderview .woocommerce-customer-details--email::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2720%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27m22%207-10%205L2%207%27/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2720%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27m22%207-10%205L2%207%27/%3E%3C/svg%3E"); }

/* Ismételt rendelés gomb (ha megjelenik) */
.dp-orderview .order-again .button { display: inline-block; background: var(--dp-blue); color: #fff; border-radius: 980px; padding: 11px 22px; font-weight: 600; text-decoration: none; border: 0; }
.dp-orderview .order-again { margin: 0 0 22px; }

