/*
Theme Name: Cadence Child — e-Mykonos Classifieds
Theme URI: https://classifieds.e-mykonos.com
Author: MK Group
Description: Cadence child theme — Bento Grid design
Template: kadence
Version: 3.0
License: GNU General Public License v2 or later
Text Domain: kadence-child
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root {
    --cy-white: #f8f8fa;
    --cy-cream: #eef0f4;
    --cy-sand: #e5e7eb;
    --cy-red: #c9062c;
    --cy-red-hover: #a00522;
    --cy-navy: #1a1a2e;
    --cy-navy-soft: #242442;
    --cy-blue: #2563eb;
    --cy-charcoal: #1a1a2e;
    --cy-text: #1a1a2e;
    --cy-text-soft: #666;
    --cy-muted: #8a8a94;
    --cy-border: #e5e7eb;
    --cy-shadow: 0 2px 12px rgba(26,26,46,.05);
    --cy-shadow-hover: 0 16px 40px rgba(26,26,46,.1);
    --cy-radius: 20px;
    --cy-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Roboto, sans-serif;
    --bento-gap: 8px;
}

/* =========================================================
   GLOBAL
   ========================================================= */
body { background: var(--cy-white) !important; }
.emyk-home * { box-sizing: border-box; }
.emyk-home { font-family: var(--cy-font); color: var(--cy-text); }
.emyk-home img { max-width: 100%; height: auto; }

.emyk-ki {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   HEADER — dark glass
   ========================================================= */
.emyk-header {
    background: rgba(250,248,245,.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    position: sticky;
    top: 0;
    z-index: 100;
    font-family: var(--cy-font);
    border-bottom: 1px solid var(--cy-border);
}
.emyk-header__inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.emyk-header__logo {
    font-size: 18px;
    font-weight: 300;
    color: var(--cy-charcoal);
    text-decoration: none;
    letter-spacing: .01em;
    flex-shrink: 0;
}
.emyk-header__logo strong { color: var(--cy-red); font-weight: 700; }
.emyk-header__logo .custom-logo-link img,
.emyk-header__logo .custom-logo,
.emyk-header__logo img,
.emyk-header .custom-logo-link img {
    max-height: 32px !important;
    height: 32px !important;
    width: auto !important;
    display: block !important;
}

.emyk-header__nav { flex: 1; display: flex; justify-content: center; }
.emyk-nav {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    gap: 2px;
    align-items: center;
}
.emyk-nav li { margin: 0; }
.emyk-nav > li > a {
    display: inline-block;
    padding: 8px 16px;
    color: var(--cy-text-soft);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 999px;
    transition: background .2s, color .2s;
}
.emyk-nav > li > a:hover,
.emyk-nav .current-menu-item > a {
    background: var(--cy-cream);
    color: var(--cy-red);
}

/* Sub-menu */
.emyk-nav li.menu-item-has-children { position: relative; }
.emyk-nav li.menu-item-has-children > .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 16px;
    box-shadow: var(--cy-shadow-hover);
    list-style: none;
    padding: 8px;
    margin: 8px 0 0;
    opacity: 0; visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s, transform .2s, visibility .2s;
    z-index: 10;
}
.emyk-nav li.menu-item-has-children:hover > .sub-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.emyk-nav .sub-menu a {
    display: block;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
    color: var(--cy-text);
    text-decoration: none;
}
.emyk-nav .sub-menu a:hover { background: var(--cy-cream); color: var(--cy-red); }

/* Header actions */
.emyk-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.emyk-header__account {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--cy-text-soft);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.emyk-header__account svg { stroke: var(--cy-text-soft); }
.emyk-header__account:hover { background: var(--cy-cream); color: var(--cy-text); }
.emyk-header__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cy-red);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.emyk-header__cta:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* Style HivePress user menu in header (shows username when logged in) */
.emyk-header .hp-menu,
.emyk-header .hp-menu--user-account {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
.emyk-header .hp-menu > li {
    margin: 0;
    position: relative;
}

/* Username button — pill with avatar circle */
.emyk-header .hp-menu > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: var(--cy-text) !important;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px 6px 6px;
    border: 1px solid var(--cy-border);
    border-radius: 999px;
    text-decoration: none !important;
    transition: border-color .2s, background .2s, color .2s;
    background: #fff;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.emyk-header .hp-menu > li > a:hover {
    border-color: var(--cy-red);
    color: var(--cy-red) !important;
    background: #fff;
}

/* Avatar circle before username */
.emyk-header .hp-menu > li > a::before {
    content: '';
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--cy-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/16px no-repeat;
    flex-shrink: 0;
    transition: background-color .2s;
}
.emyk-header .hp-menu > li > a:hover::before {
    background-color: var(--cy-red);
}

/* Hide any HivePress image/img inside the user menu button (some versions add a chevron or img) */
.emyk-header .hp-menu > li > a img,
.emyk-header .hp-menu > li > a svg {
    display: none;
}

/* Dropdown menu */
.emyk-header .hp-menu .sub-menu,
.emyk-header .hp-menu ul {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 260px;
    width: 260px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(28,25,23,.12);
    list-style: none;
    padding: 8px;
    margin: 8px 0 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s, visibility .2s, transform .2s;
    z-index: 20;
    display: block;
}
.emyk-header .hp-menu > li:hover > .sub-menu,
.emyk-header .hp-menu > li:hover > ul,
.emyk-header .hp-menu > li:focus-within > .sub-menu,
.emyk-header .hp-menu > li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.emyk-header .hp-menu .sub-menu li,
.emyk-header .hp-menu ul li {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    display: block !important;
    position: static !important;
}
.emyk-header .hp-menu .sub-menu li:last-child,
.emyk-header .hp-menu ul li:last-child {
    margin-bottom: 0 !important;
}
/* Reset sub-menu items — don't inherit pill styling from parent */
.emyk-header .hp-menu .sub-menu a,
.emyk-header .hp-menu ul a,
.emyk-header .hp-menu .sub-menu li > a,
.emyk-header .hp-menu ul li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--cy-text) !important;
    text-decoration: none !important;
    transition: background .15s, color .15s !important;
    line-height: 1.3 !important;
    max-width: none !important;
    overflow: visible !important;
    white-space: normal !important;
    text-align: left !important;
    margin: 0 !important;
}
.emyk-header .hp-menu .sub-menu a::before,
.emyk-header .hp-menu ul a::before {
    display: none !important;
}
.emyk-header .hp-menu .sub-menu a:hover,
.emyk-header .hp-menu ul a:hover {
    background: var(--cy-cream) !important;
    color: var(--cy-red) !important;
    border: 0 !important;
}

/* Burger */
.emyk-header__burger {
    display: none;
    background: none; border: 0;
    width: 36px; height: 36px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
}
.emyk-header__burger:hover { background: var(--cy-cream); }
.emyk-header__burger span {
    display: block; width: 16px; height: 1.5px;
    background: var(--cy-charcoal);
    border-radius: 2px;
    transition: transform .25s, opacity .25s;
}
.emyk-header.is-open .emyk-header__burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.emyk-header.is-open .emyk-header__burger span:nth-child(2) { opacity: 0; }
.emyk-header.is-open .emyk-header__burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile menu */
.emyk-header__mobile {
    display: none;
    border-top: 1px solid var(--cy-border);
    background: var(--cy-white);
    padding: 16px 20px 24px;
}
.emyk-header.is-open .emyk-header__mobile { display: block; }
.emyk-nav--mobile { flex-direction: column; align-items: stretch; gap: 2px; }
.emyk-nav--mobile > li > a {
    display: block;
    padding: 12px 14px;
    font-size: 15px;
    color: var(--cy-text);
}
.emyk-header__mobile-actions {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--cy-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.emyk-header__mobile-link {
    display: block;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--cy-text);
    text-decoration: none;
    border-radius: 10px;
}
.emyk-header__mobile-link:hover { background: var(--cy-cream); }
.emyk-header__cta--full {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
}

/* =========================================================
   BENTO GRID
   ========================================================= */
.bento {
    max-width: 1380px;
    margin: 0 auto;
    padding: var(--bento-gap);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(100px, auto);
    gap: var(--bento-gap);
}

/* Base tile */
.bento__tile {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    overflow: hidden;
    transition: transform .3s cubic-bezier(.23,1,.32,1), box-shadow .3s;
    position: relative;
}
.bento__tile:hover {
    transform: scale(1.015);
    box-shadow: var(--cy-shadow-hover);
}

/* ---- HERO tile ---- */
.bento__tile--hero {
    grid-column: 1 / 7;
    grid-row: 1 / 3;
    background: linear-gradient(145deg, var(--cy-navy) 0%, var(--cy-navy-soft) 100%);
    color: #fff;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bento__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: 20px;
    font-weight: 600;
}
.bento__hero-title {
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 700;
    line-height: 1.0;
    margin: 0 0 14px;
    color: #fff;
    letter-spacing: -.03em;
}
.bento__hero-sub {
    font-size: 16px;
    color: rgba(255,255,255,.55);
    margin: 0 0 32px;
    font-weight: 400;
    max-width: 360px;
}
.bento__search {
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    padding: 4px 4px 4px 16px;
    max-width: 400px;
    transition: border-color .2s;
}
.bento__search:focus-within {
    border-color: var(--cy-red);
}
.bento__search .emyk-ki { color: rgba(255,255,255,.35); }
.bento__search input[type="text"],
.bento__search input {
    flex: 1;
    background: transparent !important;
    border: 0;
    padding: 12px 10px;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
    font-size: 14px;
    outline: none;
    font-family: inherit;
    box-shadow: none;
}
.bento__search input::placeholder { color: rgba(255,255,255,.4); }
.bento__search input:-webkit-autofill,
.bento__search input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    transition: background-color 9999s ease-in-out 0s;
}
.bento__search button {
    background: var(--cy-red);
    border: 0;
    border-radius: 10px;
    width: 40px; height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background .2s;
}
.bento__search button:hover { background: var(--cy-red-hover); }

/* ---- CATEGORY tiles ---- */
.bento__tile--cat {
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none;
    color: var(--cy-text);
    min-height: 160px;
}
.bento__tile--cat-1 { grid-column: 7 / 10; grid-row: 1 / 2; }
.bento__tile--cat-2 { grid-column: 10 / 13; grid-row: 1 / 2; }
.bento__tile--cat-3 { grid-column: 7 / 10; grid-row: 2 / 3; }
.bento__tile--cat-4 { grid-column: 10 / 13; grid-row: 2 / 3; }

.bento__cat-icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: var(--cy-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    transition: background .25s, color .25s;
}
.bento__tile--cat:hover .bento__cat-icon {
    background: var(--cy-red);
    color: #fff;
}
.bento__cat-name {
    font-size: 16px;
    font-weight: 700;
    display: block;
    margin-top: auto;
}
.bento__cat-count {
    font-size: 12px;
    color: var(--cy-muted);
    display: block;
    margin-top: 2px;
}

/* ---- STAT tiles ---- */
.bento__tile--stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}
.bento__tile--stat-1 {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    background: var(--cy-red);
    color: #fff;
}

/* ---- FREE/GIFT tile — special green ---- */
.bento__tile--free {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    background: linear-gradient(145deg, #16a34a 0%, #15803d 100%);
    color: #fff;
    text-decoration: none;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
    position: relative;
    overflow: hidden;
}
.bento__tile--free:hover { color: #fff; }
.bento__tile--free::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 120px; height: 120px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    pointer-events: none;
}
.bento__free-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    position: relative;
    z-index: 1;
}
.bento__free-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: rgba(255,255,255,.18);
    padding: 4px 10px;
    border-radius: 999px;
    align-self: flex-start;
    position: relative;
    z-index: 1;
}
.bento__free-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    position: relative;
    z-index: 1;
}
.bento__free-count {
    font-size: 12px;
    color: rgba(255,255,255,.75);
    position: relative;
    z-index: 1;
}
.bento__tile--stat-2 {
    grid-column: 11 / 13;
    grid-row: 3 / 4;
    background: var(--cy-navy);
    color: #fff;
}
.bento__stat-num {
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
}
.bento__stat-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 6px;
    opacity: .7;
}

/* ---- LISTING tiles ---- */
.bento__tile--listing {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--cy-text);
}
.bento__tile--listing-1 { grid-column: 3 / 5; grid-row: 3 / 4; }
.bento__tile--listing-2 { grid-column: 5 / 7; grid-row: 3 / 4; }
.bento__tile--listing-3 { grid-column: 7 / 9; grid-row: 3 / 4; }
.bento__tile--listing-4 { grid-column: 9 / 11; grid-row: 3 / 4; }

.bento__tile--listing img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}
.bento__listing-placeholder {
    aspect-ratio: 1;
    background: var(--cy-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-muted);
}
.bento__listing-info {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.bento__listing-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bento__listing-price {
    font-size: 14px;
    font-weight: 800;
    color: var(--cy-red);
}
.bento__listing-price--free {
    color: #16a34a;
}

/* ---- CTA tile ---- */
.bento__tile--cta {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
    background: var(--cy-navy);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    padding: 24px;
    gap: 12px;
    min-height: 160px;
}
.bento__tile--cta:hover { color: #fff; }
.bento__cta-icon {
    width: 52px; height: 52px;
    border-radius: 50%;
    border: 2px solid var(--cy-red);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    transition: background .25s, color .25s;
}
.bento__tile--cta:hover .bento__cta-icon {
    background: var(--cy-red);
    color: #fff;
}
.bento__cta-text {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

/* ---- HOW IT WORKS tile ---- */
.bento__tile--how {
    grid-column: 3 / 9;
    grid-row: 4 / 5;
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 160px;
}
.bento__how-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--cy-muted);
    margin: 0 0 18px;
    font-weight: 600;
}
.bento__how-steps {
    display: flex;
    gap: 28px;
}
.bento__how-step {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    flex: 1;
}
.bento__how-num {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--cy-red);
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bento__how-step strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--cy-text);
    margin-bottom: 2px;
}
.bento__how-step span {
    font-size: 12px;
    color: var(--cy-text-soft);
}

