/*
 * Easy Deals Digital — the Digital shell.
 *
 * Its own design, after the client's mockups (07/10): navy header, red calls
 * to action, white cards on a light ground, Noto Sans. The booklet theme's
 * stylesheet is not loaded on these pages (Frontend::drop_theme_assets()), so
 * everything a Digital page needs is here. Mobile first; the phone gets a
 * bottom tab bar.
 */

:root {
	--d-navy: #0b1a3f;
	--d-navy-2: #13275c;
	--d-red: #e3121b;
	--d-red-dark: #c00e16;
	--d-ink: #0f1c3f;
	--d-text: #1d2433;
	--d-muted: #5d6680;
	--d-line: #e4e7ef;
	--d-ground: #f4f6fa;
	--d-cream: #fff7f2;
	--d-green: #1a8a4a;
	--d-green-bg: #e7f6ed;
	--d-radius: 14px;
	--d-shadow: 0 2px 10px rgba(11, 26, 63, .07);
	--d-shadow-lift: 0 10px 28px rgba(11, 26, 63, .14);
	--d-font: 'Noto Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--d-serif: 'Noto Serif', Georgia, serif;
}

/* ── Base ─────────────────────────────────────────────────────────────── */
body.edd-digital { margin: 0; background: var(--d-ground); color: var(--d-text); font-family: var(--d-font); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.edd-digital *, body.edd-digital *::before, body.edd-digital *::after { box-sizing: border-box; }
.edd-digital img { max-width: 100%; height: auto; }
.edd-digital a { color: var(--d-navy-2); }
.edd-digital h1, .edd-digital h2, .edd-digital h3 { color: var(--d-ink); line-height: 1.2; font-weight: 800; }
.edd-icon { flex: 0 0 auto; vertical-align: middle; }
.edd-container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 16px; }
.edd-main { min-height: 50vh; padding-bottom: 48px; }
.edd-skip { position: absolute; left: -9999px; }
.edd-skip:focus { left: 12px; top: 12px; z-index: 1000; background: #fff; padding: 8px 12px; border-radius: 8px; }
.edd-title { font-size: 28px; margin: 24px 0 18px; }
.edd-lead { font-size: 17px; color: var(--d-muted); }
.edd-fine { color: var(--d-muted); font-size: 13px; margin: 6px 0 0; }
.edd-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--d-red); font-weight: 700; margin: 0 0 6px; }
.edd-empty { text-align: center; padding: 32px 0; color: var(--d-muted); }
.edd-narrow { max-width: 600px; padding-top: 32px; }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.edd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 22px; border-radius: 10px; font: 700 15px/1.2 var(--d-font); text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: background .15s, color .15s, border-color .15s; }
.edd-digital a.edd-btn, .edd-digital button.edd-btn { text-decoration: none; }
.edd-btn-red, .edd-btn-primary, .edd-digital a.edd-btn-red, .edd-digital a.edd-btn-primary { background: var(--d-red); color: #fff; }
.edd-btn-red:hover, .edd-btn-primary:hover { background: var(--d-red-dark); color: #fff; }
.edd-btn-outline, .edd-btn-ghost, .edd-digital a.edd-btn-outline, .edd-digital a.edd-btn-ghost { background: #fff; color: var(--d-ink); border-color: var(--d-line); }
.edd-btn-outline:hover, .edd-btn-ghost:hover { border-color: var(--d-ink); }
.edd-btn-outline-red, .edd-digital a.edd-btn-outline-red { background: #fff; color: var(--d-red); border-color: var(--d-red); }
.edd-btn-white, .edd-digital .edd-btn-white { background: #fff; color: var(--d-ink); }
.edd-btn-block { width: 100%; }
.edd-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }

/* ── Notices and forms ────────────────────────────────────────────────── */
.edd-notice { padding: 12px 14px; border-radius: 10px; margin: 12px 0; font-size: 15px; }
.edd-notice-error { background: #fdecea; color: #8a1f14; }
.edd-notice-success { background: var(--d-green-bg); color: #145c33; }
.edd-notice-info { background: #eef2fb; color: var(--d-ink); }
.edd-notice-warning { background: #fff6e0; color: #7a5200; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.edd-form { display: grid; gap: 8px; margin-top: 14px; }
.edd-form label { font-weight: 700; color: var(--d-ink); }
.edd-digital input[type="email"], .edd-digital input[type="text"], .edd-digital input[type="search"], .edd-digital input[type="tel"], .edd-digital input[type="url"], .edd-digital select { min-height: 46px; border-radius: 10px; border: 1.5px solid var(--d-line); background: #fff; padding: 0 12px; font: 16px var(--d-font); color: var(--d-text); }
.edd-pill { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .05em; padding: 4px 10px; border-radius: 999px; vertical-align: middle; }
.edd-pill-ok { background: var(--d-green-bg); color: #13703b; }
.edd-pill-off { background: #fdecea; color: #8a1f14; }

/* ── Header ───────────────────────────────────────────────────────────── */
.edd-header { background: var(--d-navy); color: #fff; position: sticky; top: 0; z-index: 50; padding-top: env(safe-area-inset-top, 0px); }
.edd-header-inner { display: flex; align-items: center; gap: 14px; min-height: 64px; }
.edd-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #fff; flex: 0 0 auto; }
.edd-digital a.edd-logo { color: #fff; }
.edd-logo img { width: 42px; height: auto; }
.edd-logo-text { display: grid; line-height: 1.1; }
.edd-logo-name { font-family: var(--d-serif); font-size: 21px; font-weight: 600; letter-spacing: .005em; }
.edd-logo-tagline { font-size: 10px; opacity: .85; font-style: italic; }
.edd-header-search { display: none; flex: 1; max-width: 700px; margin: 0 auto; background: #fff; border-radius: 10px; align-items: center; overflow: hidden; }
.edd-header-search-field { display: flex; align-items: center; gap: 8px; flex: 1; padding-left: 14px; color: var(--d-muted); }
.edd-header-search input[type="search"] { border: 0; min-height: 44px; flex: 1; padding: 0 8px 0 0; font-size: 14px; outline: none; }
.edd-header-search-region { display: flex; align-items: center; gap: 4px; border-left: 1px solid var(--d-line); padding-left: 10px; color: var(--d-ink); }
.edd-header-search select { border: 0; min-height: 44px; font-size: 13px; font-weight: 600; background: transparent; padding-right: 8px; }
.edd-header-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.edd-header-login { display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; font-weight: 600; padding: 8px; }
.edd-digital a.edd-header-login { color: #fff; }
.edd-header-login span { display: none; }
.edd-account, .edd-burger { position: relative; }
.edd-account summary, .edd-burger summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 8px; border-radius: 10px; color: #fff; }
.edd-account summary::-webkit-details-marker, .edd-burger summary::-webkit-details-marker { display: none; }
.edd-account summary:hover, .edd-burger summary:hover { background: rgba(255, 255, 255, .1); }
.edd-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--d-red); color: #fff; display: inline-grid; place-items: center; font-weight: 800; }
.edd-account-name { display: none; font-weight: 600; }
.edd-account-menu, .edd-burger-menu { position: absolute; right: 0; top: calc(100% + 8px); background: #fff; border-radius: 12px; box-shadow: var(--d-shadow-lift); min-width: 240px; padding: 8px; display: grid; z-index: 60; }
.edd-account-menu a, .edd-burger-menu a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; color: var(--d-ink); text-decoration: none; font-weight: 600; }
.edd-account-menu a:hover, .edd-burger-menu a:hover, .edd-burger-menu a[aria-current="page"] { background: var(--d-ground); }
.edd-burger-book { border-top: 1px solid var(--d-line); margin-top: 4px; color: var(--d-muted) !important; font-weight: 500 !important; }

/* ── Hero ─────────────────────────────────────────────────────────────── */
.edd-hero { position: relative; background: linear-gradient(180deg, rgba(234, 243, 251, .94) 0%, rgba(234, 243, 251, .86) 100%), var(--edd-hero) right center / cover no-repeat, #eaf3fb; padding: 36px 0 70px; }
.edd-hero h1 { font-size: 34px; margin: 0 0 12px; letter-spacing: -.01em; max-width: 620px; }
.edd-hero h1 em { font-style: normal; color: var(--d-red); }
.edd-hero-lead { max-width: 480px; font-size: 16px; color: var(--d-text); margin: 0 0 18px; }
.edd-hero-status { display: inline-flex; gap: 8px; align-items: center; background: #fff; padding: 8px 14px; border-radius: 10px; color: var(--d-green); font-weight: 600; margin: 0 0 16px; }
.edd-hero-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 930px; margin-top: 10px; }
.edd-hero-quick a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 10px; border-radius: 12px; background: #fff; box-shadow: var(--d-shadow-lift); color: var(--d-ink); font-weight: 700; text-decoration: none; }
.edd-hero-quick a .edd-icon { color: var(--d-navy-2); }
.edd-hero-search { display: grid; gap: 8px; background: #fff; border-radius: 12px; padding: 8px; box-shadow: var(--d-shadow-lift); max-width: 930px; }
.edd-hero-search label { display: flex; align-items: center; gap: 8px; padding: 0 8px; color: var(--d-muted); }
.edd-digital .edd-hero-search input[type="search"], .edd-digital .edd-hero-search select, .edd-digital .edd-header-search input[type="search"], .edd-digital .edd-header-search select { border: 0 !important; box-shadow: none !important; flex: 1; min-height: 46px; outline: none; background: transparent; padding-left: 4px; }
.edd-hero-search select { font-weight: 600; color: var(--d-ink); }

/* ── Categories strip ─────────────────────────────────────────────────── */
.edd-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); margin-top: -38px; position: relative; z-index: 2; padding: 6px; width: calc(100% - 32px); max-width: 1248px; }
.edd-cats a { min-width: 0; display: grid; justify-items: center; gap: 6px; padding: 12px 6px; text-align: center; font-size: 13px; font-weight: 600; color: var(--d-ink); text-decoration: none; border-right: 1px solid var(--d-line); }
.edd-cats a:last-child, .edd-cats a:nth-child(4n) { border-right: 0; }
.edd-cats a:hover { background: var(--d-ground); border-radius: 10px; }
.edd-cat-icon { color: var(--d-red); }
.edd-cat-icon--coffee, .edd-cat-icon--bed, .edd-cat-icon--plane { color: #1f5fd1; }
.edd-cat-icon--health, .edd-cat-icon--cart { color: #14936b; }
.edd-cat-icon--more, .edd-cat-icon--services { color: var(--d-ink); }

/* ── Product cards (Digital / Tourist Pass / gift) ────────────────────── */
.edd-products { display: grid; gap: 16px; margin-top: 18px; }
.edd-product { position: relative; display: grid; grid-template-columns: 1fr; background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 22px; overflow: hidden; min-height: 210px; }
.edd-product h2 { font-size: 28px; margin: 0 0 4px; padding-right: 84px; }
.edd-product h2 span { color: var(--d-red); }
.edd-product-sub { margin: 0 0 12px; color: var(--d-text); max-width: 300px; padding-right: 72px; }
.edd-ticks { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 4px; font-size: 14px; }
.edd-ticks li { position: relative; padding-left: 26px; }
.edd-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--d-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat; }
.edd-product-copy { position: relative; z-index: 1; }
.edd-product-art { display: none; }
.edd-price-seal { position: absolute; right: 12px; top: 12px; width: 84px; height: 84px; border-radius: 50%; background: var(--d-red); color: #fff; display: grid; place-content: center; text-align: center; line-height: 1.05; box-shadow: 0 6px 18px rgba(227, 18, 27, .35); z-index: 2; }
.edd-price-seal strong { font-size: 19px; }
.edd-price-seal small { font-size: 11px; }
.edd-product--tourist { background: linear-gradient(90deg, #fff 0%, #fff 45%, rgba(255, 255, 255, .2) 75%), var(--edd-art) right center / cover no-repeat, #fff; }
.edd-product-art--gift { color: var(--d-red); opacity: .18; position: absolute; right: 24px; bottom: 16px; display: block; }
.edd-phone { width: 150px; background: #fff; border: 7px solid #121827; border-radius: 26px; box-shadow: var(--d-shadow-lift); transform: rotate(-8deg); padding: 10px 8px; }
.edd-phone-bar { font-family: var(--d-serif); font-size: 15px; color: var(--d-ink); margin-bottom: 10px; }
.edd-phone-bar b { color: var(--d-red); }
.edd-phone-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; color: var(--d-red); }
.edd-phone-grid span { aspect-ratio: 1; display: grid; place-items: center; background: var(--d-ground); border-radius: 8px; }

/* ── Sections, offer cards ────────────────────────────────────────────── */
.edd-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 28px 0 12px; }
.edd-section-head h2 { font-size: 21px; margin: 0; }
.edd-section-head a { color: var(--d-red); font-weight: 700; font-size: 14px; text-decoration: none; display: inline-flex; gap: 4px; align-items: center; }
.edd-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.edd-card { display: flex; flex-direction: column; background: #fff; border-radius: 12px; box-shadow: var(--d-shadow); text-decoration: none; color: inherit; overflow: hidden; border: 1px solid var(--d-line); transition: transform .15s ease, box-shadow .15s ease; }
.edd-digital a.edd-card { color: inherit; text-decoration: none; }
.edd-card:hover { transform: translateY(-2px); box-shadow: var(--d-shadow-lift); }
.edd-card-media { position: relative; aspect-ratio: 16 / 10; background: var(--d-ground); display: grid; place-items: center; overflow: hidden; }
.edd-card-media img { width: 100%; height: 100%; object-fit: cover; }
.edd-card-media--initial { background: linear-gradient(135deg, var(--d-navy), var(--d-navy-2)); }
.edd-card-initial { width: 56px; height: 56px; border-radius: 50%; background: var(--d-red); color: #fff; display: inline-grid; place-items: center; font-size: 24px; font-weight: 800; }
.edd-card-badge { position: absolute; left: 8px; top: 8px; background: var(--d-red); color: #fff; font-weight: 800; padding: 4px 9px; border-radius: 7px; font-size: 14px; }
.edd-card-body { padding: 10px 12px 12px; display: grid; gap: 2px; align-content: start; }
.edd-card-title { font-size: 15px; color: var(--d-ink); }
.edd-card-meta { color: var(--d-muted); font-size: 13px; }
.edd-card-rating { color: #f2a600; font-size: 13px; font-weight: 700; display: inline-flex; gap: 3px; align-items: center; margin: 0; }
.edd-card-rating .edd-icon { fill: currentColor; }
.edd-card-offer { font-size: 13px; color: var(--d-text); margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.edd-distance { font-size: 12px; color: var(--d-muted); font-weight: 600; display: inline-flex; gap: 3px; align-items: center; }

.edd-home-split { display: grid; gap: 8px; }
.edd-city { display: grid; align-content: center; gap: 8px; min-height: 190px; border-radius: var(--d-radius); padding: 22px; color: #fff; text-decoration: none; background: linear-gradient(90deg, rgba(11, 26, 63, .85), rgba(11, 26, 63, .25)), var(--edd-city) center / cover no-repeat, var(--d-navy); }
.edd-digital a.edd-city { color: #fff; }
.edd-city strong { font-size: 26px; }
.edd-city .edd-btn { justify-self: start; min-height: 40px; padding: 8px 16px; font-size: 14px; }

.edd-home-rows { display: grid; gap: 16px; margin-top: 24px; }
.edd-strip { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 16px; }
.edd-strip header { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; margin-bottom: 12px; }
.edd-strip h2 { font-size: 19px; margin: 0; }
.edd-strip p { margin: 2px 0 0; font-size: 13px; color: var(--d-muted); }
.edd-strip-icon { color: var(--d-red); }
.edd-strip header a { color: var(--d-red); font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.edd-strip-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.edd-strip-items a { min-width: 0; }
.edd-strip-items a > span:last-child { overflow-wrap: anywhere; }
.edd-strip, .edd-promises, .edd-home-featured, .edd-home-city { min-width: 0; }
.edd-strip-items a { display: grid; gap: 6px; color: var(--d-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.edd-strip-img { aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--d-ground); display: block; }
.edd-strip-img img { width: 100%; height: 100%; object-fit: cover; }
.edd-promises { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 18px; }
.edd-promises > div { display: flex; gap: 10px; align-items: flex-start; color: var(--d-red); }
.edd-promises p { margin: 0; font-size: 12px; color: var(--d-muted); }
.edd-promises strong { display: block; color: var(--d-ink); font-size: 14px; }

/* ── Footer and tab bar ───────────────────────────────────────────────── */
.edd-footer { background: #fff; border-top: 1px solid var(--d-line); margin-top: 32px; padding: 32px 0 calc(84px + env(safe-area-inset-bottom, 0px)); }
.edd-footer-grid { display: grid; gap: 24px; }
.edd-logo--dark, .edd-digital a.edd-logo--dark { color: var(--d-ink); }
.edd-logo--dark img { filter: brightness(0) saturate(100%) invert(11%) sepia(39%) saturate(2400%) hue-rotate(208deg) brightness(92%); }
.edd-footer-slogan { font-family: 'Brush Script MT', 'Segoe Script', cursive; font-size: 24px; color: var(--d-ink); margin: 10px 0 0; transform: rotate(-4deg); display: inline-block; border-bottom: 3px solid var(--d-red); }
.edd-footer nav { display: grid; gap: 8px; align-content: start; }
.edd-footer nav a { color: var(--d-muted); text-decoration: none; font-size: 14px; }
.edd-footer nav a:hover { color: var(--d-red); }
.edd-footer-news strong { color: var(--d-ink); }
.edd-footer-news p { font-size: 13px; color: var(--d-muted); margin: 4px 0 8px; }
.edd-footer-news form { display: flex; flex-wrap: wrap; gap: 0; }
.edd-footer-news .tnp, .edd-footer-news .tnp form { width: 100%; max-width: none; margin: 0; padding: 0; }
.edd-digital .edd-footer-news input[type="email"] { flex: 1 1 60%; border-radius: 10px 0 0 10px; min-width: 0; width: auto; border: 1.5px solid var(--d-line); }
.edd-footer-news input[type="submit"], .edd-footer-news button { background: var(--d-red) !important; color: #fff !important; border: 0; border-radius: 0 10px 10px 0; padding: 0 18px; font-weight: 700; cursor: pointer; min-height: 46px; width: auto; }
.edd-footer-news .tnp-privacy-field { flex: 1 0 100%; font-size: 12px; color: var(--d-muted); margin-top: 8px; }
.edd-footer-follow { font-weight: 700; color: var(--d-ink) !important; margin-top: 16px !important; }
.edd-social { display: flex; gap: 10px; }
.edd-social a { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--d-ground); color: var(--d-ink); }
.edd-footer-bottom { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; border-top: 1px solid var(--d-line); margin-top: 24px; padding-top: 16px; font-size: 13px; color: var(--d-muted); }
.edd-footer-bottom a { color: var(--d-muted); }
.edd-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-top: 1px solid var(--d-line); padding-bottom: env(safe-area-inset-bottom, 0px); }
.edd-tabbar a { display: grid; justify-items: center; gap: 2px; padding: 8px 2px; font-size: 11px; color: var(--d-muted); text-decoration: none; font-weight: 600; min-width: 0; }
.edd-tabbar a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.edd-tabbar a[aria-current="page"] { color: var(--d-red); }

/* ── Catalogue and region pages ───────────────────────────────────────── */
/* padding-block only: the element is also an .edd-container, whose 16px side gutter must survive. */
.edd-page-head { padding-block: 24px 6px; }
.edd-page-head h1 { font-size: 28px; margin: 0 0 6px; }
.edd-page-head p { color: var(--d-muted); margin: 0; }
.edd-filters { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 14px; margin: 12px 0 16px; }
.edd-filter-search { display: flex; gap: 8px; }
.edd-filter-search input { flex: 1; }
.edd-nearme[aria-pressed="true"] { background: var(--d-navy); color: #fff; border-color: var(--d-navy); }
.edd-filter-row { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 10px; }
.edd-filter-row select { width: 100%; font-size: 14px; min-height: 42px; }
.edd-filter-field { display: grid; gap: 4px; }
.edd-filter-field > span { font-weight: 700; font-size: 13px; color: var(--d-ink); }
.edd-filter-field[hidden] { display: none; }
.edd-filter-actions { display: flex; gap: 8px; margin-top: 10px; }
.edd-filter-actions .edd-btn { flex: 1; min-height: 44px; }
.edd-radius { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.edd-radius[hidden], .edd-near-note[hidden], .edd-sheet-backdrop[hidden], .edd-nearme-dialog[hidden] { display: none; }
.edd-radius strong { flex-basis: 100%; font-size: 14px; }
.edd-chip { cursor: pointer; }
.edd-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.edd-subcats[hidden] { display: none; }
.edd-subcats a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 10px; background: #fff; border: 2px solid var(--d-line); color: var(--d-ink); font-weight: 600; font-size: 14px; text-decoration: none; }
.edd-subcats a[aria-current="true"] { border-color: var(--d-navy); color: var(--d-navy); }
.edd-subcats-title { flex-basis: 100%; margin: 0; font-size: 20px; }
.edd-chip input { position: absolute; opacity: 0; pointer-events: none; }
.edd-chip span { display: inline-block; padding: 9px 16px; border-radius: 10px; background: var(--d-ground); border: 2px solid transparent; font-weight: 600; font-size: 14px; }
.edd-chip input:checked + span { border-color: var(--d-navy); background: #fff; color: var(--d-navy); }
.edd-chip input:focus-visible + span { outline: 2px solid var(--d-navy); outline-offset: 2px; }
.edd-near-note { margin: 10px 0 0; font-size: 13px; color: var(--d-muted); }
.edd-scope-note { margin: 0 0 12px; font-size: 13px; color: var(--d-muted); }
.edd-sheet-head, .edd-sheet-foot { display: none; }
.edd-sheet-clear { text-align: center; font-weight: 600; color: var(--d-navy); }
.edd-nearme-dialog { position: fixed; inset: 0; background: rgba(15, 25, 60, .55); display: grid; place-items: center; z-index: 1000; padding: 16px; }
.edd-nearme-card { background: #fff; border-radius: 16px; padding: 24px; max-width: 360px; text-align: center; color: var(--d-navy); }
.edd-nearme-card h2 { margin: 8px 0; font-size: 20px; }
.edd-nearme-card p { margin: 0 0 16px; font-size: 14px; color: var(--d-text); }
.edd-nearme-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.edd-card-wrap { display: flex; flex-direction: column; gap: 8px; }
.edd-card-wrap > .edd-card { flex: 1; }
.edd-directions { min-height: 40px; padding: 8px 14px; font-size: 14px; }
body.edd-sheet-lock { overflow: hidden; }
@media (max-width: 767px) {
	.edd-filters .edd-filter-sheet { position: fixed; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto; background: #fff; border-radius: 18px 18px 0 0; padding: 16px; z-index: 1001; transform: translateY(105%); visibility: hidden; transition: transform .2s ease, visibility .2s; }
	.edd-filters .edd-filter-sheet.is-open { transform: none; visibility: visible; }
	.edd-sheet-head { display: flex; justify-content: space-between; align-items: center; font-size: 18px; color: var(--d-navy); }
	.edd-sheet-close { border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: var(--d-ink); }
	.edd-sheet-foot { display: grid; gap: 10px; margin-top: 16px; }
	.edd-sheet-backdrop { position: fixed; inset: 0; background: rgba(15, 25, 60, .55); z-index: 1000; }
}
@media (min-width: 768px) {
	.edd-filters-open { display: none; }
	.edd-filter-search { margin-bottom: 0; }
}
.edd-view-toggle { display: inline-flex; background: #fff; border: 1px solid var(--d-line); border-radius: 10px; padding: 4px; margin-bottom: 12px; }
.edd-view-toggle button { border: 0; background: transparent; padding: 8px 18px; border-radius: 8px; font: 700 14px var(--d-font); color: var(--d-ink); cursor: pointer; }
.edd-view-toggle button.is-active { background: var(--d-navy); color: #fff; }
.edd-count { color: var(--d-muted); margin: 0 0 12px; }
.edd-results.is-loading { opacity: .5; pointer-events: none; }
.edd-map { height: 480px; border-radius: var(--d-radius); overflow: hidden; box-shadow: var(--d-shadow); }
.edd-map-inline { height: 360px; }
.edd-pager { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 20px; }
.edd-pager a, .edd-pager span { min-width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 10px; text-decoration: none; background: #fff; border: 1px solid var(--d-line); color: var(--d-ink); font-weight: 700; }
.edd-pager span { background: var(--d-red); border-color: var(--d-red); color: #fff; }
.edd-region-hero { background: linear-gradient(90deg, rgba(11, 26, 63, .88), rgba(11, 26, 63, .5)), var(--edd-hero, none) center / cover, var(--d-navy); color: #fff; padding: 44px 0; }
.edd-region-hero h1 { color: #fff; font-size: 34px; margin: 0 0 10px; }
.edd-region-hero .edd-lead { color: rgba(255, 255, 255, .9); max-width: 680px; }
.edd-region-hero .edd-eyebrow { color: #ffb3b6; }
.edd-region-hero a.edd-btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }
.edd-section { margin-top: 36px; }
.edd-h2 { font-size: 22px; margin: 0 0 14px; }
.edd-h2 small { color: var(--d-muted); font-weight: 400; font-size: 15px; }
.edd-prose { line-height: 1.7; max-width: 820px; }
.edd-info .edd-prose { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 24px; }
.edd-prose h2 { font-size: 20px; margin: 22px 0 6px; }
.edd-prose h2:first-child { margin-top: 0; }

/* ── Business page ────────────────────────────────────────────────────── */
.edd-crumbs { font-size: 13px; color: var(--d-muted); padding: 14px 0; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.edd-crumbs a { color: var(--d-muted); text-decoration: none; }
.edd-crumbs [aria-current] { color: var(--d-ink); font-weight: 600; }
.edd-crumb-sep { transform: rotate(-90deg); opacity: .6; }
.edd-business-layout { display: grid; gap: 18px; }
.edd-business-main { display: grid; gap: 16px; align-content: start; min-width: 0; }
.edd-gallery { display: grid; gap: 8px; }
.edd-gallery-item { position: relative; display: block; border-radius: 12px; overflow: hidden; background: var(--d-line); }
.edd-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.edd-gallery-item:first-child { aspect-ratio: 16 / 10; }
.edd-gallery--3 { grid-template-columns: 1fr 1fr; }
.edd-gallery--3 .edd-gallery-item:first-child { grid-column: 1 / -1; }
.edd-gallery--3 .edd-gallery-item:not(:first-child) { aspect-ratio: 16 / 10; }
.edd-gallery--2 { grid-template-columns: 2fr 1fr; }
.edd-gallery-more { position: absolute; inset: 0; background: rgba(11, 26, 63, .6); color: #fff; display: grid; place-content: center; text-align: center; font-size: 13px; }
.edd-gallery-more strong { font-size: 30px; }
.edd-business-head { display: grid; grid-template-columns: 84px 1fr; gap: 14px; align-items: center; background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 16px; }
.edd-business-logo { width: 84px; height: 84px; border-radius: 12px; border: 1px solid var(--d-line); background: #fff; display: grid; place-items: center; overflow: hidden; }
.edd-business-logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.edd-business-id h1 { font-size: 24px; margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.edd-business-kind, .edd-business-addr, .edd-business-tagline { margin: 2px 0; color: var(--d-muted); font-size: 14px; display: flex; align-items: center; gap: 4px; }
.edd-business-kind { color: var(--d-text); font-weight: 600; }
.edd-share { grid-column: 1 / -1; justify-self: start; min-height: 38px; padding: 6px 14px; font-size: 14px; }
.edd-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--d-line); scrollbar-width: none; }
.edd-tabs a { padding: 12px 14px; color: var(--d-muted); text-decoration: none; font-weight: 600; white-space: nowrap; border-bottom: 3px solid transparent; }
.edd-tabs a[aria-current], .edd-tabs a:hover { color: var(--d-red); border-bottom-color: var(--d-red); }
.edd-offer { background: #fff; border: 1px solid var(--d-line); border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 18px; scroll-margin-top: 90px; }
.edd-offer-row { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.edd-offer-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--d-green-bg); color: var(--d-green); display: grid; place-items: center; }
.edd-offer-text h2 { font-size: 21px; margin: 4px 0 6px; }
.edd-offer-text p { margin: 0 0 6px; }
.edd-offer-actions { grid-column: 1 / -1; display: grid; gap: 8px; }
.edd-offer-actions .edd-btn { min-height: 46px; letter-spacing: .02em; }
.edd-held-code { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: var(--d-ground); border-radius: 10px; padding: 10px; }
.edd-code { font-family: ui-monospace, monospace; font-size: 18px; letter-spacing: 1px; background: #fff; border: 1.5px dashed var(--d-ink); padding: 6px 12px; border-radius: 8px; color: var(--d-ink); }
.edd-conditions { background: #fff; border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: 18px; scroll-margin-top: 90px; }
.edd-conditions h3 { font-size: 17px; margin: 0 0 12px; }
.edd-conditions ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.edd-conditions li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--d-text); }
.edd-conditions li .edd-icon { color: var(--d-ink); margin-top: 1px; }
.edd-terms-text { font-size: 14px; color: var(--d-muted); margin: 14px 0 0; border-top: 1px solid var(--d-line); padding-top: 12px; }
.edd-callout { display: flex; gap: 12px; align-items: flex-start; background: var(--d-cream); border: 1px solid #f6dcc8; border-radius: var(--d-radius); padding: 16px; margin: 0; }
.edd-about { background: #fff; border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: 18px; scroll-margin-top: 90px; }
.edd-about h3 { margin: 0 0 8px; font-size: 17px; }
.edd-business-side { display: grid; gap: 16px; align-content: start; }
.edd-side-card { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 18px; display: grid; gap: 10px; }
.edd-side-card h3 { font-size: 17px; margin: 0 0 4px; }
.edd-side-list { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 12px; }
.edd-side-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.edd-side-list a { color: var(--d-text); text-decoration: none; }
.edd-side-map { padding: 0; overflow: hidden; scroll-margin-top: 90px; }
.edd-side-map .t-section, .edd-side-map .t-container { padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100%; }
.edd-side-map .edb-store-map { height: 220px; margin: 0; border-radius: 0; }
.edd-side-map .edb-store-map-link { display: inline-block; margin: 10px 16px 12px; font-weight: 600; font-size: 14px; }
.edd-hours { display: flex; gap: 10px; align-items: flex-start; margin: 0; line-height: 1.6; font-size: 14px; }

/* ── Voucher ──────────────────────────────────────────────────────────── */
.edd-voucher-wrap { padding-top: 16px; display: flex; justify-content: center; }
.edd-voucher-wrap.is-owner { display: block; max-width: 1100px; }
.edd-voucher-title { font-size: 28px; margin: 4px 0 18px; }
.edd-voucher { width: 100%; max-width: 420px; background: #fff; border-radius: 20px; box-shadow: var(--d-shadow-lift); padding: 24px 20px; text-align: center; border-top: 10px solid var(--d-navy); }
.edd-voucher.is-valid { border-top-color: var(--d-green); }
.edd-voucher.is-used { border-top-color: var(--d-red); }
.edd-voucher-cashier.is-valid { background: var(--d-green-bg); }
.edd-voucher-cashier.is-used { background: #fdecea; }
.edd-voucher-store { font-weight: 700; color: var(--d-ink); font-size: 18px; margin: 0 0 6px; }
.edd-voucher-big { font-size: 34px; font-weight: 900; letter-spacing: .04em; margin: 8px 0; }
.is-valid .edd-voucher-big { color: var(--d-green); }
.is-used .edd-voucher-big { color: var(--d-red); }
.edd-voucher-code { font-family: ui-monospace, monospace; font-size: 26px; letter-spacing: 3px; color: var(--d-ink); margin: 10px 0; }
.edd-voucher-offer { color: var(--d-text); margin: 0 0 8px; }
.edd-voucher-qr svg { width: 220px; max-width: 100%; height: auto; }
.edd-voucher-state, .edd-voucher-msg { color: var(--d-muted); }
.edd-redeem-btn { width: 100%; min-height: 64px; border: 0; border-radius: 16px; background: var(--d-green); color: #fff; font-size: 22px; font-weight: 900; cursor: pointer; margin-top: 8px; }
.edd-voucher-card { background: #fff; border: 1px solid var(--d-line); border-radius: 16px; box-shadow: var(--d-shadow); padding: 22px; display: grid; gap: 20px; }
.edd-voucher-main { display: flex; gap: 18px; align-items: flex-start; }
.edd-voucher-logo { width: 96px; height: 96px; border-radius: 16px; overflow: hidden; background: var(--d-navy); flex: 0 0 auto; display: grid; place-items: center; }
.edd-voucher-logo img { width: 100%; height: 100%; object-fit: cover; }
.edd-voucher-logo .edd-card-initial { background: transparent; font-size: 40px; }
.edd-voucher-info h2 { margin: 6px 0 2px; font-size: 26px; }
.edd-voucher-cat { color: var(--d-muted); margin: 0 0 10px; }
.edd-voucher-card .edd-voucher-offer { background: #fdf0f0; border-radius: 12px; padding: 10px 14px; font-weight: 700; display: inline-block; }
.edd-voucher-card .edd-voucher-offer span { color: var(--d-red); margin-right: 4px; }
.edd-voucher-qrbox { text-align: center; }
.edd-voucher-qrbox .edd-voucher-qr svg { width: 180px; }
.edd-voucher-qrbox .edd-voucher-code { font-size: 20px; border: 1px solid var(--d-line); border-radius: 10px; display: inline-block; padding: 6px 14px; margin: 4px 0 0; }
.edd-voucher-dates { margin: 0; display: grid; gap: 12px; }
.edd-voucher-dates div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--d-line); padding-bottom: 8px; }
.edd-voucher-dates dt { color: var(--d-muted); font-size: 14px; }
.edd-voucher-dates dd { margin: 0; font-weight: 600; }
.edd-voucher-check, .edd-voucher-history { background: #fff; border: 1px solid var(--d-line); border-radius: 16px; padding: 20px 22px; margin-top: 18px; }
.edd-voucher-check.is-valid { border-color: #b9e2c8; }
.edd-voucher-check.is-used { border-color: #f3c4bd; }
.edd-voucher-check h3, .edd-voucher-history h3 { margin: 0 0 12px; font-size: 18px; }
.edd-voucher-check-row { display: grid; gap: 16px; align-items: center; }
.edd-voucher-check-state strong { display: block; font-size: 20px; }
.edd-voucher-check.is-valid .edd-voucher-check-state strong { color: var(--d-green); }
.edd-voucher-check.is-used .edd-voucher-check-state strong { color: var(--d-red); }
.edd-voucher-check-state span { color: var(--d-muted); }
.edd-timeline { list-style: none; margin: 0; padding: 0; display: flex; }
.edd-timeline li { flex: 1; text-align: center; position: relative; padding-top: 34px; color: var(--d-muted); }
.edd-timeline li::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%; border: 2px solid #d8dbe4; background: #fff; z-index: 1; }
.edd-timeline li::after { content: ""; position: absolute; top: 12px; left: -50%; width: 100%; height: 2px; background: #d8dbe4; }
.edd-timeline li:first-child::after { display: none; }
.edd-timeline li.is-done::before { background: var(--d-green); border-color: var(--d-green); }
.edd-timeline li.is-done { color: var(--d-text); }
.edd-timeline strong, .edd-timeline span { display: block; }

/* ── Cashier (device redemption mode) ─────────────────────────────────── */
.edd-cashier { max-width: 520px; padding-top: 24px; }
.edd-cashier-scan { margin: 16px 0; }
.edd-scan-video { width: 100%; border-radius: 12px; margin-top: 10px; background: #000; }
.edd-cashier-code label { font-weight: 700; display: block; margin-bottom: 6px; }
.edd-inline-field { display: flex; gap: 8px; }
.edd-inline-field input { flex: 1; font-size: 22px; font-family: ui-monospace, monospace; letter-spacing: 2px; text-transform: uppercase; }
.edd-recent { list-style: none; padding: 0; }
.edd-recent li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--d-line); }

/* ── My offers, partner, checkout ─────────────────────────────────────── */
.edd-mine { display: grid; gap: 20px; align-content: start; }
.edd-mine .edd-title { margin-bottom: 0; }
.edd-mine-card, .edd-mine-profile, .edd-mine > section:not(.edd-mine-stats) { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 20px; }
.edd-mine-card { border-left: 6px solid var(--d-navy); }
.edd-mine-card.is-active { border-left-color: var(--d-green); }
.edd-mine-card.is-expired { border-left-color: var(--d-red); }
.edd-mine h3 { margin: 0 0 12px; font-size: 18px; }
.edd-mine-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.edd-mine-head h2 { margin: 0; }
.edd-days { text-align: right; }
.edd-days strong { display: block; font-size: 32px; color: var(--d-ink); line-height: 1; }
.edd-days span { font-size: 12px; color: var(--d-muted); }
.edd-progress { height: 10px; background: #eef0f5; border-radius: 6px; overflow: hidden; margin: 14px 0 8px; }
.edd-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--d-red), var(--d-green)); }
.edd-mine-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.edd-mine-stats > div { background: #fff; border-radius: 12px; box-shadow: var(--d-shadow); padding: 14px; text-align: center; }
.edd-mine-stats strong { display: block; font-size: 22px; color: var(--d-ink); }
.edd-mine-stats strong .amount, .edd-mine-stats strong bdi { font-size: inherit; font-weight: inherit; }
.edd-mine-stats span { font-size: 12px; color: var(--d-muted); }
.edd-held-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.edd-held-list li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; border: 1px solid var(--d-line); border-radius: 10px; padding: 10px 12px; }
.edd-history { width: 100%; font-size: 14px; border-collapse: collapse; }
.edd-history th, .edd-history td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--d-line); }
.edd-renew-toggle { margin-top: 12px; border-top: 1px solid var(--d-line); padding-top: 12px; }
.edd-mine .edd-btn { min-height: 40px; padding: 8px 16px; font-size: 14px; }
.edd-partner-link { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.edd-partner-qr svg { width: 140px; height: 140px; }
.edd-copy-field { width: 100%; min-width: 260px; }
.edd-thankyou { background: #fff; border-radius: 12px; box-shadow: var(--d-shadow); padding: 20px; margin: 20px 0; }
.edd-thankyou h2 { margin-top: 0; }
.edd-consent { background: var(--d-cream); border-radius: 10px; padding: 12px 14px; margin: 12px 0; }
.edd-consent-account { font-size: 13px; color: var(--d-muted); margin: 0 0 8px; }
.edd-wc { padding-top: 8px; }
.edd-wc .woocommerce { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 20px; }
body.edd-digital .edd-wc .woocommerce a.button.alt, body.edd-digital .edd-wc .woocommerce button.button.alt { background: var(--d-red); color: #fff; }
body.edd-digital .edd-wc .woocommerce a.button.alt:hover, body.edd-digital .edd-wc .woocommerce button.button.alt:hover { background: var(--d-red-dark); color: #fff; }
body.edd-digital .edd-wc .button, body.edd-digital .edd-wc button.button, body.edd-digital .edd-wc #place_order { background: var(--d-red); color: #fff; border: 0; border-radius: 10px; min-height: 46px; padding: 10px 22px; font-weight: 700; cursor: pointer; }

/* Account pages in the Digital shell (on the Digital domain): the theme stylesheet that dressed
   them is not loaded here, so the navigation, forms, notices and tables get Digital's own look. */
.edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation) > * { min-width: 0; }
.edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper:empty { display: none; }
/* woocommerce-layout.css floats the navigation at 30% and the content at 68%; inside the grid
   that is 30% of the 240px column. Same for the two address cards (48% each, clearfix). It loads
   after this file with the same specificity, hence the body.edd-digital prefix. */
body.edd-digital .edd-wc .woocommerce-MyAccount-navigation, body.edd-digital .edd-wc .woocommerce-MyAccount-content, body.edd-digital .edd-wc .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; }
body.edd-digital .edd-wc .woocommerce .woocommerce-Addresses::before, body.edd-digital .edd-wc .woocommerce .woocommerce-Addresses::after, .edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation)::before, .edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation)::after { display: none; }
.edd-wc .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.edd-wc .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.edd-wc .woocommerce-MyAccount-navigation li { flex: none; margin: 0; }
.edd-wc .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 14px; border-radius: 999px; background: var(--d-ground); color: var(--d-ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.edd-wc .woocommerce-MyAccount-navigation li.is-active a { background: var(--d-navy); color: #fff; }
.edd-wc .woocommerce-MyAccount-content { min-width: 0; color: var(--d-text); line-height: 1.6; }
.edd-wc .woocommerce-MyAccount-content a:not(.button) { color: var(--d-red); }
.edd-wc .woocommerce-info, .edd-wc .woocommerce-message, .edd-wc .woocommerce-error { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; padding: 12px 16px; border-radius: 10px; background: var(--d-ground); border-left: 4px solid var(--d-navy); color: var(--d-text); }
.edd-wc .woocommerce-message { background: var(--d-green-bg); border-left-color: var(--d-green); }
.edd-wc .woocommerce-error { background: #fdecec; border-left-color: var(--d-red); }
.edd-wc .woocommerce-info::before, .edd-wc .woocommerce-message::before, .edd-wc .woocommerce-error::before { display: none; }
body.edd-digital .edd-wc .woocommerce-info .button, body.edd-digital .edd-wc .woocommerce-message .button { order: 2; min-height: 40px; padding: 8px 16px; background: var(--d-navy); color: #fff; }
.edd-wc .woocommerce-orders-table, .edd-wc .shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.edd-wc .woocommerce-orders-table th, .edd-wc .woocommerce-orders-table td, .edd-wc .shop_table th, .edd-wc .shop_table td { padding: 10px 8px; border-bottom: 1px solid var(--d-line); text-align: left; vertical-align: middle; }
.edd-wc .woocommerce-orders-table .button { min-height: 36px; padding: 6px 14px; }
.edd-wc form .form-row { margin: 0 0 14px; }
.edd-wc form .form-row label { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 600; color: var(--d-ink); }
.edd-wc form .form-row input.input-text, .edd-wc form .form-row textarea, .edd-wc form .form-row select { width: 100%; box-sizing: border-box; }
.edd-wc .woocommerce-Addresses { display: grid; gap: 16px; }
.edd-wc .woocommerce-Address { background: var(--d-ground); border-radius: 12px; padding: 14px 16px; }
.edd-wc .woocommerce-Address-title h2, .edd-wc .woocommerce-Address-title h3 { font-size: 17px; margin: 0 0 6px; }
.edd-wc .woocommerce-Address address { font-style: normal; }
@media (max-width: 768px) {
	/* The theme's cart template puts the product name in the thumbnail cell, which
	   woocommerce-smallscreen.css hides; the theme stylesheet that showed it is not loaded here. */
	body.edd-digital .edd-wc .woocommerce table.cart td.product-thumbnail { display: flex; align-items: center; gap: 10px; text-align: left; font-weight: 700; color: var(--d-ink); }
	body.edd-digital .edd-wc .woocommerce table.cart td.product-thumbnail::before { display: none; }
	body.edd-digital .edd-wc .woocommerce table.cart td.product-thumbnail img { width: 48px; height: auto; border-radius: 8px; }
}
@media (max-width: 639px) {
	/* Stacked order rows: WooCommerce's own responsive table labels each cell. */
	.edd-wc .woocommerce-orders-table thead { display: none; }
	.edd-wc .woocommerce-orders-table tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--d-line); }
	.edd-wc .woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 4px 0; }
	.edd-wc .woocommerce-orders-table td::before { content: attr(data-title); font-weight: 600; color: var(--d-muted); }
}
@media (min-width: 960px) {
	.edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: 28px; }
	.edd-wc .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.edd-wc .woocommerce-MyAccount-navigation { grid-column: 1; }
	.edd-wc .woocommerce-MyAccount-content { grid-column: 2; }
	.edd-wc .woocommerce-MyAccount-navigation ul { flex-direction: column; overflow: visible; }
	.edd-wc .woocommerce-MyAccount-navigation a { border-radius: 10px; background: transparent; }
	.edd-wc .woocommerce-MyAccount-navigation a:hover { background: var(--d-ground); }
	.edd-wc .woocommerce-MyAccount-navigation li.is-active a { background: var(--d-navy); }
	.edd-wc .woocommerce-Addresses { grid-template-columns: 1fr 1fr; }
}

/* ── Tourist Pass ─────────────────────────────────────────────────────── */
.edd-tp-hero { background: linear-gradient(90deg, rgba(11, 26, 63, .88) 0%, rgba(11, 26, 63, .55) 60%, rgba(11, 26, 63, .25) 100%), var(--edd-hero) center / cover no-repeat, var(--d-navy); color: #fff; padding: 40px 0; }
.edd-tp-hero h1 { color: #fff; font-size: 34px; margin: 0 0 10px; }
.edd-tp-hero .edd-lead { color: rgba(255, 255, 255, .92); max-width: 620px; }
.edd-tp-hero .edd-eyebrow { color: #ffb3b6; }
.edd-tp-hero .edd-ticks { color: #fff; }
.edd-tp-hero-grid { display: grid; gap: 20px; align-items: center; }
.edd-tp-buy { background: #fff; color: var(--d-text); border-radius: var(--d-radius); box-shadow: var(--d-shadow-lift); padding: 20px; display: grid; gap: 10px; justify-items: stretch; }
.edd-tp-buy .edd-pill { justify-self: start; margin: 0; }
.edd-price-seal--inline { position: static; justify-self: center; margin-bottom: 4px; }
.edd-zones { display: grid; gap: 14px; margin-top: 24px; }
.edd-zone-card { position: relative; display: flex; align-items: flex-end; min-height: 190px; border-radius: var(--d-radius); overflow: hidden; color: #fff; text-decoration: none; padding: 20px; background: linear-gradient(0deg, rgba(11, 26, 63, .85), rgba(11, 26, 63, .1)), var(--edd-zone) center / cover no-repeat, var(--d-navy); box-shadow: var(--d-shadow); }
.edd-digital a.edd-zone-card { color: #fff; }
.edd-zone-card-body { display: grid; gap: 4px; padding-right: 64px; }
.edd-zone-card { padding-top: 110px; }
.edd-zone-card strong { font-size: 24px; }
.edd-zone-card .edd-price-seal--sm { width: 82px; height: 82px; top: 14px; right: 14px; }
.edd-zone-card .edd-price-seal--sm strong { font-size: 17px; }
.edd-zone-go { position: absolute; right: 18px; bottom: 18px; width: 40px; height: 40px; border-radius: 50%; background: var(--d-red); display: grid; place-items: center; }
.edd-tp-partners { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 20px; color: var(--d-red); }
.edd-tp-partners h2 { font-size: 19px; margin: 0 0 4px; }
.edd-tp-partners p { margin: 0; color: var(--d-muted); }
.edd-tp-partners .edd-btn { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 640px) {
	.edd-zones { grid-template-columns: repeat(2, 1fr); }
	.edd-tp-partners { grid-template-columns: auto 1fr auto; }
	.edd-tp-partners .edd-btn { grid-column: auto; }
}
@media (min-width: 960px) {
	.edd-tp-hero { padding: 64px 0; }
	.edd-tp-hero h1 { font-size: 44px; }
	.edd-tp-hero-grid { grid-template-columns: 1fr 360px; }
	.edd-zones { grid-template-columns: repeat(3, 1fr); }
}

/* ── Wider screens ────────────────────────────────────────────────────── */
@media (min-width: 640px) {
	.edd-cards { grid-template-columns: repeat(3, 1fr); }
	.edd-hero-search { grid-template-columns: 1.6fr 1fr auto; align-items: center; }
	.edd-hero-search-region { border-left: 1px solid var(--d-line); }
	.edd-promises { grid-template-columns: repeat(4, 1fr); }
	.edd-mine-stats { grid-template-columns: repeat(4, 1fr); }
	.edd-filter-row { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	.edd-product-art--phone { display: block; position: absolute; right: 120px; bottom: -40px; }
	.edd-business-head { grid-template-columns: 110px 1fr auto; }
	.edd-business-logo { width: 110px; height: 110px; }
	.edd-share { grid-column: auto; align-self: start; }
	.edd-offer-row { grid-template-columns: auto 1fr minmax(240px, 300px); }
	.edd-offer-actions { grid-column: auto; }
	.edd-conditions ul { grid-template-columns: repeat(3, 1fr); }
	.edd-gallery--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
	.edd-gallery--3 .edd-gallery-item:first-child { grid-column: 1; grid-row: 1 / 3; aspect-ratio: auto; min-height: 340px; }
	.edd-gallery--3 .edd-gallery-item:not(:first-child) { aspect-ratio: auto; }
	.edd-voucher-check-row { grid-template-columns: 1fr minmax(280px, 360px); }
}
@media (min-width: 960px) {
	.edd-header-search { display: flex; }
	.edd-header-login span, .edd-account-name { display: inline; }
	.edd-hero { padding: 54px 0 92px; min-height: 360px; }
	.edd-hero h1 { font-size: 50px; }
	.edd-hero-lead { font-size: 18px; }
	.edd-cats { margin-top: -48px; display: flex; }
	.edd-cats a { flex: 1 1 0; }
	.edd-cats a:nth-child(4n) { border-right: 1px solid var(--d-line); }
	.edd-cats a:last-child { border-right: 0; }
	.edd-products { grid-template-columns: 1fr 1fr; }
	.edd-price-seal { right: 16px; top: 16px; width: 96px; height: 96px; }
	.edd-price-seal strong { font-size: 21px; }
	.edd-product h2 { font-size: 30px; }
	.edd-home-split { grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
	.edd-home-split .edd-cards { grid-template-columns: repeat(5, 1fr); }
	.edd-city { min-height: 230px; }
	.edd-home-rows { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 360px; align-items: stretch; }
	.edd-hero { background: linear-gradient(90deg, #eaf3fb 0%, #eaf3fb 34%, rgba(234, 243, 251, 0) 62%), var(--edd-hero) right center / cover no-repeat, #eaf3fb; }
	.edd-promises { grid-template-columns: 1fr 1fr; }
	.edd-cards { grid-template-columns: repeat(4, 1fr); }
	.edd-footer { padding-bottom: 28px; }
	.edd-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr 1.6fr; }
	.edd-tabbar { display: none; }
	.edd-business-layout { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
	.edd-business-side { position: sticky; top: 84px; }
	.edd-voucher-card { grid-template-columns: 1.3fr auto 1fr; align-items: center; }
	.edd-main { padding-bottom: 64px; }
}
@media (max-width: 959px) {
	.edd-logo-tagline { display: none; }
	.edd-logo-name { font-size: 18px; }
}

/* Quantity: Tourist Pass stepper on the zone page, − / + / Αφαίρεση on the checkout lines (3.7.0). */
.edd-tp-form { display: grid; gap: 10px; }
.edd-tp-qty { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 600; }
.edd-stepper { display: inline-flex; align-items: center; border: 1px solid var(--d-line); border-radius: 999px; overflow: hidden; }
.edd-stepper button { width: 40px; height: 40px; border: 0; background: var(--d-ground); color: var(--d-ink); font-size: 20px; cursor: pointer; }
.edd-stepper input { width: 48px; height: 40px; border: 0; text-align: center; font-size: 16px; font-weight: 700; -moz-appearance: textfield; appearance: textfield; }
.edd-stepper input::-webkit-outer-spin-button, .edd-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.edd-qty { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-left: 6px; font-weight: 400; }
.edd-qty-btn { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--d-line); border-radius: 50%; color: var(--d-ink); text-decoration: none; font-weight: 700; line-height: 1; }
.edd-qty-btn.is-disabled { opacity: .35; pointer-events: none; }
.edd-qty-n { min-width: 18px; text-align: center; font-weight: 700; }
.edd-qty-rm { margin-left: 6px; color: var(--d-red); font-size: 13px; text-decoration: underline; }

/* Bought activation codes: one row per unit, copy / share on the unused ones (3.7.0). */
.edd-code-list { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 10px; }
.edd-code-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: #fff; }
.edd-code-item.is-activated, .edd-code-item.is-expired, .edd-code-item.is-void { opacity: .6; }
.edd-code-main { display: grid; gap: 4px; min-width: 0; }
.edd-code-main .edd-code { font-size: 17px; letter-spacing: .06em; word-break: break-all; }
.edd-code-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* 3.8.0 — header cart and language (Digital Ways, 12/10) */
.edd-header-cart { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; color: #fff; text-decoration: none; }
.edd-digital a.edd-header-cart { color: #fff; }
.edd-header-cart:hover { background: rgba(255, 255, 255, .1); }
.edd-cart-badge { position: absolute; top: 3px; right: 1px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--d-red); color: #fff; font-size: 11px; font-weight: 800; line-height: 19px; text-align: center; box-shadow: 0 0 0 2px var(--d-navy); }
.edd-lang { position: relative; }
.edd-lang summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; padding: 8px 6px; border-radius: 10px; color: #fff; font-size: 13px; font-weight: 700; }
.edd-lang summary::-webkit-details-marker { display: none; }
.edd-lang summary:hover { background: rgba(255, 255, 255, .1); }
.edd-lang-menu { position: absolute; right: 0; top: calc(100% + 8px); background: #fff; border-radius: 12px; box-shadow: var(--d-shadow-lift); min-width: 160px; padding: 8px; display: grid; z-index: 60; }
.edd-lang-menu a { padding: 10px 12px; border-radius: 8px; color: var(--d-ink); text-decoration: none; font-weight: 600; }
.edd-lang-menu a:hover, .edd-lang-menu a[aria-current="true"] { background: var(--d-ground); }
/* The header switcher replaces TranslatePress's floating one inside Digital,
   which sat on top of the content above the phone tab bar. */
body.edd-digital nav.trp-language-switcher.trp-floating-switcher { display: none; }
/* Phone: logo, language, cart, account and menu must fit in 375px. */
@media (max-width: 480px) {
	.edd-header-inner { gap: 8px; }
	.edd-header-actions { gap: 0; }
	.edd-logo { gap: 6px; flex: 0 1 auto; min-width: 0; }
	.edd-logo img { width: 34px; }
	.edd-logo-name { font-size: 17px; }
	.edd-logo-tagline { display: none; }
	.edd-lang summary svg { display: none; }
	.edd-header-cart { width: 40px; }
	.edd-account summary, .edd-burger summary, .edd-header-login { padding: 6px; }
}

/* 3.8.0 — legal links in the footer */
.edd-footer nav a.edd-footer-legal:first-of-type { margin-top: 8px; }

/* 3.8.0 — «Δώρα & Εταιρικές Αγορές» */
.edd-gifts-hero { background: var(--d-navy); color: #fff; padding: 40px 0; }
.edd-gifts-hero h1 { color: #fff; font-size: 32px; margin: 0 0 10px; }
.edd-gifts-hero .edd-lead { color: rgba(255, 255, 255, .92); max-width: 680px; }
.edd-gifts-hero .edd-eyebrow { color: #ffb3b6; }
.edd-gifts { display: grid; gap: 18px; margin-top: 28px; }
.edd-gift-card { background: #fff; border-radius: var(--d-radius); box-shadow: var(--d-shadow); padding: 22px; display: grid; gap: 10px; align-content: start; }
.edd-gift-card h2 { font-size: 22px; margin: 0; }
.edd-gift-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--d-ground); color: var(--d-red); display: grid; place-items: center; }
.edd-gift-price { margin: 0; color: var(--d-muted); }
.edd-gift-price strong { color: var(--d-ink); font-size: 24px; }
.edd-gift-zone { display: grid; gap: 6px; font-weight: 600; }
.edd-gift-zone select { min-height: 44px; border: 1px solid var(--d-line); border-radius: 10px; padding: 0 10px; font-size: 15px; background: #fff; }
.edd-gifts-how { margin-top: 32px; margin-bottom: 40px; }
.edd-gifts-how ol { display: grid; gap: 8px; padding-left: 20px; }
.edd-in-cart { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 10px; background: #eaf7ef; color: #146c3c; font-weight: 600; }
@media (min-width: 760px) {
	.edd-gifts { grid-template-columns: repeat(2, 1fr); }
}
.edd-footer nav button.edd-footer-cookies { justify-self: start; padding: 0; border: 0; background: none; color: var(--d-muted); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.edd-footer nav button.edd-footer-cookies:hover { color: var(--d-red); }

/* 3.8.2 — Fixit Cookie Notice's reopen button sat on the «Αρχική» item of the
   phone tab bar (bottom-left, 16px). Lift it above the bar while the bar shows. */
@media (max-width: 959px) {
	body.edd-digital #cookienotice-reopen-button { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}

.edd-cta-row { margin: 16px 0; }
.edd-info .edd-cta-row .edd-btn { min-width: 220px; }