/* ---- TRUST tile ---- */
.bento__tile--trust {
    grid-column: 9 / 13;
    grid-row: 4 / 5;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cy-cream);
    min-height: 160px;
}
.bento__trust-items {
    display: flex;
    gap: 28px;
}
.bento__trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--cy-text-soft);
}
.bento__trust-item svg { color: var(--cy-red); }
.bento__trust-item span {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* ---- VIEW ALL tile ---- */
.bento__tile--viewall {
    grid-column: 1 / 13;
    grid-row: 5 / 6;
    background: var(--cy-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    text-decoration: none;
    color: var(--cy-text);
    font-weight: 700;
    font-size: 15px;
    min-height: 60px;
}
.bento__tile--viewall:hover { color: var(--cy-red); }
.bento__tile--viewall .emyk-ki { color: var(--cy-red); }

/* =========================================================
   ARCHIVE PAGE — listings grid + filters
   ========================================================= */
.emyk-arch-header {
    background: var(--cy-cream);
    padding: 32px 24px;
    font-family: var(--cy-font);
}
.emyk-arch-header__inner {
    max-width: 1380px;
    margin: 0 auto;
}
.emyk-breadcrumb {
    font-size: 12px;
    color: var(--cy-text-soft);
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.emyk-breadcrumb a {
    color: var(--cy-text-soft);
    text-decoration: none;
    transition: color .15s;
}
.emyk-breadcrumb a:hover { color: var(--cy-red); }
.emyk-breadcrumb span:last-child { color: var(--cy-text); font-weight: 600; }
.emyk-arch-header__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}
.emyk-arch-header__title {
    font-size: 28px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 4px;
    letter-spacing: -.02em;
    display: flex;
    align-items: center;
    gap: 10px;
}
.emyk-arch-header__title svg { color: var(--cy-red); }
.emyk-arch-header__count {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0;
}
.emyk-arch-header__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cy-red);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.emyk-arch-header__cta:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* Layout: sidebar + main */
.emyk-arch {
    max-width: 1380px;
    margin: 32px auto 80px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    font-family: var(--cy-font);
    position: relative;
}

/* Filter toggle (mobile) */
.emyk-arch__filter-toggle {
    display: none;
    background: var(--cy-navy);
    color: #fff;
    border: 0;
    padding: 12px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-family: inherit;
}

/* Sidebar */
.emyk-arch__sidebar {
    position: sticky;
    top: 80px;
    align-self: flex-start;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}
.emyk-arch__sidebar-close {
    display: none;
    position: absolute;
    top: 12px; right: 12px;
    background: none;
    border: 0;
    width: 32px; height: 32px;
    border-radius: 50%;
    cursor: pointer;
    color: var(--cy-text-soft);
}
.emyk-arch__sidebar-close:hover { background: var(--cy-cream); color: var(--cy-text); }

.emyk-arch__filter { margin-bottom: 24px; }
.emyk-arch__filter:last-of-type { margin-bottom: 16px; }
.emyk-arch__filter-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--cy-text-soft);
    margin-bottom: 10px;
}

/* Search input */
.emyk-arch__search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--cy-cream);
    border-radius: 10px;
    padding: 0 12px;
}
.emyk-arch__search svg { color: var(--cy-muted); }
.emyk-arch__search input {
    flex: 1;
    background: none;
    border: 0;
    padding: 11px 0;
    font-size: 14px;
    outline: none;
    font-family: inherit;
    color: var(--cy-text);
}

/* Categories list */
.emyk-arch__cats {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.emyk-arch__cats a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--cy-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background .15s, color .15s;
}
.emyk-arch__cats a:hover {
    background: var(--cy-cream);
    color: var(--cy-red);
}
.emyk-arch__cats a.is-active {
    background: var(--cy-red);
    color: #fff;
}
.emyk-arch__cats a.is-active svg { color: #fff; }
.emyk-arch__cats svg { color: var(--cy-muted); flex-shrink: 0; }
.emyk-arch__cat-count {
    margin-left: auto;
    font-size: 12px;
    color: var(--cy-muted);
    background: var(--cy-cream);
    padding: 2px 8px;
    border-radius: 999px;
}
.emyk-arch__cats a.is-active .emyk-arch__cat-count {
    background: rgba(255,255,255,.2);
    color: #fff;
}

/* Price range */
.emyk-arch__price {
    display: flex;
    align-items: center;
    gap: 8px;
}
.emyk-arch__price input {
    flex: 1;
    min-width: 0;
    background: var(--cy-cream);
    border: 0;
    padding: 11px 12px;
    font-size: 14px;
    border-radius: 10px;
    outline: none;
    font-family: inherit;
    color: var(--cy-text);
}
.emyk-arch__price span { color: var(--cy-muted); font-size: 14px; }

/* Apply/Clear buttons */
.emyk-arch__apply {
    width: 100%;
    background: var(--cy-navy);
    color: #fff;
    border: 0;
    padding: 13px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s;
    font-family: inherit;
}
.emyk-arch__apply:hover { background: var(--cy-navy-soft); }
.emyk-arch__clear {
    display: block;
    text-align: center;
    margin-top: 10px;
    color: var(--cy-text-soft);
    font-size: 13px;
    text-decoration: none;
}
.emyk-arch__clear:hover { color: var(--cy-red); }

/* Sort bar */
.emyk-arch__sort {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    justify-content: flex-end;
}
.emyk-arch__sort-label {
    font-size: 14px;
    color: var(--cy-text-soft);
}
.emyk-arch__sort select {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 10px;
    padding: 9px 14px;
    font-size: 14px;
    font-family: inherit;
    color: var(--cy-text);
    cursor: pointer;
}

/* Grid */
.emyk-arch__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* Archive card */
.arch-card {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    overflow: hidden;
    text-decoration: none;
    color: var(--cy-text);
    transition: transform .25s, box-shadow .25s;
    display: flex;
    flex-direction: column;
}
.arch-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cy-shadow-hover);
    color: var(--cy-text);
}
.arch-card__image {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--cy-cream);
    overflow: hidden;
}
.arch-card__image img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.arch-card__placeholder {
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-muted);
}
.arch-card__cat {
    position: absolute;
    top: 10px; left: 10px;
    background: rgba(255,255,255,.95);
    color: var(--cy-text);
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* Featured / Verified badge on archive cards */
.arch-card__badge {
    position: absolute;
    top: 10px; right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 800;
    padding: 5px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #fff;
    z-index: 1;
}
.arch-card__badge--featured {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    box-shadow: 0 2px 8px rgba(245,158,11,.4);
}
.arch-card__badge--verified {
    background: #16a34a;
}

/* Featured card with subtle golden highlight */
.arch-card.is-featured {
    border-color: #fde047;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 40%);
}
.arch-card.is-featured:hover {
    border-color: #f59e0b;
    box-shadow: 0 16px 40px rgba(245,158,11,.15);
}

/* Featured/Verified badge on bento homepage tiles */
.bento__listing-badge {
    position: absolute;
    top: 8px; right: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #fff;
    z-index: 2;
}
.bento__listing-badge--featured {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}
.bento__listing-badge--verified {
    background: #16a34a;
}
.bento__tile--listing.is-featured {
    border-color: #fde047;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 50%);
}
.arch-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.arch-card__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    color: var(--cy-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.arch-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    font-size: 13px;
    gap: 8px;
}
.arch-card__date { color: var(--cy-muted); }
.arch-card__price {
    font-size: 16px;
    font-weight: 800;
    color: var(--cy-red);
}
.arch-card__price--free { color: #16a34a; }

/* Pagination */
.emyk-arch__pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 32px;
    flex-wrap: wrap;
}
.emyk-arch__pagination a,
.emyk-arch__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: var(--cy-text);
    background: #fff;
    border: 1px solid var(--cy-border);
    transition: background .15s, color .15s, border-color .15s;
}
.emyk-arch__pagination a:hover {
    background: var(--cy-cream);
    color: var(--cy-red);
}
.emyk-arch__pagination .current {
    background: var(--cy-red);
    color: #fff;
    border-color: var(--cy-red);
}
.emyk-arch__pagination .dots { border: 0; background: transparent; }

/* Empty state */
.emyk-arch__empty {
    text-align: center;
    padding: 64px 24px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
}
.emyk-arch__empty h3 {
    margin: 16px 0 8px;
    font-size: 18px;
    color: var(--cy-text);
}
.emyk-arch__empty p {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0 0 20px;
}
.emyk-arch__empty-btn {
    display: inline-block;
    background: var(--cy-red);
    color: #fff;
    padding: 10px 24px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
}
.emyk-arch__empty-btn:hover { background: var(--cy-red-hover); color: #fff; }

/* =========================================================
   SINGLE LISTING PAGE
   ========================================================= */
.emyk-single-bread {
    background: var(--cy-cream);
    padding: 16px 24px;
    font-family: var(--cy-font);
}
.emyk-single-bread__inner {
    max-width: 1280px;
    margin: 0 auto;
    font-size: 12px;
    color: var(--cy-text-soft);
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.emyk-single-bread a {
    color: var(--cy-text-soft);
    text-decoration: none;
    transition: color .15s;
}
.emyk-single-bread a:hover { color: var(--cy-red); }
.emyk-single-bread .is-current {
    color: var(--cy-text);
    font-weight: 600;
    max-width: 280px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Single layout */
.emyk-single {
    max-width: 1280px;
    margin: 32px auto 60px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 32px;
    font-family: var(--cy-font);
}

/* ---- Gallery ---- */
.emyk-single__gallery { margin-bottom: 28px; }
.emyk-single__gallery-main {
    position: relative;
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
    overflow: hidden;
    aspect-ratio: 16 / 10;
}
.emyk-single__gallery-main img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.emyk-single__gallery-placeholder {
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-muted);
}
.emyk-single__gallery-cat {
    position: absolute;
    top: 16px; left: 16px;
    background: rgba(255,255,255,.95);
    color: var(--cy-text);
    font-size: 11px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.emyk-single__gallery-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.emyk-single__gallery-thumb {
    flex-shrink: 0;
    width: 80px; height: 80px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    background: none;
    padding: 0;
    cursor: pointer;
    transition: border-color .2s;
}
.emyk-single__gallery-thumb:hover { border-color: var(--cy-red); }
.emyk-single__gallery-thumb.is-active { border-color: var(--cy-red); }
.emyk-single__gallery-thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.emyk-single__gallery-main { position: relative; }

/* Gallery counter badge */
.emyk-single__gallery-counter {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(28,25,23,.75);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 2;
    letter-spacing: .05em;
}

/* ---- Title / price ---- */
.emyk-single__head { margin-bottom: 28px; }
.emyk-single__title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 800;
    color: var(--cy-charcoal);
    letter-spacing: -.015em;
    margin: 0 0 12px;
    line-height: 1.2;
}
.emyk-single__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.emyk-single__posted {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--cy-text-soft);
}
.emyk-single__price {
    font-size: 28px;
    font-weight: 800;
    color: var(--cy-red);
    letter-spacing: -.02em;
}
.emyk-single__price--free { color: #16a34a; }

/* ---- Sections ---- */
.emyk-single__section {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px 28px;
    margin-bottom: 20px;
}
.emyk-single__section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--cy-charcoal);
    margin: 0 0 14px;
    letter-spacing: -.01em;
}
.emyk-single__desc {
    font-size: 15px;
    color: var(--cy-text);
    line-height: 1.65;
}
.emyk-single__desc p { margin: 0 0 12px; }
.emyk-single__desc p:last-child { margin-bottom: 0; }

/* Amenities grid */
.emyk-amenities {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}
.emyk-amenity {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 12px;
    background: var(--cy-cream);
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    text-align: center;
    transition: border-color .2s, transform .2s, background .2s;
}
.emyk-amenity:hover {
    border-color: var(--cy-red);
    transform: translateY(-2px);
    background: #fff;
}
.emyk-amenity__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    flex-shrink: 0;
}
.emyk-amenity:hover .emyk-amenity__icon {
    background: var(--cy-red);
    color: #fff;
}
.emyk-amenity__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--cy-text);
    line-height: 1.3;
}

@media (max-width: 560px) {
    .emyk-amenities { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .emyk-amenity { padding: 14px 8px; }
    .emyk-amenity__label { font-size: 12px; }
}

.emyk-single__attrs {
    margin: 0;
    display: grid;
    gap: 12px;
}
.emyk-single__attr {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 12px;
    font-size: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--cy-border);
}
.emyk-single__attr:last-child { border-bottom: 0; padding-bottom: 0; }
.emyk-single__attr dt {
    color: var(--cy-text-soft);
    font-weight: 500;
}
.emyk-single__attr dd {
    color: var(--cy-text);
    font-weight: 600;
    margin: 0;
}
.emyk-single__attr dd a { color: var(--cy-red); text-decoration: none; }
.emyk-single__attr dd a:hover { text-decoration: underline; }

/* ---- Sidebar: contact ---- */
.emyk-single__side {
    position: sticky;
    top: 80px;
    align-self: flex-start;
}
.emyk-single__contact {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.emyk-single__seller {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--cy-border);
}
.emyk-single__seller-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--cy-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-text-soft);
    flex-shrink: 0;
}
.emyk-single__seller-label {
    display: block;
    font-size: 11px;
    color: var(--cy-muted);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
}
.emyk-single__seller-name {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--cy-text);
}

/* Phone button */
.emyk-single__phone-wrap { position: relative; }
.emyk-single__phone-btn,
.emyk-single__phone-number {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--cy-navy);
    color: #fff;
    border: 0;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
    font-family: inherit;
}
.emyk-single__phone-btn:hover,
.emyk-single__phone-number:hover {
    background: var(--cy-navy-soft);
    color: #fff;
}

/* WhatsApp */
.emyk-single__whatsapp {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #25D366;
    color: #fff;
    border: 0;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
}
.emyk-single__whatsapp:hover { background: #1ea855; color: #fff; }

/* Email button */
.emyk-single__email-wrap { position: relative; }
.emyk-single__email-btn,
.emyk-single__email {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--cy-cream);
    color: var(--cy-text);
    border: 1px solid var(--cy-border);
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    font-family: inherit;
    transition: background .2s, border-color .2s, color .2s;
}
.emyk-single__email-btn:hover {
    background: #fff;
    border-color: var(--cy-red);
    color: var(--cy-red);
}
    transition: background .2s, border-color .2s;
}
.emyk-single__email:hover {
    background: #fff;
    border-color: var(--cy-red);
    color: var(--cy-red);
}

/* Safety tips */
.emyk-single__safety {
    background: var(--cy-cream);
    border-radius: 12px;
    padding: 16px;
    margin-top: 6px;
}
.emyk-single__safety h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--cy-text);
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.emyk-single__safety h3 svg { color: var(--cy-red); width: 18px; height: 18px; }
.emyk-single__safety ul {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: var(--cy-text);
    line-height: 1.5;
}
.emyk-single__safety li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.emyk-single__safety li svg { color: #16a34a; flex-shrink: 0; margin-top: 3px; width: 14px; height: 14px; }

/* Report */
.emyk-single__report {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--cy-muted);
    text-decoration: none;
    text-align: center;
    justify-content: center;
    margin-top: 4px;
    transition: color .15s;
}
.emyk-single__report:hover { color: var(--cy-red); }

/* ---- Related listings ---- */
.emyk-single-related {
    background: var(--cy-cream);
    padding: 48px 24px;
    margin-top: 48px;
    font-family: var(--cy-font);
}
.emyk-single-related__inner {
    max-width: 1280px;
    margin: 0 auto;
}
.emyk-single-related__title {
    font-size: 22px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 24px;
    letter-spacing: -.01em;
}
.emyk-single-related__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* Single responsive */
@media (max-width: 1024px) {
    .emyk-single { grid-template-columns: 1fr 320px; gap: 24px; }
    .emyk-single-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .emyk-single { grid-template-columns: 1fr; }
    .emyk-single__side {
        position: static;
        order: 2;
    }
    .emyk-single__main { order: 1; }
    .emyk-single__attr { grid-template-columns: 1fr; gap: 2px; }
    .emyk-single__attr dt { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
}
@media (max-width: 560px) {
    .emyk-single-related__grid { grid-template-columns: 1fr; }
    .emyk-single__gallery-thumb { width: 64px; height: 64px; }
}

/* =========================================================
   USER DASHBOARD
   ========================================================= */
.emyk-dash-hero {
    background: linear-gradient(145deg, var(--cy-navy) 0%, var(--cy-navy-soft) 100%);
    color: #fff;
    padding: 48px 24px;
    font-family: var(--cy-font);
    position: relative;
    overflow: hidden;
}
.emyk-dash-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 10%, rgba(201,6,44,.2), transparent 55%);
    pointer-events: none;
}
.emyk-dash-hero__inner {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
}
.emyk-dash-hero__kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    margin-bottom: 8px;
    font-weight: 600;
}
.emyk-dash-hero__title {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 6px;
    letter-spacing: -.02em;
}
.emyk-dash-hero__title span { color: var(--cy-red); }
.emyk-dash-hero__sub {
    font-size: 14px;
    color: rgba(255,255,255,.65);
    margin: 0;
}

/* Stats grid */
.emyk-dash-stats {
    max-width: 1140px;
    margin: -20px auto 0;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    font-family: var(--cy-font);
    position: relative;
    z-index: 1;
}
.emyk-dash-stat {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: transform .2s, box-shadow .2s;
}
.emyk-dash-stat:hover {
    transform: translateY(-2px);
    box-shadow: var(--cy-shadow-hover);
}
.emyk-dash-stat__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.emyk-dash-stat__num {
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: var(--cy-charcoal);
    line-height: 1;
    letter-spacing: -.02em;
}
.emyk-dash-stat__label {
    display: block;
    font-size: 12px;
    color: var(--cy-text-soft);
    margin-top: 4px;
}

/* Navigation cards — main section hub */
.emyk-dash-nav {
    max-width: 1140px;
    margin: 24px auto 0;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    font-family: var(--cy-font);
}
.emyk-dash-navcard {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--cy-text);
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.emyk-dash-navcard:hover {
    border-color: var(--cy-red);
    transform: translateY(-2px);
    box-shadow: var(--cy-shadow-hover);
    color: var(--cy-text);
}
.emyk-dash-navcard__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--cy-cream);
    color: var(--cy-red);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .2s, color .2s;
}
.emyk-dash-navcard:hover .emyk-dash-navcard__icon {
    background: var(--cy-red);
    color: #fff;
}
.emyk-dash-navcard__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.emyk-dash-navcard__body strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--cy-text);
    line-height: 1.2;
}
.emyk-dash-navcard__body span {
    font-size: 12px;
    color: var(--cy-text-soft);
}

/* Primary card (Νέα Αγγελία) — red background */
.emyk-dash-navcard--primary {
    background: var(--cy-red);
    border-color: var(--cy-red);
    color: #fff;
}
.emyk-dash-navcard--primary:hover {
    background: var(--cy-red-hover);
    border-color: var(--cy-red-hover);
    color: #fff;
    box-shadow: 0 12px 32px rgba(201,6,44,.25);
}
.emyk-dash-navcard--primary .emyk-dash-navcard__icon {
    background: rgba(255,255,255,.2);
    color: #fff;
}
.emyk-dash-navcard--primary:hover .emyk-dash-navcard__icon {
    background: #fff;
    color: var(--cy-red);
}
.emyk-dash-navcard--primary .emyk-dash-navcard__body strong {
    color: #fff;
}
.emyk-dash-navcard--primary .emyk-dash-navcard__body span {
    color: rgba(255,255,255,.75);
}

/* Logout card — subtle */
.emyk-dash-navcard--logout .emyk-dash-navcard__icon {
    background: #fef2f2;
    color: #dc2626;
}
.emyk-dash-navcard--logout:hover {
    border-color: #dc2626;
}
.emyk-dash-navcard--logout:hover .emyk-dash-navcard__icon {
    background: #dc2626;
    color: #fff;
}

/* Main section */
.emyk-dash-section {
    max-width: 1140px;
    margin: 40px auto 80px;
    padding: 0 24px;
    font-family: var(--cy-font);
}
.emyk-dash-section__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    gap: 16px;
}
.emyk-dash-section__head h2 {
    font-size: 22px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0;
    letter-spacing: -.01em;
}
.emyk-dash-section__count {
    font-size: 13px;
    color: var(--cy-text-soft);
    background: var(--cy-cream);
    padding: 6px 14px;
    border-radius: 999px;
    font-weight: 600;
}

/* Empty state */
.emyk-dash-empty {
    text-align: center;
    padding: 64px 24px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
}
.emyk-dash-empty h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--cy-charcoal);
    margin: 0 0 8px;
}
.emyk-dash-empty p {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0 0 20px;
}
.emyk-dash-empty__btn {
    display: inline-block;
    background: var(--cy-red);
    color: #fff;
    padding: 12px 28px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.emyk-dash-empty__btn:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* Listings list */
.emyk-dash-listings {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.emyk-dash-listing {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    padding: 14px;
    display: flex;
    gap: 16px;
    align-items: center;
    transition: border-color .2s, box-shadow .2s;
}
.emyk-dash-listing:hover {
    border-color: var(--cy-red);
    box-shadow: var(--cy-shadow);
}
.emyk-dash-listing__image {
    width: 88px;
    height: 88px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cy-cream);
}
.emyk-dash-listing__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.emyk-dash-listing__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.emyk-dash-listing__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.emyk-dash-listing__top {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.emyk-dash-listing__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--cy-text);
    text-decoration: none;
    line-height: 1.3;
}
.emyk-dash-listing__title:hover { color: var(--cy-red); }
.emyk-dash-listing__status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.emyk-dash-listing__status.status-publish { background: #f0fdf4; color: #166534; }
.emyk-dash-listing__status.status-pending { background: #fefce8; color: #854d0e; }
.emyk-dash-listing__status.status-draft   { background: var(--cy-cream); color: var(--cy-text-soft); }
.emyk-dash-listing__status.status-trash   { background: #fef2f2; color: #991b1b; }
.emyk-dash-listing__status.status-expired { background: #fff7ed; color: #9a3412; }
.emyk-dash-listing__status.status-featured {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
}
.emyk-dash-listing__meta {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 13px;
    color: var(--cy-muted);
}
.emyk-dash-listing__price {
    font-weight: 800;
    color: var(--cy-red);
    font-size: 14px;
}
.emyk-dash-listing__price--free { color: #16a34a; }
.emyk-dash-listing__actions {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}
.emyk-dash-btn {
    font-size: 12px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--cy-cream);
    color: var(--cy-text);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.emyk-dash-btn:hover {
    background: var(--cy-red);
    color: #fff;
}
.emyk-dash-btn--view {
    background: var(--cy-navy);
    color: #fff;
}
.emyk-dash-btn--view:hover {
    background: var(--cy-navy-soft);
    color: #fff;
}

/* Dashboard responsive */
@media (max-width: 900px) {
    .emyk-dash-stats { grid-template-columns: repeat(2, 1fr); }
    .emyk-dash-nav { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .emyk-dash-listing {
        flex-wrap: wrap;
    }
    .emyk-dash-listing__image {
        width: 100%;
        height: 180px;
    }
    .emyk-dash-nav { grid-template-columns: 1fr; }
}

/* =========================================================
   GENERIC PAGE HERO — used by About, Contact, FAQ pages
   ========================================================= */
.emyk-page-hero {
    background: linear-gradient(145deg, var(--cy-navy) 0%, var(--cy-navy-soft) 100%);
    color: #fff;
    padding: 72px 24px 64px;
    text-align: center;
    font-family: var(--cy-font);
    position: relative;
    overflow: hidden;
}
.emyk-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(201,6,44,.15), transparent 55%);
    pointer-events: none;
}
.emyk-page-hero__inner {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
}
.emyk-page-hero__kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--cy-red);
    background: rgba(201,6,44,.15);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
    font-weight: 600;
}
.emyk-page-hero__title {
    font-size: clamp(30px, 4.5vw, 48px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 14px;
    letter-spacing: -.02em;
    line-height: 1.1;
}
.emyk-page-hero__title span { color: var(--cy-red); }
.emyk-page-hero__sub {
    font-size: clamp(15px, 1.7vw, 17px);
    color: rgba(255,255,255,.75);
    margin: 0;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* =========================================================
   ABOUT PAGE
   ========================================================= */
.emyk-about-stats {
    max-width: 1140px;
    margin: -32px auto 0;
    padding: 0 24px;
    position: relative;
    z-index: 1;
    font-family: var(--cy-font);
}
.emyk-about-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px;
    box-shadow: var(--cy-shadow-hover);
}
.emyk-about-stats__grid--3 {
    grid-template-columns: repeat(3, 1fr);
}
.emyk-about-stat {
    text-align: center;
    padding: 16px 8px;
    border-right: 1px solid var(--cy-border);
}
.emyk-about-stat:last-child { border-right: 0; }
.emyk-about-stat__num {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: var(--cy-red);
    letter-spacing: -.02em;
    line-height: 1;
}
.emyk-about-stat__label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--cy-text-soft);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
}

.emyk-about-content {
    max-width: 760px;
    margin: 56px auto 80px;
    padding: 0 24px;
    font-family: var(--cy-font);
}
.emyk-about-block {
    margin-bottom: 36px;
}
.emyk-about-block h2 {
    font-size: 24px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 12px;
    letter-spacing: -.01em;
}
.emyk-about-block p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--cy-text);
    margin: 0 0 14px;
}
.emyk-about-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 40px 0;
}
.emyk-value {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    padding: 24px;
    text-align: left;
}
.emyk-value__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--cy-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    margin-bottom: 14px;
}
.emyk-value h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--cy-charcoal);
    margin: 0 0 6px;
}
.emyk-value p {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0;
    line-height: 1.5;
}

.emyk-about-cta {
    background: linear-gradient(135deg, var(--cy-navy), var(--cy-navy-soft));
    border-radius: var(--cy-radius);
    color: #fff;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 40px;
}
.emyk-about-cta h3 {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 6px;
    letter-spacing: -.01em;
}
.emyk-about-cta p {
    color: rgba(255,255,255,.75);
    font-size: 14px;
    margin: 0;
}
.emyk-about-cta__btn {
    flex-shrink: 0;
    background: var(--cy-red);
    color: #fff;
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.emyk-about-cta__btn:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.emyk-contact {
    max-width: 1140px;
    margin: 48px auto 80px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 32px;
    font-family: var(--cy-font);
}

.emyk-contact__form-wrap {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 32px;
}
.emyk-contact__title {
    font-size: 22px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 20px;
    letter-spacing: -.01em;
}

.emyk-contact__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.emyk-contact__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.emyk-contact__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.emyk-contact__field label {
    font-size: 13px;
    font-weight: 700;
    color: var(--cy-text);
}
.emyk-contact__field input,
.emyk-contact__field textarea {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    color: var(--cy-text);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    resize: vertical;
}
.emyk-contact__field input:focus,
.emyk-contact__field textarea:focus {
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.1);
}
.emyk-contact__submit {
    background: var(--cy-red);
    color: #fff;
    border: 0;
    padding: 14px 28px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .2s;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
}
.emyk-contact__submit:hover {
    background: var(--cy-red-hover);
    transform: translateY(-1px);
}

.emyk-contact__success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    padding: 20px;
    border-radius: 12px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.emyk-contact__success svg { color: #16a34a; flex-shrink: 0; margin-top: 2px; }
.emyk-contact__success strong { display: block; font-size: 15px; margin-bottom: 4px; }
.emyk-contact__success p { margin: 0; font-size: 13px; }

.emyk-contact__error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    margin-bottom: 16px;
}

/* Contact info card */
.emyk-contact__info {
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: flex-start;
}
.emyk-contact__info-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.emyk-contact__info-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    flex-shrink: 0;
}
.emyk-contact__info-item strong {
    display: block;
    font-size: 13px;
    color: var(--cy-text-soft);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 2px;
}
.emyk-contact__info-item a,
.emyk-contact__info-item span {
    font-size: 15px;
    color: var(--cy-text);
    text-decoration: none;
    font-weight: 500;
    display: block;
}
.emyk-contact__info-item a:hover { color: var(--cy-red); }

.emyk-contact__social {
    display: flex;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--cy-border);
    margin-top: 4px;
}
.emyk-contact__social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-text-soft);
    transition: background .2s, color .2s;
}
.emyk-contact__social a:hover {
    background: var(--cy-red);
    color: #fff;
}

/* =========================================================
   FAQ PAGE
   ========================================================= */
.emyk-faq {
    max-width: 820px;
    margin: 48px auto 80px;
    padding: 0 24px;
    font-family: var(--cy-font);
}
.emyk-faq__group { margin-bottom: 40px; }
.emyk-faq__group-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--cy-charcoal);
    letter-spacing: -.01em;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cy-red);
    display: inline-block;
}
.emyk-faq__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.emyk-faq__item {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .2s;
}
.emyk-faq__item[open] {
    border-color: var(--cy-red);
    box-shadow: 0 4px 16px rgba(201,6,44,.06);
}
.emyk-faq__q {
    list-style: none;
    padding: 18px 22px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--cy-text);
    transition: background .15s;
}
.emyk-faq__q::-webkit-details-marker { display: none; }
.emyk-faq__q::marker { content: ''; }
.emyk-faq__q:hover {
    background: var(--cy-cream);
}
.emyk-faq__icon {
    color: var(--cy-red);
    flex-shrink: 0;
    transition: transform .2s;
}
.emyk-faq__item[open] .emyk-faq__icon {
    transform: rotate(180deg);
}
.emyk-faq__a {
    padding: 0 22px 20px;
    color: var(--cy-text-soft);
    font-size: 14px;
    line-height: 1.65;
    border-top: 1px solid var(--cy-border);
    padding-top: 18px;
}
.emyk-faq__a p { margin: 0 0 10px; }
.emyk-faq__a p:last-child { margin-bottom: 0; }

.emyk-faq__extra {
    margin: 40px 0;
    padding: 24px;
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
    font-size: 15px;
    line-height: 1.65;
}

.emyk-faq__cta {
    text-align: center;
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
    padding: 40px 24px;
    margin-top: 48px;
}
.emyk-faq__cta h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 8px;
}
.emyk-faq__cta p {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0 0 20px;
}
.emyk-faq__cta-btn {
    display: inline-block;
    background: var(--cy-red);
    color: #fff;
    padding: 12px 28px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.emyk-faq__cta-btn:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* Responsive for About/Contact/FAQ */
@media (max-width: 900px) {
    .emyk-about-stats__grid { grid-template-columns: repeat(2, 1fr); }
    .emyk-about-stat:nth-child(2n) { border-right: 0; }
    .emyk-about-stat { border-bottom: 1px solid var(--cy-border); padding-bottom: 18px; }
    .emyk-about-stat:nth-last-child(-n+2) { border-bottom: 0; }
    .emyk-about-values { grid-template-columns: 1fr; }
    .emyk-contact { grid-template-columns: 1fr; }
    .emyk-about-cta { flex-direction: column; text-align: center; padding: 32px 24px; }
}
@media (max-width: 560px) {
    .emyk-contact__row { grid-template-columns: 1fr; }
    .emyk-about-stats__grid { grid-template-columns: 1fr; }
    .emyk-about-stat { border-right: 0; border-bottom: 1px solid var(--cy-border); }
    .emyk-about-stat:last-child { border-bottom: 0; }
    .emyk-contact__form-wrap { padding: 24px 20px; }
    .emyk-contact__info { padding: 24px 20px; }
}

/* =========================================================
   SUBMIT LISTING PAGE — custom wrapper
   ========================================================= */
.emyk-submit-hero {
    background: linear-gradient(145deg, var(--cy-navy) 0%, var(--cy-navy-soft) 100%);
    color: #fff;
    padding: 56px 24px 48px;
    text-align: center;
    font-family: var(--cy-font);
    position: relative;
    overflow: hidden;
}
.emyk-submit-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(201,6,44,.15), transparent 55%);
    pointer-events: none;
}
.emyk-submit-hero__inner {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
}
.emyk-submit-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--cy-red);
    background: rgba(201,6,44,.1);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
    font-weight: 600;
}
.emyk-submit-hero__title {
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 10px;
    letter-spacing: -.02em;
    line-height: 1.15;
}
.emyk-submit-hero__sub {
    font-size: 16px;
    color: rgba(255,255,255,.75);
    margin: 0 0 32px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* Progress steps */
.emyk-submit-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}
.emyk-submit-step {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.6);
    padding: 8px 16px 8px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,.1);
}
.emyk-submit-step__num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}
.emyk-submit-step.is-active {
    background: var(--cy-red);
    color: #fff;
    border-color: var(--cy-red);
}
.emyk-submit-step.is-active .emyk-submit-step__num {
    background: rgba(255,255,255,.2);
}

/* Benefits row */
.emyk-submit-benefits {
    max-width: 960px;
    margin: -24px auto 0;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    font-family: var(--cy-font);
    position: relative;
    z-index: 1;
}
.emyk-submit-benefit {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 14px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.emyk-submit-benefit__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--cy-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cy-red);
    flex-shrink: 0;
}
.emyk-submit-benefit strong {
    display: block;
    font-size: 13px;
    color: var(--cy-text);
    font-weight: 700;
    margin-bottom: 2px;
}
.emyk-submit-benefit span {
    display: block;
    font-size: 12px;
    color: var(--cy-text-soft);
    line-height: 1.4;
}

/* Form wrapper — where HivePress renders */
.emyk-submit-form {
    max-width: 720px;
    margin: 32px auto 80px;
    padding: 0 24px;
}
.emyk-submit-form .hp-form {
    padding: 36px;
}

/* Submit responsive */
@media (max-width: 720px) {
    .emyk-submit-benefits { grid-template-columns: 1fr; gap: 8px; }
    .emyk-submit-steps { gap: 6px; }
    .emyk-submit-step { font-size: 12px; padding: 6px 12px 6px 8px; }
    .emyk-submit-form .hp-form { padding: 24px 20px; }
}

/* =========================================================
   HIVEPRESS FORMS — global styling
   Applies to Submit Listing, Edit Listing, Login, Register,
   Package Selection, and all other HivePress forms.
   ========================================================= */

/* HivePress page title */
.hp-page__title,
.hp-template__title,
.hp-page-title {
    font-size: 28px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 20px;
    letter-spacing: -.02em;
}

/* Form container */
.hp-form {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 32px;
    font-family: var(--cy-font);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Field wrapper */
.hp-form .hp-field,
.hp-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Labels */
.hp-form .hp-field__label,
.hp-field__label,
.hp-form label {
    font-size: 13px;
    font-weight: 700;
    color: var(--cy-text);
    margin: 0;
    letter-spacing: .01em;
}

/* Required marker */
.hp-form .hp-field__label-required,
.hp-field__label-required {
    color: var(--cy-red);
    margin-left: 4px;
}

/* Description text below labels */
.hp-form .hp-field__description,
.hp-field__description {
    font-size: 12px;
    color: var(--cy-text-soft);
    margin: 2px 0 0;
    line-height: 1.5;
}

/* Error message */
.hp-form .hp-field__errors,
.hp-field__errors {
    font-size: 12px;
    color: var(--cy-red);
    margin: 4px 0 0;
}

/* Text, number, email, url, password inputs */
.hp-form input[type="text"],
.hp-form input[type="email"],
.hp-form input[type="password"],
.hp-form input[type="number"],
.hp-form input[type="tel"],
.hp-form input[type="url"],
.hp-form input[type="search"],
.hp-form textarea,
.hp-form select {
    width: 100%;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    color: var(--cy-text);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    box-shadow: none;
}
.hp-form input[type="text"]:focus,
.hp-form input[type="email"]:focus,
.hp-form input[type="password"]:focus,
.hp-form input[type="number"]:focus,
.hp-form input[type="tel"]:focus,
.hp-form input[type="url"]:focus,
.hp-form input[type="search"]:focus,
.hp-form textarea:focus,
.hp-form select:focus {
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.1);
}

.hp-form textarea {
    min-height: 120px;
    resize: vertical;
}

.hp-form select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}

/* Checkbox & radio */
.hp-form input[type="checkbox"],
.hp-form input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--cy-red);
    cursor: pointer;
    margin-right: 6px;
}

/* =========================================================
   CHECKBOX ATTRIBUTES (amenities) — grid of pill cards
   Targets HivePress single-checkbox fields.
   ========================================================= */

/* Make the form a grid so checkboxes can sit side-by-side */
.hp-form {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 12px;
}
.hp-form > * {
    grid-column: 1 / -1; /* default: full width for all fields */
}
.hp-form .hp-field--checkbox {
    grid-column: span 1; /* half width for checkbox fields */
}

/* Hide the outer/duplicate label above the checkbox */
.hp-form .hp-field--checkbox > label:first-child,
.hp-form .hp-field--checkbox > .hp-field__label,
.hp-form .hp-field--checkbox > strong,
.hp-form .hp-field--checkbox > p:first-child {
    display: none !important;
}

/* Transform each checkbox field into a clickable pill card */
.hp-form .hp-field--checkbox {
    background: #fff;
    border: 1.5px solid var(--cy-border);
    border-radius: 12px;
    padding: 0;
    cursor: pointer;
    transition: border-color .2s, background .2s, box-shadow .2s;
    position: relative;
    overflow: hidden;
    margin: 0;
}

.hp-form .hp-field--checkbox:hover {
    border-color: var(--cy-red);
    background: #fff7f8;
}

/* Make the inner label+checkbox fill the card as a clickable area */
.hp-form .hp-field--checkbox > label:last-child,
.hp-form .hp-field--checkbox label {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    margin: 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--cy-text);
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
}

/* The checkbox input */
.hp-form .hp-field--checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--cy-red);
    flex-shrink: 0;
}

/* Highlight when checked (using :has() — modern browsers) */
.hp-form .hp-field--checkbox:has(input:checked) {
    background: #fff;
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.12);
}

/* Mobile: one column */
@media (max-width: 560px) {
    .hp-form { grid-template-columns: 1fr; }
    .hp-form .hp-field--checkbox { grid-column: 1 / -1; }
}

/* File/image upload area */
.hp-form .hp-field--file,
.hp-form .hp-field--attachment,
.hp-form .hp-field--images,
.hp-form .hp-field__upload {
    background: var(--cy-cream);
    border: 2px dashed var(--cy-border);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    transition: border-color .2s, background .2s;
}
.hp-form .hp-field__upload:hover {
    border-color: var(--cy-red);
    background: #fff;
}

/* Submit / primary buttons */
.hp-form button[type="submit"],
.hp-form .hp-form__submit,
.hp-form .button,
.hp-form input[type="submit"] {
    background: var(--cy-red);
    color: #fff;
    border: 0;
    padding: 14px 32px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .2s;
    font-family: inherit;
    align-self: flex-start;
}
.hp-form button[type="submit"]:hover,
.hp-form .hp-form__submit:hover,
.hp-form input[type="submit"]:hover {
    background: var(--cy-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* Secondary buttons */
.hp-form .hp-form__button--secondary,
.hp-form button.secondary {
    background: var(--cy-cream);
    color: var(--cy-text);
}
.hp-form .hp-form__button--secondary:hover {
    background: var(--cy-sand);
}

/* HivePress messages (success/error) */
.hp-message {
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    margin: 0 0 20px;
    font-weight: 500;
}
.hp-message--success,
.hp-message--info {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.hp-message--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.hp-message--warning {
    background: #fefce8;
    color: #854d0e;
    border: 1px solid #fde047;
}

/* =========================================================
   HIVEPRESS PACKAGE SELECTION PAGE — Comparison cards style
   ========================================================= */

/* Package list container */
.hp-packages,
.hp-package-list,
.hp-listing-package-list,
.hp-form--package-select,
form[data-name*="package"] {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px;
    margin: 32px auto;
    max-width: 1100px;
    padding: 0 24px;
}

/* Individual package card */
.hp-package,
.hp-listing-package,
.hp-form--package-select .hp-field--radio label {
    background: #fff !important;
    border: 2px solid var(--cy-border) !important;
    border-radius: 20px !important;
    padding: 28px 24px !important;
    transition: border-color .25s, transform .25s, box-shadow .25s;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px;
    cursor: pointer;
    text-align: left !important;
}

.hp-package:hover,
.hp-listing-package:hover,
.hp-form--package-select .hp-field--radio label:hover {
    border-color: var(--cy-red) !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(201,6,44,.12);
}

/* Featured/popular package */
.hp-package--featured,
.hp-package.is-featured,
.hp-listing-package--featured {
    border-color: var(--cy-red) !important;
    background: linear-gradient(180deg, #fff 0%, #fff7f8 100%) !important;
}
.hp-package--featured::before,
.hp-package.is-featured::before,
.hp-listing-package--featured::before {
    content: 'ΔΗΜΟΦΙΛΕΣ';
    position: absolute;
    top: -12px;
    left: 20px;
    background: var(--cy-red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 999px;
    letter-spacing: .12em;
}

/* Package name/title */
.hp-package__name,
.hp-package__title,
.hp-listing-package__title {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    margin: 0 !important;
    letter-spacing: -.01em;
}

/* Package price — big red */
.hp-package__price,
.hp-listing-package__price {
    font-size: 40px !important;
    font-weight: 800 !important;
    color: var(--cy-red) !important;
    letter-spacing: -.02em;
    line-height: 1 !important;
    display: flex !important;
    align-items: baseline;
    gap: 4px;
    margin: 0 !important;
}
.hp-package__price-period,
.hp-listing-package__price-period {
    font-size: 13px;
    color: var(--cy-text-soft);
    font-weight: 500;
}

/* Package description */
.hp-package__description,
.hp-listing-package__description {
    font-size: 14px;
    color: var(--cy-text-soft);
    margin: 0 !important;
    line-height: 1.5;
}

/* Package features list with checkmarks */
.hp-package__features,
.hp-listing-package__features {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
}
.hp-package__features li,
.hp-listing-package__features li {
    font-size: 14px;
    color: var(--cy-text);
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
    padding-left: 0;
    list-style: none;
}
.hp-package__features li::before,
.hp-listing-package__features li::before {
    content: '✓';
    color: #16a34a;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 1px;
}

/* Package button */
.hp-package__button,
.hp-package a.button,
.hp-package button,
.hp-listing-package__button {
    margin-top: auto !important;
    background: var(--cy-navy) !important;
    color: #fff !important;
    padding: 14px 24px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: background .2s !important;
    display: block !important;
    border: 0 !important;
    width: 100% !important;
    cursor: pointer !important;
    font-family: inherit !important;
}
.hp-package__button:hover,
.hp-package a.button:hover,
.hp-listing-package__button:hover {
    background: var(--cy-navy-soft) !important;
}
.hp-package--featured .hp-package__button,
.hp-package.is-featured .hp-package__button,
.hp-listing-package--featured .hp-listing-package__button {
    background: var(--cy-red) !important;
}
.hp-package--featured .hp-package__button:hover,
.hp-package.is-featured .hp-package__button:hover,
.hp-listing-package--featured .hp-listing-package__button:hover {
    background: var(--cy-red-hover) !important;
}

/* Radio button style for package selection */
.hp-form--package-select .hp-field--radio input[type="radio"] {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 22px;
    height: 22px;
    accent-color: var(--cy-red);
    z-index: 1;
}
.hp-form--package-select .hp-field--radio input[type="radio"]:checked + label {
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.1);
}

/* =========================================================
   HIVEPRESS USER ACCOUNT — SIDEBAR HIDDEN
   Users navigate via our custom Dashboard page instead.
   A "Back to Dashboard" link is injected at top of each inner page.
   ========================================================= */

/* Hide ONLY the HivePress sidebar INSIDE account pages — not the header menu */
.hp-template--user-account .hp-page__sidebar,
.hp-template--user-account aside.hp-page__sidebar,
.hp-page--user-account > aside.hp-page__sidebar,
.hp-template--user-account > .hp-menu--user-account,
.hp-page--user-account > .hp-menu--user-account,
.hp-page--user-account .hp-page__sidebar .hp-menu--user-account {
    display: none !important;
}

/* Make main content full width on account pages */
.hp-template--user-account,
.hp-page--user-account {
    max-width: 1140px !important;
    margin: 40px auto 80px !important;
    padding: 0 24px !important;
    display: block !important;
    font-family: var(--cy-font) !important;
}

/* Main content area full-width card */
.hp-template--user-account .hp-page__content,
.hp-template--user-account main,
.hp-page--user-account main {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: var(--cy-radius) !important;
    padding: 32px !important;
}
.hp-template--user-account .hp-page__title,
.hp-page--user-account .hp-page__title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    margin: 0 0 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--cy-border) !important;
    letter-spacing: -.01em;
}

/* Back to dashboard link at top of each account page */
.emyk-back-to-dash {
    max-width: 1140px;
    margin: 24px auto 0;
    padding: 0 24px;
    font-family: var(--cy-font);
}
.emyk-back-to-dash a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--cy-text-soft);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--cy-cream);
    transition: background .15s, color .15s;
}
.emyk-back-to-dash a:hover {
    background: var(--cy-red);
    color: #fff;
}

/* =========================================================
   USER DASHBOARD / MY ACCOUNT PAGE
   Applies to HivePress account + WooCommerce my-account
   ========================================================= */

/* Page hero */
.page-id-9 .entry-content,
body.woocommerce-account .woocommerce,
body.woocommerce-account .content-area,
.hp-account,
.hp-template--user-account,
.hp-template--listing-manage {
    max-width: 1200px !important;
    margin: 40px auto 60px !important;
    padding: 0 24px !important;
    font-family: var(--cy-font) !important;
}

/* My Account layout (sidebar + content) */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 260px;
    flex-shrink: 0;
}
.woocommerce-account .woocommerce {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

/* Navigation sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    border-bottom: 1px solid var(--cy-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 14px 18px;
    color: var(--cy-text);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: var(--cy-cream);
    color: var(--cy-red);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation--is-active a {
    background: var(--cy-red);
    color: #fff;
    font-weight: 600;
}

/* My Account content card */
.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 32px;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 16px;
    letter-spacing: -.01em;
}

/* Tables inside account */
.woocommerce-account table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 16px 0;
}
.woocommerce-account table th {
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    color: var(--cy-text-soft);
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 12px 14px;
    border-bottom: 1px solid var(--cy-border);
}
.woocommerce-account table td {
    padding: 16px 14px;
    border-bottom: 1px solid var(--cy-border);
    font-size: 14px;
    color: var(--cy-text);
}
.woocommerce-account table tr:last-child td { border-bottom: 0; }

/* Buttons in account */
.woocommerce-account .button,
.woocommerce .button.wc-forward,
.woocommerce-account a.button {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: 0 !important;
    text-decoration: none !important;
    display: inline-block;
    transition: background .2s !important;
}
.woocommerce-account .button:hover,
.woocommerce .button.wc-forward:hover {
    background: var(--cy-red-hover) !important;
}

/* HivePress listing management cards */
.hp-listings--user,
.hp-listing-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin: 24px 0;
    padding: 0 !important;
    list-style: none !important;
}
.hp-listings--user .hp-listing,
.hp-listing-list > li,
.hp-listing--manage {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    transition: border-color .2s, box-shadow .2s;
    list-style: none;
}
.hp-listings--user .hp-listing:hover,
.hp-listing-list > li:hover {
    border-color: var(--cy-red);
    box-shadow: var(--cy-shadow);
}

/* Listing card image */
.hp-listings--user .hp-listing__image,
.hp-listing-list .hp-listing__image {
    aspect-ratio: 16/10;
    overflow: hidden;
    border-radius: 10px;
    margin: 0;
}
.hp-listings--user .hp-listing__image img,
.hp-listing-list .hp-listing__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Listing title */
.hp-listings--user .hp-listing__title,
.hp-listing-list .hp-listing__title {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    color: var(--cy-text);
}
.hp-listings--user .hp-listing__title a,
.hp-listing-list .hp-listing__title a {
    color: var(--cy-text);
    text-decoration: none;
}
.hp-listings--user .hp-listing__title a:hover {
    color: var(--cy-red);
}

/* Listing actions row */
.hp-listing__actions,
.hp-listing--manage .hp-menu {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid var(--cy-border);
    list-style: none;
    padding-left: 0;
}
.hp-listing__actions a,
.hp-listing__actions button,
.hp-menu a {
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--cy-cream);
    color: var(--cy-text);
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.hp-listing__actions a:hover,
.hp-listing__actions button:hover,
.hp-menu a:hover {
    background: var(--cy-red);
    color: #fff;
}

/* Status badges */
.hp-listing__status,
.hp-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.hp-listing__status--publish,
.hp-badge--publish {
    background: #f0fdf4;
    color: #166534;
}
.hp-listing__status--pending,
.hp-badge--pending {
    background: #fefce8;
    color: #854d0e;
}
.hp-listing__status--draft,
.hp-badge--draft {
    background: var(--cy-cream);
    color: var(--cy-text-soft);
}

/* Empty state for user dashboard */
.hp-listings--user:empty::after,
.hp-account__empty {
    content: 'Δεν έχεις ακόμα αγγελίες.';
    display: block;
    text-align: center;
    padding: 64px 24px;
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
    color: var(--cy-text-soft);
    font-size: 15px;
}

/* Responsive */
@media (max-width: 900px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
    }
}
@media (max-width: 560px) {
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }
    .hp-packages,
    .hp-package-list {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   WOOCOMMERCE CHECKOUT PAGE — modern 2-column layout
   ========================================================= */

body.woocommerce-checkout {
    background: var(--cy-cream) !important;
}

/* Page wrapper */
body.woocommerce-checkout .woocommerce {
    max-width: 1200px !important;
    margin: 40px auto 80px !important;
    padding: 0 24px !important;
    font-family: var(--cy-font) !important;
}

/* Messages (info, coupon, login) */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-left: 3px solid var(--cy-red) !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    color: var(--cy-text) !important;
    margin-bottom: 16px !important;
}
.woocommerce-info a,
.woocommerce-message a {
    color: var(--cy-red) !important;
    font-weight: 600;
    text-decoration: none;
}
.woocommerce-info a:hover { text-decoration: underline !important; }
.woocommerce-error { border-left-color: #dc2626 !important; }
.woocommerce-message { border-left-color: #16a34a !important; }

/* Checkout form layout */
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1.3fr 1fr;
    gap: 32px;
    margin-top: 24px;
}

/* Customer details (left column) */
.woocommerce-checkout .woocommerce-checkout-review-order {
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

#customer_details {
    display: contents;
}
#customer_details .col-1,
#customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 28px;
    margin-bottom: 20px;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-checkout h3#order_review_heading {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    letter-spacing: -.01em;
    margin: 0 0 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--cy-border);
}

/* Form rows */
.woocommerce form .form-row {
    margin: 0 0 16px !important;
    padding: 0 !important;
}
.woocommerce form .form-row label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--cy-text) !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.woocommerce form .form-row .required {
    color: var(--cy-red) !important;
    text-decoration: none !important;
    border: 0 !important;
}

/* Inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: var(--cy-text) !important;
    box-shadow: none !important;
    width: 100% !important;
    height: auto !important;
    transition: border-color .2s, box-shadow .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row .select2-container--focus .select2-selection {
    border-color: var(--cy-red) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,6,44,.1) !important;
}

/* Select2 fixes */
.select2-container--default .select2-selection--single {
    height: auto !important;
    padding: 8px 4px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px !important;
    padding-left: 10px !important;
    color: var(--cy-text) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
}

/* Row splits (2 columns for name/lastname etc) */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
    width: calc(50% - 8px) !important;
    float: none !important;
    display: inline-block !important;
    vertical-align: top;
}
.woocommerce form .form-row-first { margin-right: 8px !important; }
.woocommerce form .form-row-last { margin-left: 8px !important; }

/* Textarea */
.woocommerce form .form-row textarea {
    min-height: 100px;
    resize: vertical;
}

/* Order review (right column) */
#order_review_heading {
    margin-top: 0 !important;
}
.woocommerce-checkout-review-order,
#order_review {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 28px;
    align-self: start;
}

/* Order review table */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 !important;
}
.woocommerce-checkout-review-order-table thead th {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--cy-text-soft) !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 0 0 10px !important;
    border-bottom: 1px solid var(--cy-border) !important;
    text-align: left;
}
.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot th {
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--cy-border) !important;
    font-size: 14px !important;
    color: var(--cy-text) !important;
    background: transparent !important;
}
.woocommerce-checkout-review-order-table tbody .product-name {
    font-weight: 600;
}
.woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 600;
}
.woocommerce-checkout-review-order-table tfoot .order-total th {
    text-transform: none;
    letter-spacing: normal;
    font-size: 15px !important;
    color: var(--cy-text) !important;
    font-weight: 800 !important;
    padding-top: 16px !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total .amount,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--cy-red) !important;
    padding-top: 16px !important;
}

/* Payment methods */
#payment,
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0 !important;
    margin-top: 24px;
    padding: 0 !important;
}
#payment ul.payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#payment ul.payment_methods li {
    background: var(--cy-cream) !important;
    border: 2px solid var(--cy-border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    transition: border-color .2s, background .2s;
}
#payment ul.payment_methods li.wc_payment_method:has(input:checked) {
    border-color: var(--cy-red) !important;
    background: #fff !important;
}
#payment ul.payment_methods input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--cy-red);
    margin-right: 8px;
    vertical-align: middle;
}
#payment ul.payment_methods label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cy-text) !important;
    cursor: pointer;
    display: inline;
}
#payment ul.payment_methods label img {
    max-height: 24px;
    vertical-align: middle;
    margin-left: 8px;
}
#payment .payment_box {
    background: transparent !important;
    padding: 10px 0 0 30px !important;
    font-size: 13px !important;
    color: var(--cy-text-soft) !important;
    margin: 0 !important;
}
#payment .payment_box::before {
    display: none !important;
}

/* Place order button */
.woocommerce-checkout .place-order {
    padding: 20px 0 0 !important;
    border: 0 !important;
    margin-top: 20px !important;
}
.woocommerce-checkout #place_order,
.woocommerce .button.alt,
.woocommerce button.button.alt {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 16px 32px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 0 !important;
    cursor: pointer;
    transition: background .2s, transform .2s !important;
    width: 100% !important;
    display: block !important;
    font-family: inherit !important;
    text-shadow: none !important;
    line-height: 1.2 !important;
}
.woocommerce-checkout #place_order:hover,
.woocommerce .button.alt:hover {
    background: var(--cy-red-hover) !important;
    transform: translateY(-1px);
}

/* Terms */
.woocommerce-terms-and-conditions-wrapper {
    margin: 14px 0;
    font-size: 13px;
    color: var(--cy-text-soft);
}
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    accent-color: var(--cy-red);
}

/* Order received / Thank you page */
.woocommerce-order-received .woocommerce {
    max-width: 820px !important;
    margin: 48px auto 80px !important;
    padding: 0 24px !important;
}
.woocommerce-order-received .woocommerce-notice,
.woocommerce-thankyou-order-received {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: var(--cy-radius) !important;
    padding: 28px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    text-align: center;
    margin-bottom: 24px !important;
}
.woocommerce-order-overview {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin: 24px 0 !important;
    list-style: none !important;
}
.woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    font-size: 13px;
    color: var(--cy-text-soft);
    border-right: 1px solid var(--cy-border);
    padding-right: 16px;
}
.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce-order-overview li strong {
    font-size: 15px;
    color: var(--cy-text);
    font-weight: 700;
    margin-top: 4px;
}

/* =========================================================
   WOOCOMMERCE CART PAGE
   ========================================================= */
body.woocommerce-cart {
    background: var(--cy-cream) !important;
}
body.woocommerce-cart .woocommerce {
    max-width: 1200px !important;
    margin: 40px auto 80px !important;
    padding: 0 24px !important;
    font-family: var(--cy-font) !important;
}

/* Cart page title if any */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    margin: 0 0 24px !important;
    letter-spacing: -.02em;
}

/* Cart layout — two columns (items + totals) */
.woocommerce-cart form.woocommerce-cart-form {
    margin-bottom: 0 !important;
}
.woocommerce-cart .cart-collaterals {
    margin-top: 0;
}

/* Cart items table */
.woocommerce-cart table.shop_table {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: var(--cy-radius) !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
}
.woocommerce-cart table.shop_table thead th {
    background: #fff !important;
    color: var(--cy-text-soft) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 16px !important;
    border-bottom: 1px solid var(--cy-border) !important;
    text-align: left;
}
.woocommerce-cart table.shop_table tbody td {
    background: #fff !important;
    padding: 20px 16px !important;
    border-bottom: 1px solid var(--cy-border) !important;
    font-size: 14px !important;
    color: var(--cy-text) !important;
    vertical-align: middle;
}
.woocommerce-cart table.shop_table tbody tr:last-child td {
    border-bottom: 0 !important;
}
.woocommerce-cart .cart_item .product-thumbnail img {
    max-width: 70px;
    border-radius: 10px;
}
.woocommerce-cart .cart_item .product-name a {
    color: var(--cy-text) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 15px !important;
}
.woocommerce-cart .cart_item .product-name a:hover {
    color: var(--cy-red) !important;
}
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
    font-weight: 700 !important;
    color: var(--cy-red) !important;
}
.woocommerce-cart .product-quantity .qty {
    width: 70px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    text-align: center;
}
.woocommerce-cart .product-remove a.remove {
    color: var(--cy-red) !important;
    font-size: 20px !important;
    background: var(--cy-cream) !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    border-radius: 50% !important;
}
.woocommerce-cart .product-remove a.remove:hover {
    background: var(--cy-red) !important;
    color: #fff !important;
}

/* Actions row (coupon + update) */
.woocommerce-cart .actions {
    padding: 20px 16px !important;
    background: var(--cy-cream) !important;
    border-top: 1px solid var(--cy-border) !important;
}
.woocommerce-cart .coupon {
    display: flex;
    gap: 8px;
    align-items: center;
    float: left;
}
.woocommerce-cart .coupon .input-text {
    padding: 10px 14px !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 14px !important;
    min-width: 180px;
}
.woocommerce-cart .coupon button,
.woocommerce-cart .button[name="apply_coupon"] {
    background: var(--cy-navy) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 0 !important;
    cursor: pointer;
}
.woocommerce-cart .coupon button:hover {
    background: var(--cy-navy-soft) !important;
}
.woocommerce-cart .button[name="update_cart"] {
    background: var(--cy-cream) !important;
    color: var(--cy-text) !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1px solid var(--cy-border) !important;
    cursor: pointer;
}

/* Cart totals (right side) */
.woocommerce-cart .cart-collaterals {
    margin-top: 32px !important;
    display: flex;
    justify-content: flex-end;
}
.woocommerce-cart .cart_totals {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: var(--cy-radius) !important;
    padding: 28px !important;
    width: 100% !important;
    max-width: 420px !important;
    float: none !important;
}
.woocommerce-cart .cart_totals h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--cy-border);
}
.woocommerce-cart .cart_totals table {
    width: 100% !important;
    border: 0 !important;
}
.woocommerce-cart .cart_totals table th {
    background: transparent !important;
    text-align: left !important;
    padding: 10px 0 !important;
    font-size: 13px !important;
    color: var(--cy-text-soft) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 500 !important;
    border: 0 !important;
}
.woocommerce-cart .cart_totals table td {
    padding: 10px 0 !important;
    text-align: right !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cy-text) !important;
    border: 0 !important;
    background: transparent !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    font-size: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--cy-border) !important;
}
.woocommerce-cart .cart_totals .order-total td {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--cy-red) !important;
}

/* Proceed to checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 20px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center;
    display: block !important;
    text-decoration: none !important;
    transition: background .2s, transform .2s !important;
    width: 100% !important;
    box-sizing: border-box;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--cy-red-hover) !important;
    transform: translateY(-1px);
}

/* Empty cart */
.cart-empty {
    text-align: center;
    padding: 64px 24px !important;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    font-size: 17px !important;
    font-weight: 600;
    color: var(--cy-text-soft);
}
.return-to-shop {
    text-align: center !important;
    margin-top: 20px !important;
}
.return-to-shop .button,
.return-to-shop a {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 14px 32px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block;
}

/* Responsive cart */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table thead { display: none; }
    .woocommerce-cart table.shop_table tbody td {
        display: block;
        width: 100%;
        text-align: left !important;
        padding: 10px 16px !important;
        border-bottom: 0 !important;
    }
    .woocommerce-cart table.shop_table tbody td::before {
        content: attr(data-title) ": ";
        font-weight: 700;
        color: var(--cy-text-soft);
        margin-right: 8px;
    }
    .woocommerce-cart table.shop_table tbody tr {
        display: block;
        border-bottom: 1px solid var(--cy-border);
        padding: 12px 0;
    }
    .woocommerce-cart .actions { text-align: center; }
    .woocommerce-cart .coupon { float: none; justify-content: center; }
    .woocommerce-cart .cart-collaterals { justify-content: stretch; }
    .woocommerce-cart .cart_totals { max-width: 100% !important; }
}

/* Responsive checkout */
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-checkout .woocommerce-checkout-review-order,
    .woocommerce-checkout #order_review {
        position: static !important;
    }
}

/* =========================================================
   WOOCOMMERCE BLOCKS CHECKOUT (React-based, new style)
   ========================================================= */

/* Reduce top whitespace - checkout page heading */
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .wp-block-post-title,
body.page-template-default.woocommerce-checkout h1.wp-block-post-title {
    text-align: center !important;
    padding: 24px 0 !important;
    margin: 0 !important;
    background: var(--cy-cream);
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
}

/* Blocks checkout wrapper */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
    max-width: 1200px !important;
    margin: 24px auto 60px !important;
    padding: 0 24px !important;
    font-family: var(--cy-font) !important;
}

/* Two-column layout */
.wc-block-checkout__main,
.is-large .wp-block-woocommerce-checkout {
    gap: 32px !important;
}

/* Form sections (contact info, billing, shipping) */
.wc-block-checkout__contact-information,
.wc-block-checkout__billing-address,
.wc-block-checkout__shipping-address,
.wc-block-checkout__payment-method,
.wc-block-checkout__order-notes,
.wc-block-components-checkout-step {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: var(--cy-radius) !important;
    padding: 28px !important;
    margin-bottom: 16px !important;
}

/* Step titles */
.wc-block-components-checkout-step__title,
.wc-block-components-title {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    letter-spacing: -.01em;
    margin: 0 0 20px !important;
}

/* Text inputs */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-combobox .components-form-token-field__input-container,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
input.wc-block-components-text-input__input {
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: 10px !important;
    padding: 14px 14px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: var(--cy-text) !important;
    box-shadow: none !important;
    transition: border-color .2s, box-shadow .2s;
    height: auto !important;
    min-height: 48px;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus {
    border-color: var(--cy-red) !important;
    box-shadow: 0 0 0 3px rgba(201,6,44,.1) !important;
    outline: none !important;
}

/* Floating labels */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label {
    color: var(--cy-text-soft) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not(:placeholder-shown) + label {
    color: var(--cy-red) !important;
}

/* Order summary sidebar */
.wc-block-components-sidebar,
.wc-block-checkout__sidebar {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 28px !important;
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

/* Order summary title */
.wc-block-components-order-summary__title,
.wc-block-components-totals-wrapper h3 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    letter-spacing: -.01em;
    margin: 0 0 16px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--cy-border);
}

/* Order items */
.wc-block-components-order-summary-item {
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--cy-border);
}
.wc-block-components-order-summary-item:last-child { border-bottom: 0; }
.wc-block-components-order-summary-item__description {
    font-size: 14px;
    font-weight: 600;
    color: var(--cy-text);
}
.wc-block-components-order-summary-item__total-price {
    font-weight: 700;
    color: var(--cy-red);
}

/* Totals rows */
.wc-block-components-totals-item {
    padding: 10px 0 !important;
    font-size: 14px !important;
    color: var(--cy-text) !important;
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item.wc-block-components-totals-footer-item {
    border-top: 1px solid var(--cy-border);
    padding-top: 16px !important;
    margin-top: 8px;
    font-size: 16px !important;
    font-weight: 800 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount {
    color: var(--cy-red) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

/* Coupon panel */
.wc-block-components-totals-coupon,
.wc-block-components-panel {
    border: 1px solid var(--cy-border);
    border-radius: 10px;
    padding: 12px 16px !important;
    margin: 16px 0;
}
.wc-block-components-panel__button {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--cy-text) !important;
}

/* Place Order button */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 0 !important;
    width: 100% !important;
    cursor: pointer;
    transition: background .2s, transform .2s;
    margin-top: 16px;
}
.wc-block-components-checkout-place-order-button:hover {
    background: var(--cy-red-hover) !important;
    transform: translateY(-1px);
}

/* Return to cart link */
.wc-block-components-checkout-return-to-cart-button {
    color: var(--cy-text-soft) !important;
    font-size: 14px !important;
    text-decoration: none !important;
}
.wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--cy-red) !important;
}

/* Cart item thumbnails in summary */
.wc-block-components-order-summary-item__image img,
.wc-block-components-product-image img {
    border-radius: 10px;
    border: 1px solid var(--cy-border);
}

/* Quantity badge */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-product-badge {
    background: var(--cy-navy) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    width: 22px;
    height: 22px;
    line-height: 22px;
}

/* Notices/errors */
.wc-block-components-notice-banner {
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
}

/* Payment methods (blocks) — proper layout with icons */
.wc-block-components-payment-method-label {
    font-weight: 600 !important;
    color: var(--cy-text) !important;
}

.wc-block-components-radio-control {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control label.wc-block-components-radio-control__option {
    background: #fff !important;
    border: 2px solid var(--cy-border) !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    transition: border-color .2s, background .2s;
    position: relative;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 64px;
    cursor: pointer;
}
.wc-block-components-radio-control__option.is-selected,
.wc-block-components-radio-control__option--checked {
    border-color: var(--cy-red) !important;
    background: #fff7f8 !important;
}
.wc-block-components-radio-control__input,
.wc-block-components-radio-control input[type="radio"] {
    accent-color: var(--cy-red);
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    flex-shrink: 0;
    position: static !important;
}

/* Payment method label/content area */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__option > span:not(.wc-block-components-radio-control__label-group),
.wc-block-components-radio-control__option-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex: 1 !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cy-text) !important;
    min-width: 0;
}

/* Payment method images/logos — keep them right-aligned, proper size */
.wc-block-components-radio-control__option img,
.wc-block-components-payment-method-icons img,
.wc-block-components-radio-control img {
    max-height: 28px !important;
    max-width: 80px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    flex-shrink: 0;
    margin-left: auto;
}
.wc-block-components-payment-method-icons {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-shrink: 0;
}

/* Description text under payment method when selected */
.wc-block-components-radio-control__option-layout,
.wc-block-components-radio-control-accordion-option-content {
    font-size: 13px !important;
    color: var(--cy-text-soft) !important;
    padding-top: 8px;
}

/* Responsive blocks checkout */
@media (max-width: 900px) {
    .wc-block-checkout__sidebar,
    .wc-block-components-sidebar {
        position: static !important;
    }
    .wc-block-checkout__contact-information,
    .wc-block-checkout__billing-address,
    .wc-block-checkout__shipping-address,
    .wc-block-components-sidebar {
        padding: 20px !important;
    }
}

/* =========================================================
   WOOCOMMERCE BLOCKS CART (React-based)
   ========================================================= */
.wp-block-woocommerce-cart,
.wc-block-cart {
    max-width: 1200px !important;
    margin: 24px auto 60px !important;
    padding: 0 24px !important;
    font-family: var(--cy-font) !important;
}

.wc-block-cart__main,
.wc-block-cart__sidebar {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 24px !important;
}

.wc-block-cart-items,
table.wc-block-cart-items {
    width: 100% !important;
}

.wc-block-cart-items__header {
    background: transparent !important;
    border-bottom: 1px solid var(--cy-border) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--cy-text-soft) !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 12px 0 !important;
}

.wc-block-cart-item,
.wc-block-cart-items__row {
    border-bottom: 1px solid var(--cy-border) !important;
    padding: 16px 0 !important;
}

.wc-block-cart-item__image img {
    border-radius: 10px;
    border: 1px solid var(--cy-border);
}

.wc-block-cart-item__product-name,
.wc-block-components-product-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--cy-text) !important;
    text-decoration: none !important;
}
.wc-block-components-product-name:hover {
    color: var(--cy-red) !important;
}

.wc-block-components-product-price,
.wc-block-cart-item__total {
    color: var(--cy-red) !important;
    font-weight: 700 !important;
}

.wc-block-components-quantity-selector {
    border: 1px solid var(--cy-border) !important;
    border-radius: 999px !important;
    overflow: hidden;
}
.wc-block-components-quantity-selector button {
    background: transparent !important;
    color: var(--cy-text) !important;
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
}
.wc-block-components-quantity-selector button:hover {
    background: var(--cy-cream) !important;
    color: var(--cy-red) !important;
}

.wc-block-cart-item__remove-link,
.wc-block-cart__remove-link {
    color: var(--cy-red) !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

/* Proceed to checkout button (Blocks cart) */
.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart__submit-button {
    background: var(--cy-red) !important;
    color: #fff !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 0 !important;
    width: 100% !important;
    transition: background .2s;
}
.wc-block-cart__submit-container .wc-block-components-button:hover {
    background: var(--cy-red-hover) !important;
}
@media (max-width: 560px) {
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last {
        width: 100% !important;
        margin: 0 0 12px !important;
    }
    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    #order_review {
        padding: 20px !important;
    }
}

/* =========================================================
   HIVEPRESS SUBMIT LISTING — progress steps
   ========================================================= */
.hp-listing-submit__steps,
.hp-steps {
    display: flex;
    gap: 8px;
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
    justify-content: center;
}
.hp-steps__item,
.hp-listing-submit__step {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--cy-cream);
    color: var(--cy-text-soft);
    font-size: 13px;
    font-weight: 600;
}
.hp-steps__item.is-active,
.hp-listing-submit__step.is-active,
.hp-steps__item--active {
    background: var(--cy-red);
    color: #fff;
}
.hp-steps__item.is-done,
.hp-listing-submit__step.is-done {
    background: #16a34a;
    color: #fff;
}

/* Archive responsive */
@media (max-width: 1024px) {
    .emyk-arch { grid-template-columns: 220px 1fr; gap: 24px; }
    .emyk-arch__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .emyk-arch { grid-template-columns: 1fr; }
    .emyk-arch__filter-toggle { display: inline-flex; }
    .emyk-arch__sidebar {
        position: fixed;
        top: 0; left: 0;
        width: 300px;
        max-width: 85%;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
        border: 0;
        z-index: 200;
        transform: translateX(-100%);
        transition: transform .3s cubic-bezier(.23,1,.32,1);
        box-shadow: 8px 0 32px rgba(0,0,0,.1);
    }
    .emyk-arch.is-filter-open .emyk-arch__sidebar {
        transform: translateX(0);
    }
    .emyk-arch__sidebar-close { display: flex; align-items: center; justify-content: center; }
    .emyk-arch__sort { justify-content: flex-start; }
    .emyk-arch-header__row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
    .emyk-arch__grid { grid-template-columns: 1fr; }
}

/* =========================================================
   FOOTER — minimal dark
   ========================================================= */
.emyk-footer {
    background: var(--cy-navy);
    color: rgba(255,255,255,.55);
    font-family: var(--cy-font);
    margin-top: 0;
}
.emyk-footer__main { max-width: 1380px; margin: 0 auto; }
.emyk-footer__inner {
    padding: 48px 24px 36px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
}
.emyk-footer__logo {
    font-size: 18px;
    font-weight: 300;
    color: rgba(255,255,255,.9);
    margin-bottom: 12px;
}
.emyk-footer__logo strong { color: var(--cy-red); font-weight: 700; }
.emyk-footer__tagline {
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 14px;
    max-width: 300px;
}
.emyk-footer__address {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(255,255,255,.35);
    margin: 0;
}
.emyk-footer__address svg { color: var(--cy-red); flex-shrink: 0; }
.emyk-footer__title {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,.3);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 14px;
}
.emyk-footer__col ul {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.emyk-footer__col a {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    font-size: 13px;
    transition: color .15s;
}
.emyk-footer__col a:hover { color: var(--cy-red); }
.emyk-footer__social {
    display: flex;
    gap: 12px;
    margin-top: 14px;
}
.emyk-footer__social a {
    color: rgba(255,255,255,.3);
    transition: color .15s;
}
.emyk-footer__social a:hover { color: var(--cy-red); }
.emyk-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.08);
}
.emyk-footer__bottom-inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 22px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
/* Copyright tagline — serif italic for warmth, breaks the
   "everything-is-Inter" AI look of most generated sites */
.emyk-footer__bottom-inner p {
    margin: 0;
    font-family: Georgia, 'Palatino Linotype', 'Book Antiqua', Palatino, 'DejaVu Serif', serif;
    font-style: italic;
    font-size: 15px;
    font-weight: 400;
    color: rgba(255,255,255,.72);
    letter-spacing: .005em;
}
.emyk-footer__bottom-inner p::first-letter {
    font-weight: 600;
}
.emyk-footer__sister {
    display: flex;
    gap: 14px;
    font-size: 13px;
    font-weight: 500;
}
.emyk-footer__sister a {
    color: rgba(255,255,255,.55);
    text-decoration: none;
    position: relative;
    transition: color .15s;
}
.emyk-footer__sister a::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -3px;
    height: 1px;
    background: rgba(255,255,255,.15);
    transition: background .15s;
}
.emyk-footer__sister a:hover {
    color: #fff;
}
.emyk-footer__sister a:hover::after {
    background: var(--cy-red);
}

/* =========================================================
   EMPTY STATE
   ========================================================= */
.emyk-empty {
    text-align: center;
    padding: 48px 24px;
    background: var(--cy-cream);
    border-radius: var(--cy-radius);
}
.emyk-empty h4 { margin: 0 0 8px; color: var(--cy-text); font-size: 16px; }
.emyk-empty p { font-size: 13px; color: var(--cy-text-soft); margin: 0 0 16px; }
.emyk-empty__btn {
    display: inline-block;
    background: var(--cy-red);
    color: #fff;
    padding: 10px 24px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
}
.emyk-empty__btn:hover { background: var(--cy-red-hover); color: #fff; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
    .bento {
        grid-template-columns: repeat(6, 1fr);
    }
    .bento__tile--hero { grid-column: 1 / 7; grid-row: 1 / 2; }
    .bento__tile--cat-1 { grid-column: 1 / 4; grid-row: 2 / 3; }
    .bento__tile--cat-2 { grid-column: 4 / 7; grid-row: 2 / 3; }
    .bento__tile--cat-3 { grid-column: 1 / 4; grid-row: 3 / 3; }
    .bento__tile--cat-4 { grid-column: 4 / 7; grid-row: 3 / 3; }
    .bento__tile--stat-1 { grid-column: 1 / 4; grid-row: auto; }
    .bento__tile--stat-2 { grid-column: 4 / 7; grid-row: auto; }
    .bento__tile--free { grid-column: 1 / 4; grid-row: auto; }
    .bento__tile--listing-1 { grid-column: 1 / 4; grid-row: auto; }
    .bento__tile--listing-2 { grid-column: 4 / 7; grid-row: auto; }
    .bento__tile--listing-3 { grid-column: 1 / 4; grid-row: auto; }
    .bento__tile--listing-4 { grid-column: 4 / 7; grid-row: auto; }
    .bento__tile--cta { grid-column: 1 / 7; grid-row: auto; }
    .bento__tile--how { grid-column: 1 / 7; grid-row: auto; }
    .bento__tile--trust { grid-column: 1 / 7; grid-row: auto; }
    .bento__tile--viewall { grid-column: 1 / 7; grid-row: auto; }
}

@media (max-width: 900px) {
    .emyk-header__nav { display: none; }
    .emyk-header__account span,
    .emyk-header__cta span { display: none; }
    .emyk-header__burger { display: flex; }
    .emyk-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px; }
    .emyk-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    :root { --bento-gap: 6px; --cy-radius: 16px; }

    .bento { grid-template-columns: repeat(2, 1fr); padding: var(--bento-gap); }
    .bento__tile--hero { grid-column: 1 / 3; grid-row: auto; padding: 36px 24px; }
    .bento__hero-title { font-size: 32px; }
    .bento__search { max-width: 100%; }
    .bento__tile--cat-1,
    .bento__tile--cat-2,
    .bento__tile--cat-3,
    .bento__tile--cat-4 { grid-column: auto; grid-row: auto; min-height: 130px; }
    .bento__tile--stat-1,
    .bento__tile--stat-2,
    .bento__tile--free { grid-column: auto; grid-row: auto; }
    .bento__tile--listing-1,
    .bento__tile--listing-2,
    .bento__tile--listing-3,
    .bento__tile--listing-4 { grid-column: auto; grid-row: auto; }
    .bento__tile--cta { grid-column: 1 / 3; }
    .bento__tile--how { grid-column: 1 / 3; }
    .bento__how-steps { flex-direction: column; gap: 16px; }
    .bento__tile--trust { grid-column: 1 / 3; }
    .bento__tile--viewall { grid-column: 1 / 3; }
    .emyk-footer__inner { grid-template-columns: 1fr; gap: 24px; }
    .emyk-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   ACCOUNT PAGES — UNIFIED DASHBOARD LOOK (no left sidebars)
   Kills HivePress + WooCommerce left sidebars on all account-type
   pages. Users navigate via the dashboard nav cards + the header
   hover menu instead. Content renders full-width as a clean card.
   Placed at end of file so selectors win via source order.
   ========================================================= */

/* Hide HivePress user-account menu EVERYWHERE by default */
.hp-menu--user-account {
    display: none !important;
}

/* But restore it in our header (the hover menu beside the username).
   Children (li/a) keep their existing rules from the header section above. */
.emyk-header .hp-menu--user-account {
    display: flex !important;
}

/* Hide any HivePress sidebar aside on account/manage pages */
.hp-page__sidebar,
aside.hp-page__sidebar,
.hp-template--user-account .hp-page__sidebar,
.hp-template--listing-manage .hp-page__sidebar,
.hp-page--user-account .hp-page__sidebar,
.hp-page--user-account > aside,
.hp-template--user-account > aside {
    display: none !important;
}

/* Hide WooCommerce MyAccount sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation {
    display: none !important;
}

/* Force main content to full width on account/manage pages */
.hp-template--user-account,
.hp-template--listing-manage,
.hp-page--user-account,
.woocommerce-account .woocommerce {
    display: block !important;
    max-width: 1200px !important;
    margin: 32px auto 64px !important;
    padding: 0 24px !important;
}
.hp-template--user-account .hp-page__content,
.hp-template--listing-manage .hp-page__content,
.hp-page--user-account .hp-page__content,
.hp-page--user-account main,
.hp-template--user-account main,
.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    float: none !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid var(--cy-border) !important;
    border-radius: var(--cy-radius) !important;
    padding: 32px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

/* Page title inside account pages — make it feel like dashboard hero */
.hp-template--user-account .hp-page__title,
.hp-template--listing-manage .hp-page__title,
.hp-page--user-account .hp-page__title,
.woocommerce-account .woocommerce-MyAccount-content h1,
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child,
.woocommerce-account > h1 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
    margin: 0 0 20px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--cy-border) !important;
    letter-spacing: -.01em;
}

/* Woo "My account" big page title (outer, not inside content card) */
.woocommerce-account .entry-title,
.woocommerce-account .page-title {
    max-width: 1200px;
    margin: 32px auto 0 !important;
    padding: 0 24px !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--cy-charcoal) !important;
}

/* =========================================================
   ACCOUNT HERO — injected banner on /my-account/*, /account/settings/
   Matches the dashboard hero gradient so all logged-in pages feel unified.
   ========================================================= */
.emyk-account-hero {
    position: relative;
    max-width: 1200px;
    margin: 32px auto 24px;
    padding: 40px 40px 36px;
    border-radius: var(--cy-radius);
    background: linear-gradient(135deg, #1a0e14 0%, #3a0a14 55%, #c9062c 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(26,14,20,.12);
}
.emyk-account-hero::before {
    content: '';
    position: absolute;
    top: -60%;
    right: -20%;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(255,255,255,.08) 0%, transparent 60%);
    pointer-events: none;
}
.emyk-account-hero__inner {
    position: relative;
    z-index: 1;
}
.emyk-account-hero__back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: rgba(255,255,255,.75);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    transition: background .15s, color .15s;
}
.emyk-account-hero__back:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}
.emyk-account-hero__kicker {
    display: block;
    margin: 18px 0 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
}
.emyk-account-hero__title {
    margin: 0;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: #fff;
}
.emyk-account-hero__sub {
    margin: 10px 0 0;
    font-size: 15px;
    color: rgba(255,255,255,.85);
    max-width: 560px;
}

/* When hero is present, tighten the top margin of the content block below */
.emyk-account-hero + .hp-template--user-account,
.emyk-account-hero + .hp-template--listing-manage,
.emyk-account-hero + .hp-page--user-account,
.emyk-account-hero + .woocommerce {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    .emyk-account-hero { padding: 28px 22px 24px; margin: 20px 16px 16px; }
    .emyk-account-hero__title { font-size: 26px; }
}

/* =========================================================
   ACCOUNT TABS — persistent nav on dashboard + account pages
   - Account pages: sits right under the hero, overlapping (-16px margin-top)
   - Dashboard: sits below the stats cards, normal spacing (modifier class)
   ========================================================= */
.emyk-account-tabs {
    max-width: 1200px;
    margin: -16px auto 24px;
    padding: 0 24px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}
.emyk-account-tabs--dashboard {
    max-width: 1140px;
    margin: 24px auto 0;
}
.emyk-account-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--cy-border);
    color: var(--cy-text);
    font-family: var(--cy-font);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: border-color .2s, color .2s, background .2s, box-shadow .2s, transform .15s;
    line-height: 1;
}
.emyk-account-tab svg { flex-shrink: 0; }
.emyk-account-tab:hover {
    border-color: var(--cy-red);
    color: var(--cy-red);
    transform: translateY(-1px);
}
.emyk-account-tab.is-active {
    background: var(--cy-red);
    color: #fff !important;
    border-color: var(--cy-red);
    box-shadow: 0 4px 14px rgba(201,6,44,.28);
}
.emyk-account-tab.is-active:hover {
    color: #fff !important;
    background: var(--cy-red-hover, #a30524);
}
.emyk-account-tab em {
    display: inline-block;
    background: rgba(201,6,44,.12);
    color: var(--cy-red);
    font-style: normal;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 999px;
    margin-left: 4px;
    vertical-align: 1px;
}
.emyk-account-tab.is-active em {
    background: rgba(255,255,255,.22);
    color: #fff;
}
.emyk-account-tab--primary:not(.is-active) {
    background: var(--cy-charcoal, #1a1a1a);
    color: #fff !important;
    border-color: var(--cy-charcoal, #1a1a1a);
}
.emyk-account-tab--primary:not(.is-active):hover {
    background: var(--cy-red);
    border-color: var(--cy-red);
    color: #fff !important;
}

.emyk-account-tab--logout {
    margin-left: auto;
    color: var(--cy-text-soft);
}
.emyk-account-tab--logout:hover {
    border-color: var(--cy-text-soft);
    color: var(--cy-charcoal);
    background: #fff;
    transform: none;
}

@media (max-width: 640px) {
    .emyk-account-tabs { padding: 0 16px; margin: -12px auto 20px; gap: 6px; }
    .emyk-account-tabs--dashboard { margin: 20px auto 0; }
    .emyk-account-tab { padding: 9px 14px; font-size: 13px; }
    .emyk-account-tab--logout { margin-left: 0; }
}

/* =========================================================
   ORDERS PAGE (WooCommerce native pages that may still be hit)
   ========================================================= */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
    font-size: 15px !important;
}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account table.shop_table th {
    font-size: 12px !important;
    padding: 14px 16px !important;
}
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account table.shop_table td {
    padding: 18px 16px !important;
    font-size: 15px !important;
    line-height: 1.5;
}
.woocommerce-account .woocommerce-orders-table a,
.woocommerce-account table.shop_table a {
    font-weight: 600;
    font-size: 15px;
}
.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account table.shop_table .button {
    font-size: 14px !important;
    padding: 10px 22px !important;
}
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content label {
    font-size: 15px;
    line-height: 1.55;
}

/* =========================================================
   DASHBOARD — ORDERS TAB TABLE
   ========================================================= */
.emyk-dash-orders {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
    overflow-x: auto;
}
.emyk-dash-orders__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    overflow: hidden;
    font-size: 15px;
}
.emyk-dash-orders__table th {
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--cy-text-soft);
    padding: 14px 18px;
    background: var(--cy-cream);
    border-bottom: 1px solid var(--cy-border);
}
.emyk-dash-orders__table td {
    padding: 16px 18px;
    border-bottom: 1px solid var(--cy-border);
    color: var(--cy-text);
    vertical-align: middle;
}
.emyk-dash-orders__table tr:last-child td { border-bottom: 0; }
.emyk-dash-orders__table tr:hover td { background: #fafafa; }
.emyk-dash-order-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}
.emyk-dash-order-status.is-completed   { background: #dcfce7; color: #15803d; }
.emyk-dash-order-status.is-processing  { background: #dbeafe; color: #1d4ed8; }
.emyk-dash-order-status.is-pending     { background: #fef3c7; color: #b45309; }
.emyk-dash-order-status.is-hold        { background: #fef3c7; color: #b45309; }
.emyk-dash-order-status.is-cancelled,
.emyk-dash-order-status.is-failed      { background: #fee2e2; color: #b91c1c; }
.emyk-dash-order-status.is-refunded    { background: #e5e7eb; color: #374151; }

@media (max-width: 640px) {
    .emyk-dash-orders { padding: 0 16px; }
    .emyk-dash-orders__table { font-size: 14px; }
    .emyk-dash-orders__table th,
    .emyk-dash-orders__table td { padding: 12px 10px; }
}

/* =========================================================
   DASHBOARD — SETTINGS FORM
   ========================================================= */
.emyk-dash-form {
    max-width: 760px;
    margin: 0 auto;
    padding: 32px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    font-family: var(--cy-font);
}
.emyk-dash-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.emyk-dash-form__field {
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.emyk-dash-form__field label {
    font-size: 13px;
    font-weight: 600;
    color: var(--cy-charcoal);
}
.emyk-dash-form__field input[type="text"],
.emyk-dash-form__field input[type="email"],
.emyk-dash-form__field input[type="password"] {
    width: 100%;
    padding: 12px 14px;
    font-size: 15px;
    font-family: var(--cy-font);
    border: 1px solid var(--cy-border);
    border-radius: 10px;
    background: #fff;
    color: var(--cy-text);
    transition: border-color .15s, box-shadow .15s;
}
.emyk-dash-form__field input:focus {
    outline: none;
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.1);
}
.emyk-dash-form__field small {
    font-size: 12px;
    color: var(--cy-text-soft);
}
.emyk-dash-form__fieldset {
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 20px 22px 8px;
    margin: 8px 0 24px;
}
.emyk-dash-form__fieldset legend {
    font-size: 13px;
    font-weight: 700;
    color: var(--cy-charcoal);
    padding: 0 8px;
}
.emyk-dash-form__hint {
    font-size: 13px;
    color: var(--cy-text-soft);
    margin: 0 0 12px;
}
.emyk-dash-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 8px;
}
.emyk-dash-btn--primary {
    background: var(--cy-red);
    color: #fff;
    border: 0;
    padding: 12px 28px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .15s;
}
.emyk-dash-btn--primary:hover {
    background: var(--cy-red-hover, #a30524);
    transform: translateY(-1px);
}

/* Notices */
.emyk-dash-notice {
    max-width: 760px;
    margin: 0 auto 16px;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid transparent;
}
.emyk-dash-notice--success {
    background: #dcfce7;
    border-color: #86efac;
    color: #15803d;
}
.emyk-dash-notice--error {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #b91c1c;
}

@media (max-width: 640px) {
    .emyk-dash-form { padding: 22px 18px; }
    .emyk-dash-form__row { grid-template-columns: 1fr; }
}

/* =========================================================
   DANGER ZONE — delete account
   ========================================================= */
.emyk-dash-danger {
    max-width: 760px;
    margin: 28px auto 0;
    padding: 28px 32px;
    background: #fff;
    border: 1px solid #fecaca;
    border-radius: var(--cy-radius);
    font-family: var(--cy-font);
}
.emyk-dash-danger__head h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 800;
    color: #b91c1c;
    letter-spacing: -.01em;
}
.emyk-dash-danger__head p {
    margin: 0 0 18px;
    font-size: 13px;
    color: var(--cy-text-soft);
    line-height: 1.5;
}
.emyk-dash-danger__form .emyk-dash-form__field {
    max-width: 360px;
    margin-bottom: 16px;
}
.emyk-dash-btn--danger {
    background: #fff;
    color: #b91c1c;
    border: 1px solid #fca5a5;
    padding: 10px 22px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}
.emyk-dash-btn--danger:hover {
    background: #b91c1c;
    color: #fff;
    border-color: #b91c1c;
}

@media (max-width: 640px) {
    .emyk-dash-danger { padding: 22px 18px; }
}

/* =========================================================
   COOKIE CONSENT BANNER (full-width bottom bar)
   ========================================================= */
.emyk-cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background: #fff;
    border-top: 1px solid var(--cy-border);
    box-shadow: 0 -8px 32px rgba(26,26,46,.12);
    font-family: var(--cy-font);
    animation: emyk-cookie-slide .4s ease-out;
}
@keyframes emyk-cookie-slide {
    from { transform: translateY(30px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}
.emyk-cookie-banner[hidden] { display: none !important; }
.emyk-cookie-banner__inner {
    display: flex;
    gap: 24px;
    align-items: center;
    padding: 18px 40px;
    flex-wrap: wrap;
    max-width: 1380px;
    margin: 0 auto;
}
.emyk-cookie-banner__text {
    flex: 1 1 300px;
    min-width: 0;
}
.emyk-cookie-banner__text strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin-bottom: 4px;
    letter-spacing: -.01em;
}
.emyk-cookie-banner__text p {
    margin: 0;
    font-size: 13px;
    color: var(--cy-text-soft);
    line-height: 1.55;
}
.emyk-cookie-banner__text a {
    color: var(--cy-red);
    font-weight: 600;
    text-decoration: underline;
}
.emyk-cookie-banner__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.emyk-cookie-banner__btn {
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}
.emyk-cookie-banner__btn--primary {
    background: var(--cy-red);
    color: #fff;
    border-color: var(--cy-red);
}
.emyk-cookie-banner__btn--primary:hover {
    background: var(--cy-red-hover, #a30524);
    border-color: var(--cy-red-hover, #a30524);
}
.emyk-cookie-banner__btn--ghost {
    background: #fff !important;
    color: var(--cy-charcoal) !important;
    border-color: var(--cy-border) !important;
}
.emyk-cookie-banner__btn--ghost:hover,
.emyk-cookie-banner__btn--ghost:focus {
    background: var(--cy-cream) !important;
    color: var(--cy-charcoal) !important;
    border-color: var(--cy-charcoal) !important;
}

.emyk-cookie-settings-link {
    display: inline-block;
    margin-left: 18px;
    color: rgba(255,255,255,.5);
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: rgba(255,255,255,.2);
    cursor: pointer;
    transition: color .15s;
}
.emyk-cookie-settings-link:hover {
    color: #fff;
    text-decoration-color: var(--cy-red);
}

@media (max-width: 640px) {
    .emyk-cookie-banner__inner { padding: 16px 18px; gap: 14px; }
    .emyk-cookie-banner__actions { width: 100%; }
    .emyk-cookie-banner__btn { flex: 1; text-align: center; }
}

/* =========================================================
   TERMS OF SERVICE — Όροι Χρήσης
   Two-column layout with sticky TOC sidebar + long-form content.
   ========================================================= */
.emyk-terms {
    max-width: 1140px;
    margin: 40px auto 80px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    font-family: var(--cy-font);
}
.emyk-terms__toc {
    position: sticky;
    top: 24px;
    align-self: start;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 20px 22px;
    font-size: 13px;
}
.emyk-terms__toc strong {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--cy-text-soft);
    margin-bottom: 12px;
}
.emyk-terms__toc ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: toc;
}
.emyk-terms__toc li {
    counter-increment: toc;
    margin: 0;
}
.emyk-terms__toc a {
    display: block;
    padding: 7px 0 7px 28px;
    color: var(--cy-text);
    text-decoration: none;
    font-weight: 500;
    line-height: 1.4;
    position: relative;
    border-left: 2px solid transparent;
    transition: color .15s, border-color .15s;
}
.emyk-terms__toc a::before {
    content: counter(toc, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 7px;
    font-size: 11px;
    font-weight: 700;
    color: var(--cy-text-soft);
    letter-spacing: .05em;
}
.emyk-terms__toc a:hover {
    color: var(--cy-red);
}
.emyk-terms__toc a:hover::before {
    color: var(--cy-red);
}

.emyk-terms__content {
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    padding: 42px 48px;
}
.emyk-terms__block {
    margin: 0 0 40px;
    scroll-margin-top: 24px;
}
.emyk-terms__block:last-child { margin-bottom: 0; }
.emyk-terms__block h2 {
    font-size: 22px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--cy-border);
    letter-spacing: -.01em;
}
.emyk-terms__block p,
.emyk-terms__block li {
    font-size: 15px;
    line-height: 1.65;
    color: var(--cy-text);
}
.emyk-terms__block p {
    margin: 0 0 14px;
}
.emyk-terms__block ul {
    padding-left: 22px;
    margin: 0 0 14px;
}
.emyk-terms__block ul li {
    margin-bottom: 8px;
}
.emyk-terms__block ul li::marker {
    color: var(--cy-red);
}
.emyk-terms__block a {
    color: var(--cy-red);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(201,6,44,.3);
}
.emyk-terms__block a:hover {
    text-decoration-color: var(--cy-red);
}
.emyk-terms__block strong {
    font-weight: 700;
    color: var(--cy-charcoal);
}

@media (max-width: 900px) {
    .emyk-terms { grid-template-columns: 1fr; gap: 24px; }
    .emyk-terms__toc { position: static; }
    .emyk-terms__content { padding: 28px 24px; }
    .emyk-terms__block h2 { font-size: 19px; }
}

/* =========================================================
   404 PAGE — branded "not found" with search + shortcuts
   ========================================================= */
.emyk-404 {
    max-width: 760px;
    margin: 60px auto 80px;
    padding: 60px 40px;
    background: linear-gradient(135deg, #fff 0%, var(--cy-cream) 100%);
    border: 1px solid var(--cy-border);
    border-radius: var(--cy-radius);
    text-align: center;
    font-family: var(--cy-font);
    box-shadow: 0 8px 24px rgba(26,26,46,.06);
}
.emyk-404__code {
    display: inline-block;
    font-size: 80px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.04em;
    background: linear-gradient(135deg, var(--cy-red) 0%, var(--cy-charcoal) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 14px;
}
.emyk-404__title {
    font-size: 28px;
    font-weight: 800;
    color: var(--cy-charcoal);
    margin: 0 0 10px;
    letter-spacing: -.02em;
}
.emyk-404__sub {
    font-size: 15px;
    color: var(--cy-text-soft);
    line-height: 1.55;
    margin: 0 auto 28px;
    max-width: 520px;
}
.emyk-404__search {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 480px;
    margin: 0 auto 24px;
    background: #fff;
    border: 1px solid var(--cy-border);
    border-radius: 999px;
    padding: 6px 6px 6px 20px;
    transition: border-color .2s, box-shadow .2s;
}
.emyk-404__search:focus-within {
    border-color: var(--cy-red);
    box-shadow: 0 0 0 3px rgba(201,6,44,.12);
}
.emyk-404__search svg { color: var(--cy-text-soft); flex-shrink: 0; }
.emyk-404__search input {
    flex: 1;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    color: var(--cy-text);
    outline: none;
    padding: 10px 4px;
}
.emyk-404__search button {
    background: var(--cy-red);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s;
}
.emyk-404__search button:hover { background: var(--cy-red-hover, #a30524); }
.emyk-404__actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.emyk-404__btn {
    padding: 10px 20px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--cy-border);
    color: var(--cy-text);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: border-color .2s, color .2s, transform .15s;
}
.emyk-404__btn:hover {
    border-color: var(--cy-red);
    color: var(--cy-red);
    transform: translateY(-1px);
}
.emyk-404__btn--primary {
    background: var(--cy-red);
    color: #fff;
    border-color: var(--cy-red);
}
.emyk-404__btn--primary:hover {
    background: var(--cy-red-hover, #a30524);
    color: #fff;
}
.emyk-404__cats-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--cy-text-soft);
    margin-bottom: 10px;
}
.emyk-404__cats-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}
.emyk-404__cat-pill {
    padding: 8px 16px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--cy-border);
    color: var(--cy-text);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.emyk-404__cat-pill:hover {
    background: var(--cy-charcoal);
    color: #fff;
    border-color: var(--cy-charcoal);
}

@media (max-width: 640px) {
    .emyk-404 { padding: 40px 22px; margin: 30px 12px 50px; }
    .emyk-404__code { font-size: 60px; }
    .emyk-404__title { font-size: 22px; }
    .emyk-404__search { flex-direction: column; background: transparent; border: 0; padding: 0; gap: 10px; }
    .emyk-404__search input { width: 100%; background: #fff; border: 1px solid var(--cy-border); border-radius: 999px; padding: 12px 18px; }
    .emyk-404__search button { width: 100%; padding: 12px 20px; }
    .emyk-404__search svg { display: none; }
}

/* Hide HivePress's native Sign In / Register menu items — we use our own "Σύνδεση" button */
.hp-menu__item--user-login-link,
.hp-menu__item--user-register-link,
li.hp-menu__item--user-login-link,
li.hp-menu__item--user-register-link,
.menu-item.hp-menu__item--user-login-link,
.menu-item.hp-menu__item--user-register-link,
a:has(> .fa-sign-in-alt),
a:has(> .hp-icon.fa-sign-in-alt),
li:has(> a > .fa-sign-in-alt),
button:has(> .fa-sign-in-alt) {
    display: none !important;
}

/* ==========================================================
 * Auth page (page-register.php template — Σύνδεση / Εγγραφή)
 * ========================================================== */
.emyk-auth-section {
    padding-top: 32px;
    padding-bottom: 56px;
}
.emyk-auth-wrap {
    max-width: 520px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 10px 40px rgba(15, 23, 42, .06);
    overflow: hidden;
}

/* Tabs */
.emyk-auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
}
.emyk-auth-tab {
    background: transparent;
    border: 0;
    padding: 18px 16px;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    position: relative;
    transition: color .15s, background .15s;
    font-family: inherit;
}
.emyk-auth-tab:hover { color: #0f172a; }
.emyk-auth-tab.is-active {
    color: #002244;
    background: #fff;
}
.emyk-auth-tab.is-active::after {
    content: '';
    position: absolute;
    left: 20%;
    right: 20%;
    bottom: -1px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(90deg, #002244 0%, #c8102e 100%);
}

/* Panels */
.emyk-auth-panel {
    display: none;
    padding: 32px 32px 28px;
}
.emyk-auth-panel.is-active { display: block; }
.emyk-auth-panel .emyk-dash-notice { margin-bottom: 18px; }

/* Form styling (shared by both login + register) */
.emyk-auth-form .emyk-dash-form__field { margin-bottom: 16px; }
.emyk-auth-form .emyk-dash-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}
.emyk-auth-form .emyk-dash-form__field > label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: #0f172a;
    margin-bottom: 6px;
}
.emyk-auth-form .emyk-dash-form__field > input[type="text"],
.emyk-auth-form .emyk-dash-form__field > input[type="email"],
.emyk-auth-form .emyk-dash-form__field > input[type="password"] {
    width: 100%;
    border: 1.5px solid #e5e7eb;
    background: #fff;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    transition: border-color .15s, box-shadow .15s;
}
.emyk-auth-form .emyk-dash-form__field > input:focus {
    outline: none;
    border-color: #002244;
    box-shadow: 0 0 0 3px rgba(0, 34, 68, .12);
}
.emyk-auth-form .emyk-dash-form__field > small {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #64748b;
}

/* Login row (remember + forgot) */
.emyk-auth-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 4px 0 18px;
    font-size: 13px;
}
.emyk-auth-remember {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #334155;
    font-weight: 500;
    cursor: pointer;
}
.emyk-auth-remember input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #c8102e;
}
.emyk-auth-forgot {
    color: #c8102e;
    font-weight: 600;
    text-decoration: none;
}
.emyk-auth-forgot:hover { text-decoration: underline; }

/* Terms checkbox (register) */
.emyk-register-terms { margin: 8px 0 20px; }
.emyk-register-terms > label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-weight: 500;
    font-size: 13.5px;
    color: #334155;
    cursor: pointer;
    line-height: 1.45;
}
.emyk-register-terms input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #c8102e;
}
.emyk-register-terms a {
    color: #c8102e;
    font-weight: 600;
    text-decoration: underline;
}

/* reCAPTCHA widget spacing */
.emyk-recaptcha {
    margin: 8px 0 16px;
    display: flex;
    justify-content: center;
}

/* Submit button */
.emyk-auth-submit {
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 700;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #002244 0%, #c8102e 100%);
    color: #fff;
    cursor: pointer;
    transition: transform .1s, box-shadow .2s;
    box-shadow: 0 6px 20px rgba(200, 16, 46, .2);
    font-family: inherit;
}
.emyk-auth-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(200, 16, 46, .28);
}

/* "Switch tab" link under form */
.emyk-auth-switch {
    text-align: center;
    margin: 18px 0 0;
    font-size: 14px;
    color: #64748b;
}
.emyk-auth-switch a {
    color: #c8102e;
    font-weight: 700;
    text-decoration: none;
}
.emyk-auth-switch a:hover { text-decoration: underline; }

@media (max-width: 540px) {
    .emyk-auth-wrap { border-radius: 16px; }
    .emyk-auth-panel { padding: 24px 20px; }
    .emyk-auth-form .emyk-dash-form__row { grid-template-columns: 1fr; }
}

/* ==========================================================
 * Lost Pet emphasis section (page-home.php)
 * Urgent, warm CTA below the bento grid.
 * ========================================================== */
.emyk-lostpet {
    margin: 40px auto 56px;
    max-width: 1200px;
    padding: 0 20px;
}
.emyk-lostpet__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 28px;
    align-items: center;
    background: linear-gradient(135deg, #fb923c 0%, #dc2626 100%);
    color: #fff;
    border-radius: 24px;
    padding: 36px 40px;
    box-shadow: 0 20px 60px rgba(220, 38, 38, .25);
    position: relative;
    overflow: hidden;
}
.emyk-lostpet__inner::before {
    content: '';
    position: absolute;
    right: -80px;
    top: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    pointer-events: none;
}
.emyk-lostpet__inner::after {
    content: '';
    position: absolute;
    left: -60px;
    bottom: -60px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    pointer-events: none;
}
.emyk-lostpet__icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.emyk-lostpet__content {
    position: relative;
    z-index: 1;
}
.emyk-lostpet__badge {
    display: inline-block;
    background: rgba(0, 0, 0, .2);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 10px;
}
.emyk-lostpet__title {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 8px;
    color: #fff;
}
.emyk-lostpet__sub {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255, 255, 255, .92);
    margin: 0;
    max-width: 560px;
}
.emyk-lostpet__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.emyk-lostpet__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .1s, box-shadow .2s, background .15s;
    white-space: nowrap;
}
.emyk-lostpet__btn--primary {
    background: #fff;
    color: #dc2626;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .15);
}
.emyk-lostpet__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    color: #991b1b;
}
.emyk-lostpet__btn--ghost {
    background: rgba(255, 255, 255, .12);
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .4);
}
.emyk-lostpet__btn--ghost:hover {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}

@media (max-width: 820px) {
    .emyk-lostpet__inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 28px 24px;
        gap: 18px;
    }
    .emyk-lostpet__icon {
        margin: 0 auto;
        width: 64px;
        height: 64px;
    }
    .emyk-lostpet__icon svg { width: 36px; height: 36px; }
    .emyk-lostpet__title { font-size: 22px; }
    .emyk-lostpet__sub { font-size: 14px; }
    .emyk-lostpet__actions { flex-direction: column; align-items: stretch; }
    .emyk-lostpet__btn { width: 100%; }
}

/* ==========================================================
 * Bump product UX (functions.php bump logic)
 * ========================================================== */
.emyk-bump-warn {
    background: #fef2f2;
    border: 1.5px solid #fecaca;
    color: #991b1b;
    padding: 18px 22px;
    border-radius: 14px;
    margin: 16px 0 24px;
    font-size: 14px;
    line-height: 1.55;
}
.emyk-bump-warn strong {
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
    color: #7f1d1d;
}
.emyk-bump-warn .emyk-bump-cta {
    display: inline-block;
    margin-top: 12px;
    padding: 10px 20px;
    background: #c8102e;
    color: #fff;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    font-size: 13px;
}
.emyk-bump-warn .emyk-bump-cta:hover {
    background: #a40d24;
    color: #fff;
}
.emyk-bump-badge {
    display: inline-block;
    background: #fef3c7;
    color: #854d0e;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    margin: 6px 0 8px;
    letter-spacing: .2px;
}
