/* ==========================================================================
   Έπιπλο Νικολάου — "The Dodecanese House" on Woodmart
   Lime-plaster ground · walnut type · one indigo door.
   1. tokens + type   2. custom blocks (mockup markup, ported 1:1)   3. Woodmart overrides   4. responsive
   ========================================================================== */

/* -------- 1. Tokens -------- */
:root {
  --plaster: #F3F3F0; --plaster-2: #E8E8E3; --plaster-3: #DCDCD5; --line: #D3D3CB; --sun: #FBFBF9;
  --walnut: #2B2521; --walnut-2: #3E3732; --walnut-3: #6E655C;
  --indigo: #1F3A6E; --indigo-2: #172D57; --on-indigo: #F3F3F0;
  --container: 1400px; --gutter: clamp(20px, 3vw, 44px); --radius: 0px; --h2-row: 48px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}
body.epn, .epn .website-wrapper, .epn .wd-page-wrapper, .epn .main-page-wrapper, .epn .wd-page-content { background: var(--plaster); color: var(--walnut-2); font-size: 17px; line-height: 1.55; -webkit-font-smoothing: antialiased; accent-color: var(--indigo); caret-color: var(--indigo); }
body.epn ::selection { background: var(--indigo); color: var(--on-indigo); }
body.epn :focus-visible { outline: 2px solid var(--indigo); outline-offset: 3px; }
.epn h1, .epn h2, .epn h3, .epn h4 { color: var(--walnut); font-weight: 500; letter-spacing: -0.02em; text-wrap: balance; }
.epn .num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.epn .icon { width: 22px; height: 22px; fill: currentColor; flex: none; }
.epn .icon-sm { width: 18px; height: 18px; }
.epn .icon-xs { width: 14px; height: 14px; }
.epn .container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.epn .display { font-size: clamp(2.5rem, 5.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.03em; font-weight: 500; margin: 0; }
.epn .h2 { font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1.1; margin: 0; }
.epn .lead { font-size: 1.125rem; line-height: 1.5; max-width: 32ch; margin: 0; }
.epn .muted { color: var(--walnut-3); }
.epn .title { font-size: 1.25rem; line-height: 1.25; margin: 0 0 16px; }

/* Buttons (mockup .btn; Woodmart's .btn is restyled in section 3 to the same spec) */
.epn .btn, .epn .btn:not(.wd-hover-none) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; background: var(--indigo); color: var(--on-indigo); font-weight: 500; font-size: 1rem; letter-spacing: .005em; white-space: nowrap; border: 1px solid var(--indigo); border-radius: 0; text-transform: none; box-shadow: none; transition: background .2s var(--ease), transform .12s var(--ease), border-color .2s; }
.epn .btn:hover { background: var(--indigo-2); border-color: var(--indigo-2); color: var(--on-indigo); }
.epn .btn:active { transform: translateY(1px); }
.epn .btn.btn-ghost { background: transparent; color: var(--walnut); border-color: var(--walnut); }
.epn .btn.btn-ghost:hover, .epn .btn.btn-ghost:hover { background: var(--walnut); color: var(--plaster); border-color: var(--walnut); }
.epn .btn-block { width: 100%; }
.epn .link-arrow { display: inline-flex; align-items: center; gap: 8px; color: var(--walnut); font-weight: 500; }
.epn .link-arrow .icon { transition: transform .25s var(--ease); }
.epn .link-arrow:hover .icon { transform: translateX(4px); }
.epn .link-arrow:hover { color: var(--indigo); }
.epn .tool { display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--walnut); background: none; border: 0; padding: 0; cursor: pointer; }
.epn .tool:hover { background: var(--plaster-2); }

/* -------- 2. Custom blocks -------- */

/* Hero */
.epn .hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 5fr 7fr; min-height: min(78vh, 720px); }
.epn .hero-media { position: absolute; inset: 0; z-index: 0; }
.epn .hero-media .photo { position: absolute; right: 0; top: 50%; width: calc(100% * 7 / 12); aspect-ratio: 3 / 2; transform: translateY(-50%); transform-origin: right center; will-change: transform; }
.epn .hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.epn .hero-copy { position: relative; z-index: 1; grid-column: 1; display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: clamp(40px, 6vw, 88px) var(--gutter) clamp(40px, 6vw, 88px) max(var(--gutter), calc((100vw - var(--sbw, 0px) - var(--container)) / 2 + var(--gutter))); }
.epn .hero-copy .lead { max-width: 42ch; color: var(--walnut-2); text-wrap: pretty; }
.epn .hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.has-js .epn .hero:not(.is-ready) .photo { transform: translateY(-50%) scale(1.7143); }
.has-js .epn .hero:not(.is-ready) .hero-copy > * { opacity: 0; }

/* Sections */
.epn .section { padding-block: clamp(56px, 7vw, 104px); }
.epn .wpb_wrapper > .section > .container { padding-inline: 0; max-width: none; } /* inside a WPBakery column the page container already sets the gutter */
.epn .section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 3vw, 44px); }
.epn .section-head p { margin: 8px 0 0; max-width: 52ch; color: var(--walnut-3); }
.epn .band { background: var(--plaster-2); }

/* Rooms bento */
.epn .rooms { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 210px; gap: 12px; }
.epn .room { position: relative; display: block; background: var(--plaster-2); overflow: hidden; }
.epn .room img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center 40%; padding: 6% 8% 20%; mix-blend-mode: multiply; transform: scale(var(--zoom, 1)); transform-origin: center 38%; transition: transform .6s var(--ease); }
.epn .r-7-2 img, .epn .r-5-2 img { padding: 2% 3% 18%; --zoom: 1.18; transform-origin: center 46%; }
.epn .r-4 img { --zoom: 1.08; }
.epn .room:hover img { transform: scale(calc(var(--zoom, 1) * 1.03)); }
.epn .room-label { position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--walnut); font-weight: 500; font-size: 1.0625rem; }
.epn .room-label .icon { opacity: 0; transform: translateX(-6px); transition: .25s var(--ease); }
.epn .room:hover .room-label .icon { opacity: 1; transform: none; }
.epn .r-7-2 { grid-column: span 7; grid-row: span 2; }
.epn .r-5-2 { grid-column: span 5; grid-row: span 2; }
.epn .r-4 { grid-column: span 4; }
.epn .r-3 { grid-column: span 3; }

/* Shop index (/shop) */
.epn .shop-index { padding-top: clamp(28px, 3vw, 44px); }
.epn .shop-index-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.epn .shop-index-copy .lead { margin: 14px 0 0; color: var(--walnut-2); max-width: 36ch; }
.epn .room-list { list-style: none; margin: clamp(28px, 3vw, 44px) 0 0; padding: 0; border-top: 1px solid var(--line); }
.epn .room-list li { border-bottom: 1px solid var(--line); margin: 0; padding: 0; list-style: none; }
.epn .room-row { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px 0; color: var(--walnut); }
.epn .room-row > span:nth-child(2) { min-width: 0; }
.epn .room-row-index { font-size: .8125rem; color: var(--walnut-3); font-variant-numeric: tabular-nums; }
.epn .room-row-name { display: block; font-size: 1.375rem; font-weight: 500; line-height: 1.2; letter-spacing: -0.01em; transition: color .15s var(--ease); }
.epn .room-row-subs { display: block; margin-top: 4px; font-size: .8125rem; color: var(--walnut-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.epn .room-row .icon { color: var(--walnut); opacity: 0; transform: translateX(-8px); transition: .25s var(--ease); }
.epn .room-row-thumb { display: none; }
.epn .room-row.is-active .room-row-name, .epn .room-row:hover .room-row-name { color: var(--indigo); }
.epn .room-row.is-active .icon, .epn .room-row:hover .icon { opacity: 1; transform: none; }
.epn .wall { position: sticky; top: calc(var(--h2-row) + 24px); }
.epn .wall-stage { position: relative; aspect-ratio: 4 / 3; background: var(--plaster-2); border: 1px solid var(--line); overflow: hidden; }
.epn .wall-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center 52%; padding: 7% 9% 10%; mix-blend-mode: multiply; opacity: 0; }
.epn .wall-img.is-current { opacity: 1; }
.epn .wall-cap { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: 1.0625rem; font-weight: 500; color: var(--walnut); }
.epn .wall-cap .muted { font-size: .8125rem; font-weight: 400; font-variant-numeric: tabular-nums; }

/* Showroom band */
.epn .showroom { display: grid; grid-template-columns: 6fr 6fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.epn .showroom-media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--plaster-3); }
.epn .showroom-media img { width: 100%; height: 100%; object-fit: cover; }
.epn .showroom-copy { display: grid; gap: 22px; }
.epn .showroom-copy .h2 { max-width: 16ch; }
.epn .showroom-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 1rem; }
.epn .showroom-facts strong { display: block; color: var(--walnut); font-weight: 500; }

/* Professional section */
.epn .pro { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(40px, 5vw, 64px) clamp(32px, 5vw, 80px); align-items: start; }
.epn .pro::before { content: ""; grid-column: 1 / -1; height: 1px; background: var(--line); }
.epn .pro-copy { display: grid; gap: 22px; }
.epn .pro-copy .h2 { max-width: 14ch; }
.epn .pro-copy .lead { max-width: 36ch; }

/* Services */
.epn .services { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.epn .service { display: flex; gap: 16px; align-items: flex-start; padding: 28px 24px 28px 0; }
.epn .service + .service { padding-left: 24px; border-left: 1px solid var(--line); }
.epn .service .icon { color: var(--walnut); margin-top: 2px; width: 26px; height: 26px; }
.epn .service strong { display: block; font-weight: 500; color: var(--walnut); }
.epn .service span { color: var(--walnut-3); font-size: 1rem; }
.epn .service a { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; }

/* Category head + chips */
.epn .cat-head { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin: 8px 0 20px; }
.epn .cat-head .muted { font-size: 1rem; }
.epn .chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.epn .chip { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 1px solid var(--line); color: var(--walnut); font-size: 1rem; transition: .15s; }
.epn .chip:hover { border-color: var(--walnut); }
.epn .chip.is-active { border-color: var(--indigo); color: var(--indigo); font-weight: 500; }

/* Card ticket (under the title, above the price) */
.epn .card-ticket { font-size: .8125rem; color: var(--walnut-3); display: flex; gap: 10px; white-space: nowrap; min-width: 0; margin: 4px 0 2px; line-height: 1.55; }
.epn .card-ticket span:first-child:not(.num) { overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; min-width: 0; }
.epn .card-ticket .num, .epn .card-ticket .pack, .epn .card-ticket .avail { flex: none; white-space: nowrap; }
.epn .card-ticket .avail { color: var(--walnut); }
.epn .card-ticket .avail-ok { color: var(--walnut-3); }
.epn .card-ticket span + span::before { content: ""; display: inline-block; width: 1px; height: .8em; background: var(--line); margin-right: 10px; vertical-align: -1px; }

/* Product page pieces */
.epn .price-row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.epn .price-row .wd-single-price { margin: 0; }
.epn .epn-summary .wpb_wrapper { display: grid; } /* like the mockup .summary: margins between blocks do not collapse */
.epn .epn-summary .wpb_wrapper > .wd-wpb { margin-bottom: 0; } /* Woodmart elements only: the design blocks (.stock, .dims, .attrs) keep their own rhythm */
.epn .epn-gallery > .vc_column-inner { padding-right: clamp(15px, 3vw, 45px); }
.epn .epn-summary > .vc_column-inner { padding-left: clamp(15px, 2vw, 30px); } /* together ~75px between gallery and summary at 1440, summary ~515px wide (design: 72px, 523px) */
.epn .epn-pdp-head .wd-el-breadcrumbs { margin-bottom: 0; }
.epn .epn-pdp > .vc_column_container > .vc_column-inner { padding-top: 24px; }
.epn .price-row .vat { font-size: .8125rem; color: var(--walnut-3); }
.epn .price-row .sku { color: var(--walnut-2); }
.epn .copy-sku { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -8px 0 -8px 2px; vertical-align: middle; color: var(--walnut-3); background: none; border: 0; padding: 0; cursor: pointer; transition: color .15s var(--ease); }
.epn .copy-sku .icon { width: 14px; height: 14px; }
.epn .copy-sku .icon + .icon { display: none; }
.epn .copy-sku:hover, .epn .copy-sku:focus-visible { color: var(--indigo); }
.epn .copy-sku.is-done { color: var(--walnut); }
.epn .copy-sku.is-done .icon:first-child { display: none; }
.epn .copy-sku.is-done .icon + .icon { display: block; }
.epn .stock { display: flex; align-items: center; gap: 10px; margin: 14px 0 26px; font-size: 1rem; color: var(--walnut-2); }
.epn .stock .icon-sm { color: var(--walnut); }
.epn .qty-note { margin: 0 0 14px; font-size: 1rem; color: var(--walnut-3); flex-basis: 100%; }
.epn .dims { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 22px; }
.epn .dims div { padding: 14px 0; }
.epn .dims div + div { border-left: 1px solid var(--line); padding-left: 18px; }
.epn .dims span { display: block; font-size: .8125rem; color: var(--walnut-3); }
.epn .dims strong { font-size: 1.25rem; font-weight: 500; color: var(--walnut); }
.epn .dims strong small { font-size: .8125rem; font-weight: 400; color: var(--walnut-3); margin-left: 3px; }
.epn .attrs { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; font-size: 1rem; margin: 16px 0 26px; } /* the mockup keeps the dl default top margin */
.epn .attrs dt { color: var(--walnut-3); font-weight: 400; }
.epn .attrs dd { margin: 0; color: var(--walnut); }
.epn .attrs .swatch { display: inline-block; vertical-align: middle; width: 16px; height: 16px; margin-right: 8px; background: var(--plaster-3); border: 1px solid rgba(43, 37, 33, .15); }
.epn .attrs.is-first { border-top: 1px solid var(--line); padding-top: 14px; }
.epn .buy-secondary { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 12px; align-items: start; }
.epn .delivery { margin-top: 26px; display: grid; gap: 12px; padding: 22px 0 0; border-top: 1px solid var(--line); font-size: 1rem; list-style: none; }
.epn .delivery li { display: flex; gap: 12px; align-items: flex-start; color: var(--walnut-2); margin: 0; }
.epn .delivery .icon { width: 20px; height: 20px; color: var(--walnut); margin-top: 3px; }
.epn .delivery a { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; }
.epn .pdp-desc { padding-top: clamp(48px, 6vw, 88px); }
.epn .prose { max-width: 72ch; color: var(--walnut-2); }
.epn .prose p { margin: 0 0 1em; }

/* Drawer: ask about the product */
.epn .drawer { position: fixed; inset: 0; z-index: 1000; visibility: hidden; transition: visibility 0s .5s; } /* stays in the tree so the panel can slide; hidden only once the slide-out ends */
.epn .drawer.is-open { visibility: visible; transition-delay: 0s; }
.epn .drawer-scrim { position: absolute; inset: 0; background: rgba(43, 37, 33, .45); opacity: 0; transition: opacity .45s var(--ease); }
.epn .drawer-panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); background: var(--sun); padding: 20px 24px 40px; overflow-y: auto; transform: translateX(-100%); transition: transform .5s cubic-bezier(.19, 1, .22, 1); display: flex; flex-direction: column; gap: 22px; } /* slides in (Woodmart's off-canvas curve) */
.epn .drawer-head { display: flex; align-items: center; justify-content: space-between; }
.epn .drawer-right .drawer-panel { left: auto; right: 0; width: min(92vw, 440px); transform: translateX(100%); }
.epn .drawer.is-open .drawer-scrim { opacity: 1; }
.epn .drawer.is-open .drawer-panel { transform: none; }
.epn .ask .drawer-head strong { font-size: 1.25rem; font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; color: var(--walnut); }
.epn .ask-product { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.epn .ask-product img { width: 64px; height: 64px; object-fit: contain; padding: 4px; background: var(--plaster-2); mix-blend-mode: multiply; }
.epn .ask-name { display: block; font-weight: 500; color: var(--walnut); line-height: 1.3; }
.epn .ask-sku { display: block; margin-top: 2px; font-size: .8125rem; color: var(--walnut-3); }
.epn .ask-form { display: grid; gap: 16px; }
.epn .ask-form[hidden] { display: none; }
.epn .field { display: grid; gap: 6px; font-size: 1rem; color: var(--walnut-2); margin: 0; }
.epn .field > span { font-weight: 500; color: var(--walnut); }
.epn .field input, .epn .field textarea { width: 100%; border: 1px solid var(--line); background: var(--sun); padding: 11px 12px; outline: 0; border-radius: 0; box-shadow: none; font: inherit; color: inherit; margin: 0; }
.epn .field textarea { resize: vertical; min-height: 112px; }
.epn .field input:focus, .epn .field textarea:focus { border-color: var(--indigo); }
.epn .field-err { display: none; font-style: normal; font-size: .8125rem; color: var(--walnut); }
.epn .field.is-invalid input, .epn .field.is-invalid textarea { border-color: var(--walnut); }
.epn .field.is-invalid .field-err { display: block; }
.epn .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.epn .field-hint { margin: -8px 0 0; font-size: .8125rem; color: var(--walnut-3); }
.epn .field-hint.is-invalid { color: var(--walnut); }
.epn .ask-reply { display: flex; align-items: center; gap: 10px 20px; flex-wrap: wrap; }
.epn .ask-reply > span { font-weight: 500; color: var(--walnut); }
.epn .check { display: flex; align-items: center; gap: 10px; font-size: 1rem; color: var(--walnut-2); cursor: pointer; margin: 0; }
.epn .check input { width: 18px; height: 18px; margin: 0; border-radius: 0; }
.epn .ask-done { display: grid; gap: 10px; padding-top: 4px; outline: 0; }
.epn .ask-done[hidden] { display: none; }
.epn .ask-done .icon { width: 26px; height: 26px; color: var(--walnut); }
.epn .ask-done strong { font-size: 1.25rem; font-weight: 500; letter-spacing: -0.02em; color: var(--walnut); }
.epn .ask-done p { margin: 0 0 8px; color: var(--walnut-2); }
.epn .ask-call { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); display: flex; gap: 12px; color: var(--walnut-2); }
.epn .ask-call .icon { flex: none; color: var(--walnut); margin-top: 3px; }
.epn .ask-call strong { display: block; font-weight: 500; color: var(--walnut); }
.epn .ask-call a { color: var(--walnut); }

/* -------- 3. Woodmart overrides -------- */

/* Header */
.epn .whb-header, .epn .whb-row { background: var(--plaster); }
.epn .whb-general-header { border: 0; }
.epn .whb-header-bottom { border-bottom: 1px solid var(--line); }
.epn .whb-sticked .whb-header-bottom { box-shadow: 0 8px 24px -16px rgba(43, 37, 33, .25); }
.epn .wd-header-search-form .searchform, .epn .wd-search-form .searchform { border: 0; border-bottom: 1px solid var(--walnut); background: transparent; border-radius: 0; }
.epn .wd-header-search-form .searchform input.s, .epn .wd-search-form .searchform input.s { background: transparent; border: 0; box-shadow: none; padding-left: 30px; font-size: 1rem; color: var(--walnut); height: 44px; }
.epn .wd-header-search-form .searchform input.s::placeholder { color: var(--walnut-3); }
.epn .wd-header-search-form .searchsubmit, .epn .wd-search-form .searchsubmit { position: absolute; left: 0; right: auto; width: 30px; color: var(--walnut); background: transparent; border: 0; }
.epn .wd-header-search-form .searchsubmit span, .epn .wd-search-form .searchsubmit span { display: none; }
.epn .wd-tools-element > a { color: var(--walnut); }
.epn .wd-tools-element .wd-tools-icon:before { color: var(--walnut); }
.epn .wd-tools-element .wd-tools-count { background: var(--walnut); color: var(--plaster); border-radius: 0; font-weight: 600; }
.epn .whb-column .wd-header-text, .epn .epn-hdr-showroom { text-transform: none; letter-spacing: 0; }
.epn .epn-hdr-showroom .btn, .epn .whb-column .btn.btn-style-link { text-transform: none; font-weight: 500; font-size: 1rem; color: var(--walnut); background: transparent; border: 0; padding: 0 6px; min-height: 0; text-decoration: none; }
.epn .epn-hdr-showroom .btn:hover { color: var(--indigo); background: transparent; }
.epn .wd-nav.wd-nav-main > li > a, .epn .wd-nav-secondary > li > a { font-size: 16px; font-weight: 500; letter-spacing: .01em; color: var(--walnut); text-transform: none; padding-inline: 0; white-space: nowrap; }
.epn .whb-header-bottom .wd-nav-main, .epn .whb-header-bottom .wd-nav-secondary { column-gap: clamp(14px, 1.8vw, 28px); --wd-nav-gap: 0; }
.epn .whb-header-bottom .wd-nav > li { margin: 0; }
.epn .whb-header-bottom .whb-col-left { flex: 1 1 auto; min-width: 0; }
.epn .whb-header-bottom .whb-col-right { flex: 0 0 auto; }
.epn .wd-nav.wd-nav-main > li > a .wd-nav-arrow, .epn .wd-nav > li > a .wd-nav-arrow, .epn .whb-header .wd-nav > li.menu-item-has-children > a::after, .epn .whb-header .wd-nav > li.menu-item-has-children > a::before { display: none; content: none; }
.epn .wd-nav.wd-nav-main > li > a:hover, .epn .wd-nav.wd-nav-main > li.current-menu-item > a, .epn .wd-nav.wd-nav-main > li.wd-opened > a { color: var(--walnut); box-shadow: inset 0 -2px 0 var(--walnut); }
.epn .whb-column .wd-nav-secondary > li > a { color: var(--walnut-3); }
.epn .whb-column .wd-nav-secondary > li > a:hover { color: var(--walnut); }
.epn .wd-dropdown, .epn .wd-dropdown-menu { background: var(--sun); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: 0 30px 60px -30px rgba(43, 37, 33, .35); }
.epn .wd-sub-menu li a, .epn .wd-dropdown-menu .wd-sub-menu > li > a { color: var(--walnut-2); font-size: 1rem; }
.epn .wd-sub-menu li a:hover { color: var(--indigo); }
.epn .wd-dropdown-menu.wd-design-full-width .wd-sub-menu > li > a, .epn .wd-dropdown-menu .wd-sub-menu > li.item-level-1 > a { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; color: var(--walnut-3); text-transform: none; }
.epn .wd-dropdown-menu .wd-sub-menu .wd-sub-menu > li > a { text-transform: none; font-weight: 400; font-size: 1rem; color: var(--walnut-2); }
.epn .wd-dropdown-menu.wd-design-full-width .wd-sub-menu > li > .wd-sub-menu > li > a { font-weight: 400; }

/* Breadcrumbs */
.epn .wd-breadcrumbs, .epn .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .875rem; color: var(--walnut-3); margin: 0 0 8px; }
.epn .wd-breadcrumbs a, .epn .woocommerce-breadcrumb a { color: var(--walnut-3); font-weight: 400; }
.epn .wd-breadcrumbs a:hover, .epn .woocommerce-breadcrumb a:hover { color: var(--indigo); }
.epn .wd-breadcrumbs .wd-last, .epn .wd-breadcrumbs .wd-last-link, .epn .woocommerce-breadcrumb .breadcrumb-last { color: var(--walnut); font-weight: 400; }
/* the delimiter is the design's caret (Phosphor caret-right) in the hairline colour */
.epn .wd-breadcrumbs .wd-delimiter { font-size: 0; width: 12px; height: 12px; margin: 0; background: var(--line); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Page top: Woodmart pads the content area 40px; the design starts the breadcrumb 18px under the header and the home hero flush */
.epn .wd-content-layout { padding-top: 18px; }
.epn.home .wd-content-layout { padding-top: 0; }
.epn .searchform input:focus, .epn .searchform input:focus-visible { outline: none; }
.epn .wd-header-search-form .searchform:focus-within { border-bottom-color: var(--indigo); }

/* Product cards: child template woocommerce/content-product-base.php. Media on plaster, wishlist top-right, add-to-cart rising; title, ticket, price */
.epn .wd-hover-base .wd-product-wrapper, .epn .wd-hover-base:hover .wd-product-wrapper, .epn .wd-hover-base.wd-product-wrapper { box-shadow: none; background: transparent; padding: 0; transform: none; }
.epn .epn-card { display: grid; gap: 14px; position: relative; }
.epn .epn-card-media, .epn .wd-product-thumb { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--plaster); border-radius: 0; transition: background .3s var(--ease); transform: none !important; }
.epn .wd-product:hover .epn-card-media { background: var(--plaster-2); }
.epn .epn-card-media .product-image-link, .epn .epn-card-media .hover-img { position: absolute; inset: 0; display: block; }
.epn .epn-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; mix-blend-mode: multiply; transition: opacity .45s var(--ease), transform .6s var(--ease); }
.epn .epn-card-media .hover-img { opacity: 0; transition: opacity .45s var(--ease); background: var(--plaster-2); } /* the fading wrapper isolates blending: it carries the hover ground so the JPG white multiplies away */
.epn .wd-product:hover .epn-card-media .hover-img { opacity: 1; }
.epn .wd-product:hover .epn-card-media .product-image-link img { opacity: 0; }
.epn .wd-product:hover .epn-card-media img { transform: scale(1.02); }
.epn .epn-card-wish { position: absolute; top: 8px; right: 8px; z-index: 2; opacity: 0; transition: opacity .2s; }
.epn .wd-product:hover .epn-card-wish, .epn .epn-card-wish:focus-within { opacity: 1; }
.epn .epn-card-wish .wd-wishlist-btn a { width: 40px; height: 40px; display: grid; place-items: center; color: var(--walnut); border: 0; background: transparent; }
.epn .epn-card-wish .wd-tooltip-label, .epn .epn-card-wish .wd-action-text { display: none; }
.epn .epn-card-add { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; transform: translateY(100%); opacity: 0; transition: transform .3s var(--ease), opacity .3s; margin: 0; }
.epn .wd-product:hover .epn-card-add, .epn .epn-card-add:has(:focus-visible) { transform: none; opacity: 1; } /* desktop: rises on hover (keyboard focus too); below 1200px the corner square is always there */
.epn .epn-card-add .button, .epn .epn-card-add > a, .epn .epn-card-add .add_to_cart_button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; background: var(--indigo); color: var(--on-indigo); text-transform: none; font-weight: 500; font-size: 1rem; letter-spacing: .005em; border-radius: 0; box-shadow: none; padding: 0 16px; }
.epn .epn-card-add .button:hover { background: var(--indigo-2); color: var(--on-indigo); }
.epn .epn-card-add .wd-add-cart-icon, .epn .epn-card-add .added_to_cart { display: none; }
.epn .epn-card-body { display: grid; gap: 5px; padding: 0; text-align: left; align-items: start; }
.epn .epn-card-body .wd-entities-title { order: 1; margin: 0; }
.epn .epn-card-body .card-ticket { order: 2; margin: 0; }
.epn .epn-card-body .price { order: 3; margin-top: 1px; }
@media (max-width: 1199.98px) { .epn .epn-card-wish { display: none; } } /* no hover below 1200px: the heart goes, the add-to-cart becomes the corner square (see the touch block) */

/* Product cards (Woodmart wrappers): no borders, plaster ground, ticket under title */
.epn .wd-product { text-align: left; }
.epn .wd-product .product-element-top { background: var(--plaster); border-radius: 0; transition: background .3s var(--ease); }
.epn .wd-product:hover .product-element-top { background: var(--plaster-2); }
.epn .wd-product .product-element-top img { mix-blend-mode: multiply; padding: 6%; box-sizing: border-box; }
.epn .wd-product .wd-entities-title { font-size: 1rem; font-weight: 500; line-height: 1.35; text-align: left; margin: 0; }
.epn .wd-product .wd-entities-title a { color: var(--walnut); }
.epn .wd-product .product-information { padding-top: 14px; text-align: left; align-items: flex-start; }
.epn .wd-product .price { font-size: 1rem; font-weight: 600; color: var(--walnut); margin-top: 2px; font-variant-numeric: tabular-nums; }
.epn .wd-product .price del, .epn .wd-product .price .woocommerce-Price-amount { color: inherit; }
.epn .wd-product .wd-add-btn .add-to-cart-loop, .epn .wd-product .wd-add-btn > a { background: var(--indigo); color: var(--on-indigo); border-radius: 0; text-transform: none; font-weight: 500; font-size: 1rem; }
.epn .wd-product .wd-add-btn .add-to-cart-loop:hover { background: var(--indigo-2); }
.epn .wd-product .wd-product-cats, .epn .wd-product .star-rating, .epn .wd-product .product-labels { display: none !important; }
.epn .wd-hover-base .wd-buttons, .epn .wd-hover-base .wd-bottom-actions { border: 0; box-shadow: none; }
.epn .wd-hover-base .wd-add-btn { margin: 0; }

/* Filters (child block [epn_filters]) */
.epn .filters { position: sticky; top: calc(var(--h2-row) + 24px); display: grid; gap: 0; }
.epn .filter { border-top: 1px solid var(--line); padding: 20px 0; margin: 0; }
.epn .filter:last-of-type { border-bottom: 1px solid var(--line); }
.epn .filter summary { list-style: none; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 500; color: var(--walnut); }
.epn .filter summary::-webkit-details-marker { display: none; }
.epn .filter summary .icon-sm { transition: transform .2s; color: var(--walnut-3); }
.epn .filter[open] summary .icon-sm { transform: rotate(180deg); }
.epn .filter-body { display: grid; gap: 10px; padding-top: 16px; }
.epn .range { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; }
.epn .range label { margin: 0; }
.epn .range input { width: 100%; border: 1px solid var(--line); background: var(--sun); padding: 10px 12px; outline: 0; border-radius: 0; box-shadow: none; height: auto; font: inherit; -moz-appearance: textfield; }
.epn .range input::-webkit-outer-spin-button, .epn .range input::-webkit-inner-spin-button { -webkit-appearance: none; }
.epn .range input:focus { border-color: var(--indigo); }
.epn .filter-actions { display: flex; align-items: center; justify-content: space-between; padding: 18px 0 4px; font-size: .875rem; }
.epn .filter-actions a { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; }
.epn .active-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; min-height: 34px; }
.epn .active-filters .chip { height: 34px; padding: 0 10px 0 12px; font-size: .875rem; }
.epn .woocommerce-ordering::before { content: "Ταξινόμηση"; font-weight: 500; color: var(--walnut); margin-right: 8px; }
.epn .woocommerce-ordering { display: inline-flex; align-items: center; }
.epn .woocommerce-ordering select { width: auto; max-width: none; padding-right: 22px; }
.epn .epn-toolbar .vc_column_inner .wpb_wrapper { display: flex; align-items: center; }
.epn .epn-toolbar .vc_col-sm-4 .wpb_wrapper { justify-content: flex-end; }
.epn .whb-header .wd-nav > li > a .icon { width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; color: currentColor; }
/* Buildings icon before the professional range (Woodmart's walker skips nav_menu_item_title, so a CSS glyph) */
.epn .whb-header-bottom .whb-col-right .wd-nav > li > a::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%25236E655C%22%3E%3Cpath%20d%3D%22M240%2C208H224V96a16%2C16%2C0%2C0%2C0-16-16H144V32a16%2C16%2C0%2C0%2C0-24.88-13.32L39.12%2C72A16%2C16%2C0%2C0%2C0%2C32%2C85.34V208H16a8%2C8%2C0%2C0%2C0%2C0%2C16H240a8%2C8%2C0%2C0%2C0%2C0-16ZM208%2C96V208H144V96ZM48%2C85.34%2C128%2C32V208H48ZM112%2C112v16a8%2C8%2C0%2C0%2C1-16%2C0V112a8%2C8%2C0%2C1%2C1%2C16%2C0Zm-32%2C0v16a8%2C8%2C0%2C0%2C1-16%2C0V112a8%2C8%2C0%2C1%2C1%2C16%2C0Zm0%2C56v16a8%2C8%2C0%2C0%2C1-16%2C0V168a8%2C8%2C0%2C0%2C1%2C16%2C0Zm32%2C0v16a8%2C8%2C0%2C0%2C1-16%2C0V168a8%2C8%2C0%2C0%2C1%2C16%2C0Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

/* Shop toolbar, filters, pagination */
@media (min-width: 1025px) { .epn .epn-filters .wd-filter-buttons, .epn .epn-filters .wd-filters-area-btn, .epn #epn-filters-btn { display: none; } }
.epn .epn-toolbar { padding-bottom: 20px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.epn .epn-filters .widget:first-of-type { border-top: 1px solid var(--line); }
.epn .woocommerce-ordering select, .epn .wd-shop-tools select { border: 0; background: transparent; font-weight: 500; color: var(--walnut); padding: 6px 0; box-shadow: none; }
.epn .wd-active-filters .wd-active-filter-item, .epn .woocommerce-widget-layered-nav-list li a { border-radius: 0; }
.epn .wd-pagination .page-numbers, .epn .woocommerce-pagination .page-numbers { min-width: 44px; height: 44px; line-height: 44px; border: 0; border-radius: 0; color: var(--walnut); font-weight: 500; font-variant-numeric: tabular-nums; }
.epn .wd-pagination .page-numbers.current, .epn .woocommerce-pagination .page-numbers.current { background: var(--walnut); color: var(--plaster); }
.epn .wd-pagination .page-numbers:hover { background: var(--plaster-2); }
.epn .widget-title, .epn .wd-widget-title { font-size: 1rem; font-weight: 500; color: var(--walnut); text-transform: none; letter-spacing: 0; margin-bottom: 14px; }
.epn .sidebar-container .widget { border-top: 1px solid var(--line); padding: 20px 0; margin: 0; }
.epn .sidebar-container .widget:last-child { border-bottom: 1px solid var(--line); }
.epn .price_slider_wrapper .ui-slider .ui-slider-handle { border-radius: 0; background: var(--walnut); }
.epn .price_slider_wrapper .ui-slider .ui-slider-range { background: var(--walnut); }
.epn .price_slider_wrapper .ui-slider { background: var(--line); }
.epn .widget_price_filter .price_slider_amount .button, .epn .price_slider_amount button.button { background: transparent; color: var(--indigo); border: 0; text-decoration: underline; text-underline-offset: .18em; padding: 0; min-height: 0; font-weight: 400; font-size: .875rem; text-transform: none; box-shadow: none; }
.epn .widget_price_filter .price_slider_amount { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .875rem; color: var(--walnut-3); }
.epn .widget_price_filter .price_label { color: var(--walnut); font-variant-numeric: tabular-nums; }
.epn .wd-widget-stock-status label, .epn .wd-widget-stock-status a { color: var(--walnut-2); font-size: 1rem; }

/* Single product */
.epn .wd-single-title h1, .epn h1.product_title { font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.15; margin: 0 0 18px; letter-spacing: -0.02em; }
.epn .wd-single-price .price { font-size: 1.75rem; font-weight: 600; color: var(--walnut); font-variant-numeric: tabular-nums; }
/* Gallery (Woodmart "thumbnails left"): 84px thumbs 16px from a hairline-boxed plaster stage; no arrows, no fullscreen button, active thumb = walnut hairline */
.epn .wd-single-gallery .woocommerce-product-gallery { --wd-gallery-gap: 16px; --wd-thumbs-width: 100px; }
.epn .wd-single-gallery .wd-gallery-images { background: var(--plaster); border: 1px solid var(--line); }
.epn .wd-single-gallery .wd-gallery-images .wd-carousel-item { background: var(--plaster); } /* the swiper's transform isolates blending: the item itself must carry the plaster */
.epn .wd-single-gallery .wd-gallery-images img { mix-blend-mode: multiply; }
.epn .wd-single-gallery .wd-gallery-images .wd-nav-arrows, .epn .wd-single-gallery .product-additional-galleries { display: none; }
.epn .wd-single-gallery .wd-gallery-thumb .wd-carousel { --wd-gap: 10px; }
.epn .wd-single-gallery .wd-gallery-thumb .wd-carousel-item { height: auto; border: 1px solid transparent; opacity: 1; transition: border-color .15s; }
.epn .wd-single-gallery .wd-gallery-thumb .wd-carousel-item img { height: auto; aspect-ratio: 1 / 1; object-fit: contain; padding: 6px; mix-blend-mode: multiply; background: var(--plaster); }
.epn .wd-single-gallery .wd-gallery-thumb .wd-carousel-item:hover { border-color: var(--line); opacity: 1; }
.epn .wd-single-gallery .wd-gallery-thumb .wd-thumb-active { border-color: var(--walnut); opacity: 1; }
/* Buy rows: 52px stepper + full-width indigo button; ghost "ask" + 52px wishlist square */
.epn .wd-single-add-cart form.cart { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }
.epn .wd-single-add-cart .quantity { border: 1px solid var(--walnut); border-radius: 0; height: 52px; width: auto; }
.epn .wd-single-add-cart .quantity input, .epn .wd-single-add-cart .quantity .input-text { border: 0; background: transparent; box-shadow: none; height: 100%; width: 44px; font-weight: 500; font-size: 1rem; color: var(--walnut); }
.epn .quantity .btn, .epn .quantity .btn:hover { background: transparent !important; color: var(--walnut); border: 0 !important; min-height: 0; padding: 0; transform: none; box-shadow: none; } /* no width here: a hover-only width made the stepper resize on hover */
.epn .wd-single-add-cart form.cart .single_add_to_cart_button { width: 100%; min-height: 52px; border-radius: 0; text-transform: none; font-weight: 500; font-size: 1rem !important; letter-spacing: .005em; background: var(--indigo); color: var(--on-indigo); }
.epn .wd-single-add-cart form.cart .single_add_to_cart_button:hover { background: var(--indigo-2); }
.epn .buy-secondary .btn.btn-ghost { width: 100%; height: 52px; font-size: 1rem !important; }
.epn .wd-single-action-btn .wd-action-btn.wd-style-icon > a, .epn .wd-wishlist-btn a { width: 52px; height: 52px; border: 1px solid var(--walnut); border-radius: 0; display: inline-grid; place-items: center; color: var(--walnut); }
.epn .wd-single-wishlist-btn .wd-tooltip-label, .epn .wd-single-wishlist-btn .wd-action-text { display: none; }
.epn .wd-single-wishlist-btn { margin: 0; }
.epn .wd-single-stock .stock, .epn p.stock { display: none; }
.epn .wd-single-meta, .epn .product_meta { display: none; }

/* Footer: the HTML block [epn_footer] on walnut */
.epn .footer-container { background: var(--walnut); color: #CFC8BF; }
.epn .footer-container .wd-footer-html { padding: 0; }
.epn .epn-footer a { color: inherit; }
.epn .epn-footer a:hover { color: var(--plaster); }
.epn .epn-footer .footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 40px; padding: 64px 0 56px; border-bottom: 1px solid rgba(243, 243, 240, .12); }
.epn .epn-footer .footer-brand img { height: 34px; width: auto; filter: invert(1) brightness(.95); margin-bottom: 20px; }
.epn .epn-footer .footer-brand p { margin: 0; max-width: 34ch; font-size: 1rem; }
.epn .epn-footer h4 { color: var(--plaster); font-size: 1rem; font-weight: 500; margin: 0 0 16px; letter-spacing: 0; }
.epn .epn-footer ul { list-style: none; margin: 0; padding: 0; }
.epn .epn-footer li { padding: 4px 0; font-size: 1rem; }
.epn .epn-footer .footer-contact li { display: flex; gap: 10px; align-items: flex-start; }
.epn .epn-footer .footer-contact .icon { width: 18px; height: 18px; margin-top: 3px; }
.epn .epn-footer .newsletter-note { margin: 22px 0 0; font-size: 1rem; }
.epn .epn-footer .newsletter { display: flex; border-bottom: 1px solid #CFC8BF; margin-top: 6px; }
.epn .epn-footer .newsletter input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; box-shadow: none; padding: 10px 0; color: var(--plaster); height: auto; }
.epn .epn-footer .newsletter input::placeholder { color: #A39B91; }
.epn .epn-footer .newsletter button { padding: 0 6px 0 14px; color: var(--plaster); background: none; border: 0; display: inline-flex; align-items: center; gap: 8px; font-weight: 500; font-size: 1rem; text-transform: none; letter-spacing: 0; cursor: pointer; }
.epn .epn-footer .footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 0 28px; font-size: .8125rem; color: #A39B91; }
.epn .epn-footer .footer-social { display: flex; gap: 14px; }
.epn .epn-footer .footer-social a { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(243, 243, 240, .18); color: var(--plaster); }
.epn .epn-footer .footer-social a:hover { border-color: var(--plaster); }
@media (max-width: 1200px) { .epn .epn-footer .footer-top { grid-template-columns: 1.2fr 1fr 1fr 1fr; } .epn .epn-footer .footer-news { grid-column: 1 / -1; max-width: 460px; } }
@media (max-width: 768px) { .epn .epn-footer .footer-top { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 48px 0 40px; } .epn .epn-footer .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .epn .epn-footer .footer-top { grid-template-columns: 1fr; } }
/* (Woodmart footer widgets, if ever used) */
.epn .footer-container { background: var(--walnut); color: #CFC8BF; }
.epn .footer-container a { color: #CFC8BF; }
.epn .footer-container a:hover { color: var(--plaster); }
.epn .footer-container .widget-title { color: var(--plaster); }
.epn .copyrights-wrapper { border-top: 1px solid rgba(243, 243, 240, .12); font-size: .8125rem; color: #A39B91; }
.epn .copyrights-wrapper a { color: var(--plaster); text-decoration: underline; text-underline-offset: .18em; text-decoration-color: rgba(243, 243, 240, .35); }
.epn .copyrights-wrapper a:hover { text-decoration-color: var(--plaster); }

/* Woodmart buttons anywhere else follow the door */
.epn .button, .epn button.button, .epn input[type="submit"].button { border-radius: 0; text-transform: none; font-weight: 500; background: var(--indigo); color: var(--on-indigo); box-shadow: none; }
.epn .button:hover { background: var(--indigo-2); color: var(--on-indigo); }
.epn .wd-btn-arrow-inner, .epn .wd-btn-arrow-inner:before { border-radius: 0; }

/* -------- 4. Responsive -------- */
@media (max-width: 1024px) {
  .epn .hero { grid-template-columns: 1fr; min-height: 0; }
  .epn .hero-media { position: relative; order: -1; aspect-ratio: 3 / 2; overflow: hidden; }
  .epn .hero-media .photo { inset: 0; width: 100%; transform: none; }
  .has-js .epn .hero:not(.is-ready) .photo { transform: none; }
  .epn .hero-copy { padding: 36px var(--gutter) 48px; }
  .epn .rooms { grid-auto-rows: 180px; }
  .epn .shop-index-grid { grid-template-columns: 1fr; }
  .epn .wall { display: none; }
  .epn .room-row { grid-template-columns: 2.5rem minmax(0, 1fr) 56px; }
  .epn .room-row .icon { display: none; }
  .epn .room-row-thumb { display: block; width: 56px; height: 56px; object-fit: contain; padding: 4px; background: var(--plaster-2); mix-blend-mode: multiply; }
  .epn .ask-reply > span { flex-basis: 100%; }
  .epn .showroom { grid-template-columns: 1fr; }
  .epn .pro { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .epn .display { font-size: clamp(2.2rem, 9vw, 3rem); }
  .epn .section { padding-block: 48px; }
  .epn .section-head { flex-direction: column; align-items: flex-start; }
  .epn .rooms { grid-template-columns: 1fr 1fr; grid-auto-rows: 190px; gap: 10px; }
  .epn .rooms > * { grid-column: span 1 !important; grid-row: span 1 !important; }
  .epn .rooms > .r-7-2 { grid-column: span 2 !important; }
  .epn .rooms > .r-7-2 img { --zoom: 1.28; padding: 0 3% 18%; }
  .epn .rooms > .r-5-2 img { --zoom: 1; padding: 6% 8% 20%; }
  .epn .room-label { font-size: .9375rem; left: 14px; right: 14px; bottom: 12px; }
  .epn .card-ticket { font-size: .75rem; gap: 6px; }
  .epn .card-ticket span + span::before { margin-right: 6px; }
  .epn .services { grid-template-columns: 1fr; }
  .epn .service + .service { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .epn .service { padding: 20px 0; }
  .epn .wd-single-add-cart form.cart { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .epn .rooms { grid-auto-rows: 160px; }
  .epn .card-ticket { white-space: normal; flex-wrap: wrap; gap: 2px 8px; }
  .epn .card-ticket span:first-child:not(.num) { overflow: visible; text-overflow: clip; flex: none; }
  .epn .card-ticket .num { white-space: nowrap; }
  .epn .card-ticket span + span::before { display: none; }
  .epn .card-ticket .pack, .epn .card-ticket .avail { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .has-js .epn .hero:not(.is-ready) .photo { transform: translateY(-50%); }
  .has-js .epn .hero:not(.is-ready) .hero-copy > * { opacity: 1; }
}

/* Stepper glyphs: Woodmart prints "-" / "+" text; the design uses the Phosphor minus / plus icons */
.epn .quantity .btn.minus, .epn .quantity .btn.plus { font-size: 0 !important; }
.epn .quantity .btn.minus::before, .epn .quantity .btn.plus::before { content: ""; display: block; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--epn-glyph) center / contain no-repeat; mask: var(--epn-glyph) center / contain no-repeat; }
.epn .quantity .btn.minus { --epn-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E"); }
.epn .quantity .btn.plus { --epn-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E"); }

/* Mega menu: Woodmart full-width HTML-block dropdown carrying the mockup panel ([epn_mega]) */
.epn .wd-dropdown-menu.wd-design-full-width { --wd-dropdown-padding: 0; padding: 0; }
.epn .wd-dropdown-menu.wd-design-full-width > .wd-entry-content { padding-block: 0; }
.epn .mega-inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.4fr); gap: 40px; align-items: start; padding-block: 36px 40px; white-space: normal; }
.epn .mega-inner h4 { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; color: var(--walnut-3); margin: 0 0 14px; text-transform: none; line-height: 1.55; }
.epn .mega-inner ul { list-style: none; margin: 0; padding: 0; }
.epn .mega-inner ul li { padding: 5px 0; margin: 0; font-size: 1rem; line-height: 1.55; }
.epn .mega-inner ul a { color: var(--walnut-2); font-weight: 400; transition: color .15s; }
.epn .mega-inner ul a:hover { color: var(--indigo); }
.epn .mega-inner ul.mega-third { padding: 2px 0 6px 14px; }
.epn .mega-inner .mega-third a { color: var(--walnut-3); }
.epn .mega-feature { display: grid; gap: 12px; align-content: start; min-width: 0; }
.epn .mega-feature .media { aspect-ratio: 4 / 3; background: var(--plaster-2); overflow: hidden; }
.epn .mega-feature img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 8%; }
.epn .mega-feature strong { font-weight: 500; color: var(--walnut); }
@media (max-width: 1200px) { .epn .mega-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); } .epn .mega-feature { display: none; } }
.epn .wd-dropdown-menu.wd-design-full-width { margin-top: 0; }
.epn .wd-dropdown-menu .wd-entry-content > p:empty { display: none; } /* wpautop leaves an empty paragraph before the block's shortcode */

/* Card add-to-cart: our SVG cart / check instead of Woodmart's icon font; the loading and added states stay silent (epn.js animates) */
.epn .epn-card-add .wd-action-icon { display: none; }
.epn .epn-card-add .add_to_cart_button { gap: 10px; position: relative; overflow: hidden; }
.epn .epn-card-add .add_to_cart_button.loading, .epn .epn-card-add .add_to_cart_button.added { color: var(--on-indigo); opacity: 1; }
.epn .epn-card-add .add_to_cart_button.loading::after, .epn .epn-card-add .add_to_cart_button.loading::before { display: none; content: none; }
.epn .epn-card-add .atc-icon { position: relative; width: 20px; height: 20px; flex: none; } /* no will-change: the cart and the clipped label must paint in the same frame */
.epn .epn-card-add .atc-icon svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.epn .epn-card-add .atc-cart { fill: currentColor; }
.epn .epn-card-add .atc-check { opacity: 0; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* Gallery stage: a fixed square (design .stage) that contains any photo, portrait or landscape, 4% inside the hairline */
.epn .wd-single-gallery .wd-gallery-images .wd-carousel-item { aspect-ratio: 1 / 1; }
.epn .wd-single-gallery .wd-gallery-images .wd-carousel-item > *, .epn .wd-single-gallery .wd-gallery-images .woocommerce-product-gallery__image, .epn .wd-single-gallery .wd-gallery-images .woocommerce-product-gallery__image > a { display: block; width: 100%; height: 100%; }
.epn .wd-single-gallery .wd-gallery-images .wd-carousel-item img { width: 100%; height: 100%; object-fit: contain; padding: 4%; box-sizing: border-box; }
/* More thumbs than the stage is tall (auto-sized slides): Woodmart's up/down arrows stay, as quiet 24px carets; they hide themselves (.wd-lock) when everything fits */
.epn .wd-single-gallery .wd-thumb-nav { --wd-arrow-bg: transparent; --wd-arrow-bg-hover: var(--plaster-2); --wd-arrow-bg-dis: transparent; --wd-arrow-height: 24px; --wd-arrow-icon-size: 12px; --wd-arrow-color: var(--walnut); --wd-arrow-color-hover: var(--indigo); --wd-arrow-color-dis: var(--line); --wd-arrow-radius: 0; gap: 2px; margin-top: 4px; }
.epn .wd-single-gallery .wd-thumb-nav .wd-btn-arrow.wd-lock { display: none; }

/* Shop sidebar: Woodmart's price-filter and stock-status widgets, result count and active filters, in the design's filter block */
.epn .epn-filters .wd-rs-epn-sidebar { position: sticky; top: calc(var(--h2-row) + 24px); }
.epn .wd-rs-epn-sidebar .widget { border-top: 1px solid var(--line); padding: 20px 0; margin: 0; }
.epn .wd-rs-epn-sidebar .widget:last-child { border-bottom: 1px solid var(--line); }
.epn .wd-rs-epn-sidebar .widget-title { font-size: 1rem; font-weight: 500; color: var(--walnut); margin: 0 0 12px; }
.epn .wd-rs-epn-sidebar ul { list-style: none; margin: 0; padding: 0; }
.epn .wd-rs-epn-sidebar li { margin: 0; padding: 0; }
.epn .woodmart-price-filter li a { display: block; padding: 5px 0; font-size: 1rem; color: var(--walnut-2); font-variant-numeric: tabular-nums; }
.epn .woodmart-price-filter li a:hover { color: var(--indigo); }
.epn .woodmart-price-filter li a.current-state { color: var(--indigo); font-weight: 500; }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li a { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 1rem; color: var(--walnut-2); }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li a::before { content: ""; flex: none; width: 18px; height: 18px; margin: 0; border: 1px solid var(--walnut-3); border-radius: 0; background: var(--sun); box-shadow: none; transition: background .15s, border-color .15s; }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li a:hover::before { border-color: var(--walnut); }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li.wd-active a { color: var(--walnut); }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li.wd-active a::before { background: var(--indigo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23F3F3F0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--indigo); }
.epn .wd-widget-stock-status ul.wd-checkboxes-on li a::after { display: none; }
.epn .wd-shop-result-count { padding: 18px 0 4px; }
.epn .wd-shop-result-count p, .epn .woocommerce-result-count { margin: 0; font-size: .875rem; color: var(--walnut-3); font-variant-numeric: tabular-nums; }
/* Active filters (toolbar): WooCommerce's chosen filters as the design's chips, Woodmart's clear link as "Καθαρισμός" */
.epn .wd-shop-active-filters .wd-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 34px; }
.epn .wd-shop-active-filters .widget_layered_nav_filters { order: -1; margin: 0; padding: 0; border: 0; }
.epn .wd-shop-active-filters .widget_layered_nav_filters ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li { margin: 0; padding: 0; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px 0 12px; border: 1px solid var(--indigo); color: var(--indigo); font-size: .875rem; font-weight: 500; background: none; border-radius: 0; font-variant-numeric: tabular-nums; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a::before { content: ""; order: 2; width: 12px; height: 12px; margin: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a:hover { background: var(--indigo); color: var(--on-indigo); }
.epn .wd-shop-active-filters .wd-clear-filters { margin: 0; }
.epn .wd-shop-active-filters .wd-clear-filters a { color: var(--indigo); font-size: .875rem; text-decoration: underline; text-underline-offset: .18em; text-transform: none; font-weight: 400; }
.epn .wd-shop-active-filters .wd-clear-filters .wd-action-icon { display: none; }
/* AJAX shop: Woodmart dims the products while loading; keep it quiet on plaster */
.epn .wd-page-content.wd-loading, .epn .products.wd-loading { opacity: .5; transition: opacity .2s; }

/* -------- Checkout (Woodmart checkout page + fields manager): the design's form language on plaster -------- */
.epn.woocommerce-checkout .wd-page-title { background: transparent !important; padding: 18px 0 0; margin: 0; }
.epn.woocommerce-checkout .wd-page-title .wd-page-title-bg { display: none; }
.epn .wd-checkout-steps { display: flex; flex-wrap: wrap; gap: 8px 12px; justify-content: flex-start; margin: 0; padding: 0; list-style: none; }
.epn .wd-checkout-steps li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--walnut-3); font-size: .875rem; }
.epn .wd-checkout-steps li a { color: var(--walnut-3); }
.epn .wd-checkout-steps li a:hover { color: var(--indigo); }
.epn .wd-checkout-steps li.step-active, .epn .wd-checkout-steps li.step-active a { color: var(--walnut); font-weight: 500; text-decoration: none; }
.epn .wd-checkout-steps li::after { content: ""; width: 12px; height: 12px; background: var(--line); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.epn .wd-checkout-steps li:last-child::after { display: none; }
.epn .wd-checkout-steps li a::before, .epn .wd-checkout-steps li a::after, .epn .wd-checkout-steps li > span::before, .epn .wd-checkout-steps li > span::after { display: none; }
.epn.woocommerce-checkout .wd-content-layout { padding-top: 12px; }
/* two columns: the form 7/12, the order 5/12 */
.epn form.checkout.woocommerce-checkout { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.epn form.checkout .customer-details, .epn form.checkout .checkout-order-review { width: auto; max-width: none; flex: none; padding: 0; margin: 0; border: 0; box-shadow: none; }
.epn form.checkout .checkout-order-review { position: sticky; top: calc(var(--h2-row) + 24px); background: var(--sun); border: 1px solid var(--line); padding: 28px; }
.epn form.checkout .checkout-order-review::before, .epn form.checkout .checkout-order-review::after { display: none; }
.epn form.checkout .checkout-order-review > .woocommerce-checkout-review-order { padding: 0; margin: 0; background: none; }
/* headings and fields */
.epn form.checkout h3, .epn .woocommerce-billing-fields h3, .epn .woocommerce-shipping-fields h3, .epn .woocommerce-additional-fields h3, .epn #order_review_heading { font-size: 1.25rem; font-weight: 500; text-transform: none; letter-spacing: -0.01em; color: var(--walnut); margin: 0 0 18px; }
.epn .woocommerce-shipping-fields, .epn .woocommerce-additional-fields { margin-top: 28px; }
.epn form.checkout .woocommerce-billing-fields__field-wrapper, .epn form.checkout .woocommerce-shipping-fields__field-wrapper, .epn form.checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.epn form.checkout .form-row { margin: 0; padding: 0; width: auto; float: none; grid-column: span 2; }
.epn form.checkout .form-row-first, .epn form.checkout .form-row-last { grid-column: span 1; }
.epn form.checkout .form-row label { display: block; margin: 0 0 6px; font-size: .875rem; font-weight: 500; color: var(--walnut); }
.epn form.checkout .form-row label .optional { font-weight: 400; color: var(--walnut-3); }
.epn form.checkout .form-row label .required { color: var(--walnut-3); text-decoration: none; }
.epn form.checkout .form-row .input-text, .epn form.checkout .form-row textarea, .epn form.checkout .form-row select, .epn form.checkout .select2-container--default .select2-selection--single { width: 100%; height: auto; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); background: var(--sun); border-radius: 0; box-shadow: none; font: inherit; color: var(--walnut); }
.epn form.checkout .form-row textarea { min-height: 120px; }
.epn form.checkout .form-row .input-text:focus, .epn form.checkout .form-row textarea:focus, .epn form.checkout .select2-container--open .select2-selection--single { border-color: var(--indigo); outline: 0; }
.epn form.checkout .form-row.woocommerce-invalid .input-text, .epn form.checkout .form-row.woocommerce-invalid .select2-selection--single { border-color: var(--walnut); }
.epn form.checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; color: var(--walnut); }
.epn form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.epn form.checkout .woocommerce-input-wrapper { display: block; }
.epn form.checkout #ship-to-different-address { margin: 0; font-size: 1rem; font-weight: 400; color: var(--walnut-2); text-transform: none; }
.epn form.checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; font-weight: 400; cursor: pointer; }
.epn form.checkout #ship-to-different-address input { width: 18px; height: 18px; margin: 0; border-radius: 0; accent-color: var(--indigo); }
/* coupon toggle: one quiet line, no info box */
.epn .woocommerce-form-coupon-toggle .woocommerce-info { background: none; border: 0; padding: 0 0 22px; margin: 0; color: var(--walnut-3); font-size: .875rem; box-shadow: none; }
.epn .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.epn .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; font-weight: 400; }
.epn form.checkout_coupon { border: 1px solid var(--line); background: var(--sun); padding: 18px; margin: 0 0 24px; }
/* order review table */
.epn .woocommerce-checkout-review-order .wd-table-wrapper { margin: 0; }
.epn table.woocommerce-checkout-review-order-table { width: 100%; border: 0; margin: 0 0 22px; font-size: .9375rem; }
.epn table.woocommerce-checkout-review-order-table th, .epn table.woocommerce-checkout-review-order-table td { border: 0; padding: 12px 0; background: none; text-align: left; color: var(--walnut-2); vertical-align: top; }
.epn table.woocommerce-checkout-review-order-table thead th { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-transform: none; color: var(--walnut-3); padding-top: 0; }
.epn table.woocommerce-checkout-review-order-table th.product-total, .epn table.woocommerce-checkout-review-order-table td.product-total, .epn table.woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.epn table.woocommerce-checkout-review-order-table .product-quantity { color: var(--walnut-3); font-weight: 400; }
.epn table.woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--walnut); }
.epn table.woocommerce-checkout-review-order-table tfoot .amount { color: var(--walnut); font-weight: 500; }
.epn table.woocommerce-checkout-review-order-table tfoot tr.order-total th, .epn table.woocommerce-checkout-review-order-table tfoot tr.order-total td { border-bottom: 0; padding-top: 16px; font-size: 1.125rem; }
.epn table.woocommerce-checkout-review-order-table tfoot tr.order-total .amount { font-size: 1.375rem; font-weight: 600; color: var(--walnut); }
/* payment */
.epn .woocommerce-checkout-payment { background: none; border: 0; padding: 0; margin: 0; }
.epn .woocommerce-checkout-payment ul.payment_methods { padding: 0; margin: 0 0 18px; border: 0; list-style: none; }
.epn .woocommerce-checkout-payment ul.payment_methods li { padding: 12px 0; border-top: 1px solid var(--line); margin: 0; }
.epn .woocommerce-checkout-payment ul.payment_methods li label { font-weight: 500; color: var(--walnut); }
.epn .woocommerce-checkout-payment .payment_box { background: var(--plaster); color: var(--walnut-2); font-size: .9375rem; padding: 12px 14px; margin: 10px 0 0; border-radius: 0; }
.epn .woocommerce-checkout-payment .payment_box::before { display: none; }
.epn .woocommerce-checkout-payment .woocommerce-info, .epn.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info { background: var(--plaster); border: 1px solid var(--line); color: var(--walnut-2); padding: 14px 16px; margin: 0; font-size: .9375rem; box-shadow: none; }
.epn .woocommerce-checkout-payment .woocommerce-info::before { display: none; }
.epn .woocommerce-privacy-policy-text, .epn .woocommerce-privacy-policy-text p { font-size: .8125rem; color: var(--walnut-3); margin: 0 0 16px; }
.epn .woocommerce-privacy-policy-text a { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; }
.epn .woocommerce-terms-and-conditions-wrapper { margin: 0; }
.epn form.checkout .place-order { padding: 18px 0 0; margin: 0; border-top: 1px solid var(--line); }
.epn form.checkout #place_order { width: 100%; min-height: 52px; background: var(--indigo); color: var(--on-indigo); border: 1px solid var(--indigo); border-radius: 0; font-size: 1rem !important; font-weight: 500; letter-spacing: .005em; text-transform: none; box-shadow: none; }
.epn form.checkout #place_order:hover { background: var(--indigo-2); border-color: var(--indigo-2); }
@media (max-width: 1024px) { .epn form.checkout.woocommerce-checkout { grid-template-columns: 1fr; } .epn form.checkout .checkout-order-review { position: static; } }
@media (max-width: 560px) { .epn form.checkout .form-row-first, .epn form.checkout .form-row-last { grid-column: span 2; } .epn form.checkout .checkout-order-review { padding: 20px; } }
.epn .woocommerce-checkout-review-order .wd-table-wrapper { background: none; padding: 0; border: 0; }
.epn.woocommerce-checkout .wd-page-title .container { text-align: left; }
.epn .woocommerce-form-coupon-toggle { margin-top: 18px; }
.epn .wd-page-title .wd-checkout-steps { justify-content: flex-start !important; }
.epn #order_review_heading { text-align: left; }
.epn.woocommerce-checkout .wd-page-title .container { align-items: flex-start; } /* Woodmart centres the title column */

/* Header counters: the design's badge (walnut, plaster figure, 18px, no radius); the cart's "είδη" word hidden */
.epn .whb-header .wd-tools-element .wd-tools-icon { position: relative; }
.epn .whb-header .wd-tools-element .wd-tools-count { position: absolute; top: -7px; right: -9px; min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; background: var(--walnut); color: var(--plaster); font-size: 11px; font-weight: 600; line-height: 1; border-radius: 0; border: 0; box-shadow: none; font-variant-numeric: tabular-nums; }
.epn .whb-header .wd-header-cart .wd-cart-number > span { display: none; }
.epn .whb-header .wd-header-cart .wd-cart-subtotal { display: none; }

/* Card hover: no lift (Woodmart's hover effect moved the card 5px up), same box for both photos, ground stays plaster */
.epn .wd-product .wd-product-wrapper, .epn .wd-product:hover .wd-product-wrapper, .epn .wd-product.state-hover .wd-product-wrapper { transform: none !important; box-shadow: none !important; }
.epn .wd-product:hover .epn-card-media { background: var(--plaster); }
.epn .epn-card-media .hover-img { background: var(--plaster); }
.epn .epn-card-media .hover-img img, .epn .epn-card-media .product-image-link img { box-sizing: border-box !important; width: 100% !important; height: 100% !important; }

/* Chips: an active chip on hover reads plaster on indigo, price spans included */
.epn .chip.is-active:hover { background: var(--indigo); color: var(--on-indigo); border-color: var(--indigo); }
.epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a:hover .amount, .epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a:hover .amount * { color: var(--on-indigo); }
/* Active filters: every chip is its own flex item so "Καθαρισμός" follows the last chip on the same line */
.epn .wd-shop-active-filters .widget_layered_nav_filters, .epn .wd-shop-active-filters .widget_layered_nav_filters ul { display: contents; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li { display: inline-flex; order: -1; }
.epn .wd-shop-active-filters .wd-clear-filters { order: 1; }

/* Checkout order column: one hairline box, no stray lines; Woodmart's order table with image, stepper and remove */
.epn form.checkout.woocommerce-checkout { margin-bottom: clamp(48px, 6vw, 88px); }
.epn form.checkout .place-order { border-top: 0; padding-top: 0; }
.epn .woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-info) { border-top: 0; padding: 0 0 18px; }
.epn table.woocommerce-checkout-review-order-table td.wd-checkout-prod { display: flex; align-items: flex-start; gap: 14px; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-img { flex: none; width: 64px; height: 64px; background: var(--plaster); }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-cont { flex: 1 1 auto; min-width: 0; display: grid; gap: 8px; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-title, .epn table.woocommerce-checkout-review-order-table .cart-product-label-link { color: var(--walnut); font-weight: 500; line-height: 1.35; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-title a:hover { color: var(--indigo); }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn-wrapp { order: 3; flex: none; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn { width: 28px; height: 28px; display: grid; place-items: center; color: var(--walnut-3); font-size: 0; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn:hover { color: var(--walnut); }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-total { text-align: right; white-space: nowrap; font-weight: 500; color: var(--walnut); font-variant-numeric: tabular-nums; }
.epn table.woocommerce-checkout-review-order-table .quantity { display: inline-flex; align-items: center; height: 36px; border: 1px solid var(--line); background: var(--sun); }
.epn table.woocommerce-checkout-review-order-table .quantity input, .epn table.woocommerce-checkout-review-order-table .quantity .input-text { width: 36px; height: 100%; border: 0; background: transparent; text-align: center; font-weight: 500; font-size: .9375rem; padding: 0; box-shadow: none; }
.epn table.woocommerce-checkout-review-order-table .quantity .btn { width: 30px; height: 100%; font-size: 0; }
.epn table.woocommerce-checkout-review-order-table .quantity .btn::before { width: 14px; height: 14px; }
.epn .woocommerce-checkout-payment ul.payment_methods li label { display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; }
.epn .woocommerce-checkout-payment ul.payment_methods li input.input-radio { width: 18px; height: 18px; margin: 0; accent-color: var(--indigo); }
.epn .woocommerce-checkout-payment ul.payment_methods li img { display: none; }
/* Toolbar as one flex row (chips grow and wrap, sort stays right); payment rows with the radio inline */
.epn .epn-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.epn .epn-toolbar .wd-shop-active-filters { flex: 1 1 auto; min-width: 0; }
.epn .epn-toolbar .wd-shop-orderby, .epn .epn-toolbar .woocommerce-ordering { flex: none; margin: 0; }
.epn .woocommerce-checkout-payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.epn .woocommerce-checkout-payment ul.payment_methods li .payment_box { flex-basis: 100%; }
.epn .epn-card-media .hover-img, .epn .wd-product:hover .epn-card-media .hover-img, .epn .wd-product.state-hover .epn-card-media .hover-img { transform: none !important; } /* Woodmart's hover-fade scales the wrapper ~1.09: that was the zoom jump */
.epn .epn-toolbar .wd-shop-ordering { flex: 0 0 auto; width: auto; margin: 0 0 0 auto; }
.epn .epn-toolbar .woocommerce-ordering { justify-content: flex-end; }
.epn .whb-header .wd-tools-element > a { position: relative; }
.epn .whb-header .wd-tools-element .wd-tools-icon { position: static; }
.epn .whb-header .wd-tools-element .wd-tools-count { top: 1px; right: -3px; }

/* Pack products: the rule sentence spans the add-to-cart grid instead of widening the stepper column */
.epn .wd-single-add-cart form.cart .qty-note { grid-column: 1 / -1; margin: 0; }
/* Cards without a second photo keep the first one on hover */
.epn .wd-product:hover .epn-card-media:not(:has(.hover-img)) .product-image-link img { opacity: 1; }
/* Checkout order table: no scroll frame (that was the stray right edge), thumbnails on plaster through the link too, 40px stepper */
.epn .woocommerce-checkout-review-order .wd-table-wrapper { overflow: visible; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-img a { display: block; width: 100%; height: 100%; background: var(--plaster); }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-img img { display: block; }
.epn .wd-checkout-prod .quantity { height: 40px; border: 1px solid var(--walnut-3); }
.epn .wd-checkout-prod .quantity input, .epn .wd-checkout-prod .quantity .input-text { width: 40px; font-size: 1rem; }
.epn .wd-checkout-prod .quantity .btn { width: 34px; }
.epn.woocommerce-checkout .wd-content-layout { padding-bottom: clamp(48px, 6vw, 88px); }
.epn .wd-checkout-prod .quantity { justify-self: start; width: max-content; }

/* Header badges reversed: plaster square, walnut figure */
.epn .whb-header .wd-tools-element .wd-tools-count { background: var(--plaster); color: var(--walnut); }
/* Toolbar right group: result count then the sort, which reads as a select (hairline underneath, caret) */
.epn .epn-toolbar-right { display: flex; align-items: center; gap: 24px; flex: none; margin-left: auto; }
.epn .epn-toolbar-right .wd-shop-result-count { padding: 0; }
.epn .epn-toolbar .wd-shop-ordering { margin: 0; }
.epn .woocommerce-ordering::before { font-weight: 400; color: var(--walnut-3); font-size: .875rem; margin-right: 10px; }
.epn .woocommerce-ordering select, .epn .wd-shop-tools select { -webkit-appearance: none; appearance: none; border: 0; border-bottom: 1px solid var(--walnut); border-radius: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%232B2521'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") no-repeat right 2px center / 12px; padding: 6px 22px 6px 0; font-weight: 500; color: var(--walnut); box-shadow: none; cursor: pointer; }
.epn .woocommerce-ordering select:focus { outline: 0; border-bottom-color: var(--indigo); }
/* Category chips: compact; past the first row they fold behind a "+N" chip until opened (epn.js) */
.epn .cat-head + .chips { gap: 8px; margin-bottom: 24px; }
.epn .cat-head + .chips .chip { height: 36px; padding: 0 14px; font-size: .9375rem; }
.epn .chips.is-folded .chip.is-overflow { display: none; }
.epn .chips .chip-more { color: var(--walnut-3); border-style: dashed; }
.epn .chips .chip-more:hover { color: var(--indigo); border-color: var(--indigo); }
.epn .epn-toolbar-right > .wd-wpb, .epn .epn-toolbar > .wd-wpb { margin: 0; } /* Woodmart gives its elements a 30px bottom margin */
.epn .chips button.chip-more { font: inherit; font-size: .9375rem; height: 36px; line-height: 1; padding: 0 14px; background: none; cursor: pointer; box-shadow: none; }
.epn .cat-head + .chips button.chip-more { min-height: 0 !important; height: 36px !important; border-width: 1px; }
.epn .epn-card-add .atc-icon { z-index: 1; } /* the cart passes above the label while erasing it */
.epn .epn-card-add .wd-action-text { position: relative; }
/* The eraser: a button-coloured block on the cart's left, shown only while the sequence runs */
.epn .epn-card-add .add_to_cart_button .atc-icon { background: inherit; }
.epn .epn-card-add .add_to_cart_button .atc-icon::before { content: ""; position: absolute; top: -16px; bottom: -16px; right: 50%; width: 600px; background: inherit; opacity: 0; pointer-events: none; }
.epn .epn-card-add .add_to_cart_button.is-wiping .atc-icon::before { opacity: 1; }
/* Card price: the VAT note beside the amount, as on the product page */
.epn .epn-card-body .price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.epn .epn-card-body .price .vat { font-size: .8125rem; font-weight: 400; color: var(--walnut-3); letter-spacing: 0; }
.epn .epn-toolbar > .wd-shop-result-count { flex: none; padding: 0; margin-right: 8px; align-self: flex-start; }
.epn .epn-toolbar > .wd-shop-result-count p { line-height: 34px; } /* same height as a chip row */
/* Tighter toolbar so three chips plus Καθαρισμός fit beside the count and the sort */
.epn .epn-toolbar { gap: 16px; }
.epn .epn-toolbar > .wd-shop-result-count { margin-right: 0; }
.epn .wd-shop-active-filters .wd-active-filters { gap: 6px 10px; }
.epn .wd-shop-active-filters .widget_layered_nav_filters li.chosen a { padding: 0 8px 0 10px; gap: 6px; }
.epn .woocommerce-ordering::before { margin-right: 8px; }
/* Toolbar stacked: active filters alone on top (hidden when none), then count left / sort right on the bottom line */
.epn .epn-toolbar { flex-direction: column; align-items: stretch; gap: 16px; }
.epn .epn-toolbar .wd-shop-active-filters { flex: none; }
.epn .epn-toolbar .wd-shop-active-filters:not(:has(li.chosen)) { display: none; }
.epn .wd-shop-active-filters .wd-active-filters { min-height: 0; }
.epn .epn-toolbar-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.epn .epn-toolbar-row > .wd-wpb { margin: 0; }
.epn .epn-toolbar-row .wd-shop-result-count p { line-height: 1.3; }
.epn .epn-toolbar-row .wd-shop-ordering { flex: none; margin: 0; }

/* -------- Cart page: the checkout's language (steps trail, hairline table, plaster packshots, sun totals box) -------- */
.epn.woocommerce-cart .wd-page-title { background: transparent !important; padding: 18px 0 0; margin: 0; }
.epn.woocommerce-cart .wd-page-title .wd-page-title-bg { display: none; }
.epn.woocommerce-cart .wd-page-title .container { text-align: left; align-items: flex-start; }
.epn.woocommerce-cart .wd-content-layout { padding-top: 12px; padding-bottom: clamp(48px, 6vw, 88px); }
.epn .woocommerce-cart-form table.shop_table { border: 0; margin: 0 0 24px; font-size: .9375rem; }
.epn .woocommerce-cart-form table.shop_table th, .epn .woocommerce-cart-form table.shop_table td { border: 0; border-bottom: 1px solid var(--line); padding: 16px 12px; background: none; vertical-align: middle; color: var(--walnut-2); }
.epn .woocommerce-cart-form table.shop_table thead th { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-transform: none; color: var(--walnut-3); padding-top: 0; }
.epn .woocommerce-cart-form table.shop_table td.product-remove, .epn .woocommerce-cart-form table.shop_table th.product-remove { padding-left: 0; width: 36px; }
.epn .woocommerce-cart-form table.shop_table td.product-remove a.remove { width: 28px; height: 28px; display: grid; place-items: center; color: var(--walnut-3); font-size: 0; border-radius: 0; background: none; }
.epn .woocommerce-cart-form table.shop_table td.product-remove a.remove::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.epn .woocommerce-cart-form table.shop_table td.product-remove a.remove:hover { color: var(--walnut); background: none; }
.epn .woocommerce-cart-form table.shop_table td.product-thumbnail { width: 88px; }
.epn .woocommerce-cart-form table.shop_table td.product-thumbnail a { display: block; width: 64px; height: 64px; background: var(--plaster); }
.epn .woocommerce-cart-form table.shop_table td.product-thumbnail img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; display: block; max-width: none; }
.epn .woocommerce-cart-form table.shop_table td.product-name a { color: var(--walnut); font-weight: 500; line-height: 1.35; }
.epn .woocommerce-cart-form table.shop_table td.product-name a:hover { color: var(--indigo); }
.epn .woocommerce-cart-form table.shop_table td.product-price, .epn .woocommerce-cart-form table.shop_table td.product-subtotal { white-space: nowrap; font-variant-numeric: tabular-nums; }
.epn .woocommerce-cart-form table.shop_table td.product-subtotal .amount { color: var(--walnut); font-weight: 500; }
.epn .woocommerce-cart-form table.shop_table td.product-subtotal, .epn .woocommerce-cart-form table.shop_table th.product-subtotal { text-align: right; padding-right: 0; }
.epn .woocommerce-cart-form table.shop_table tr.wd-cart-action-row td, .epn .woocommerce-cart-form table.shop_table td.actions { border-bottom: 0; padding: 24px 0 0; }
.epn .woocommerce-cart-form .coupon { display: flex; gap: 10px; align-items: stretch; }
.epn .woocommerce-cart-form .coupon .input-text { height: 46px; min-width: 200px; border: 1px solid var(--line); background: var(--sun); border-radius: 0; box-shadow: none; padding: 0 12px; font: inherit; color: var(--walnut); }
.epn .woocommerce-cart-form .coupon .input-text:focus { border-color: var(--indigo); outline: 0; }
.epn .woocommerce-cart-form .coupon .button, .epn .woocommerce-cart-form button[name="update_cart"], .epn .woocommerce-cart-form .button[name="update_cart"] { min-height: 46px; padding: 0 20px; border-radius: 0; text-transform: none; font-weight: 500; font-size: 1rem !important; background: transparent; color: var(--walnut); border: 1px solid var(--walnut); box-shadow: none; }
.epn .woocommerce-cart-form .coupon .button:hover, .epn .woocommerce-cart-form button[name="update_cart"]:hover { background: var(--walnut); color: var(--plaster); }
.epn .woocommerce-cart-form .button[name="update_cart"]:disabled, .epn .woocommerce-cart-form button[name="update_cart"]:disabled { opacity: .4; }
/* totals box */
.epn .cart-collaterals, .epn .cart_totals { border: 0; }
.epn .cart_totals { background: var(--sun); border: 1px solid var(--line); padding: 28px; border-radius: 0; box-shadow: none; }
.epn .cart_totals > h2, .epn .cart_totals .cart-totals-inner > h2 { font-size: 1.25rem; font-weight: 500; text-transform: none; letter-spacing: -0.01em; color: var(--walnut); margin: 0 0 18px; }
.epn .cart_totals table.shop_table { border: 0; margin: 0 0 22px; font-size: .9375rem; }
.epn .cart_totals table.shop_table th, .epn .cart_totals table.shop_table td { border: 0; border-bottom: 1px solid var(--line); padding: 12px 0; background: none; text-align: left; color: var(--walnut-2); }
.epn .cart_totals table.shop_table th { font-weight: 500; color: var(--walnut); }
.epn .cart_totals table.shop_table td { text-align: right; font-variant-numeric: tabular-nums; }
.epn .cart_totals table.shop_table .amount { color: var(--walnut); font-weight: 500; }
.epn .cart_totals table.shop_table tr.order-total th, .epn .cart_totals table.shop_table tr.order-total td { border-bottom: 0; padding-top: 16px; font-size: 1.125rem; }
.epn .cart_totals table.shop_table tr.order-total .amount { font-size: 1.375rem; font-weight: 600; }
.epn .cart_totals .woocommerce-shipping-destination { color: var(--walnut-3); font-size: .875rem; margin: 6px 0 0; }
.epn .cart_totals .shipping-calculator-button { color: var(--indigo); text-decoration: underline; text-underline-offset: .18em; font-weight: 400; }
.epn .cart_totals .wc-proceed-to-checkout { padding: 0; margin: 0; }
.epn .cart_totals .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 52px; background: var(--indigo); color: var(--on-indigo); border: 1px solid var(--indigo); border-radius: 0; font-size: 1rem !important; font-weight: 500; letter-spacing: .005em; text-transform: none; box-shadow: none; margin: 0; }
.epn .cart_totals .wc-proceed-to-checkout .checkout-button:hover { background: var(--indigo-2); }
/* Steppers everywhere (cart, checkout, product): hairline box, centred glyphs, no white */
.epn .quantity { display: inline-flex; align-items: stretch; height: 42px; border: 1px solid var(--walnut-3); background: var(--sun); border-radius: 0; box-shadow: none; overflow: hidden; }
.epn .quantity .minus, .epn .quantity .plus { position: static; display: grid; place-items: center; width: 36px; height: auto; min-height: 0; padding: 0; margin: 0; border: 0; background: transparent !important; color: var(--walnut); font-size: 0 !important; line-height: 0; box-shadow: none; cursor: pointer; }
.epn .quantity .minus::before, .epn .quantity .plus::before { content: ""; display: block; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--epn-glyph) center / contain no-repeat; mask: var(--epn-glyph) center / contain no-repeat; }
.epn .quantity .minus { --epn-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E"); }
.epn .quantity .plus { --epn-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E"); }
.epn .quantity .minus::after, .epn .quantity .plus::after { display: none; }
.epn .quantity input.qty, .epn .quantity .input-text { width: 44px; height: auto; border: 0; background: transparent; text-align: center; font: inherit; font-weight: 500; color: var(--walnut); padding: 0; box-shadow: none; -moz-appearance: textfield; }
.epn .quantity input::-webkit-outer-spin-button, .epn .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.epn .woocommerce-cart-form .quantity { height: 40px; border-color: var(--line); }
.epn .wd-checkout-prod .quantity { height: 40px; border-color: var(--line); }
/* Καθαρισμός: no separator */
.epn .wd-shop-active-filters .wd-clear-filters { border: 0; padding: 0; }
/* Checkout order table: no scroll frame, no shadow */
.epn .checkout-order-review > .woocommerce-checkout-review-order .wd-table-wrapper { box-shadow: none; }
.epn .cart_totals .cart-totals-inner { border: 0; padding: 0; }
.epn .cart_totals .includes_tax { display: block; font-size: .8125rem; font-weight: 400; color: var(--walnut-3); margin-top: 2px; }
.epn .cart_totals .includes_tax .amount { font-size: inherit; font-weight: 400; color: inherit; }
.epn .cart_totals table.shop_table tr.order-total .includes_tax .amount { font-size: inherit; font-weight: 400; color: inherit; }

/* Stepper, built to survive Woodmart's "-"/"+" text nodes: the glyph is taken out of flow and centred on the button,
   the number is an explicit 100%-height box with a 1:1 line so it sits on the same centre line */
.epn .quantity { align-items: stretch; }
.epn .quantity .minus, .epn .quantity .plus { position: relative; display: block; width: 36px; height: 100%; padding: 0; margin: 0; overflow: hidden; text-indent: -999px; font-size: 0 !important; line-height: 0; color: var(--walnut); }
.epn .quantity .minus::before, .epn .quantity .plus::before { position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; }
.epn .quantity input.qty, .epn .quantity .input-text { height: 100% !important; min-height: 0; line-height: 1 !important; padding: 0 !important; margin: 0; font-size: 1rem; align-self: stretch; }
/* Checkout row: image · title with the stepper under it · price on the title's line · remove cross */
.epn table.woocommerce-checkout-review-order-table td.wd-checkout-prod { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 28px; grid-template-areas: "img cont total remove"; column-gap: 14px; align-items: start; padding: 14px 0; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-img { grid-area: img; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-cont { grid-area: cont; display: contents; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-title { grid-area: cont; display: grid; gap: 10px; justify-items: start; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-total { grid-area: total; align-self: start; padding-top: 1px; line-height: 1.35; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn-wrapp { grid-area: remove; order: 0; justify-self: end; margin-top: -4px; }
.epn .wd-checkout-prod .quantity { height: 36px; }
.epn .wd-checkout-prod .quantity .minus, .epn .wd-checkout-prod .quantity .plus { width: 32px; }
/* Totals: the VAT row like the others; the total is one figure */
.epn table.woocommerce-checkout-review-order-table tfoot tr.epn-vat th, .epn .cart_totals table.shop_table tr.epn-vat th { font-weight: 500; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-total, .epn table.woocommerce-checkout-review-order-table .wd-checkout-prod-total .amount { color: var(--walnut); font-weight: 500; }
.epn table.woocommerce-checkout-review-order-table .wd-checkout-remove-btn-wrapp { margin-top: 0; }

/* Header counters: bare figures in walnut */
.epn .whb-header .wd-tools-element .wd-tools-count { background: transparent; color: var(--walnut); }
/* Steppers cannot reflow: every part has a fixed width, and the cart's quantity column is fixed too */
.epn .quantity { width: 118px; flex: none; }
.epn .quantity .minus, .epn .quantity .plus { flex: none; width: 36px; }
.epn .quantity input.qty, .epn .quantity .input-text { flex: none; width: 44px !important; }
.epn .wd-checkout-prod .quantity { width: 110px; }
.epn .wd-checkout-prod .quantity .minus, .epn .wd-checkout-prod .quantity .plus { width: 32px; }
.epn .woocommerce-cart-form table.shop_table td.product-quantity { width: 150px; white-space: nowrap; }

/* Side cart: WooCommerce prints "8 × 117,00 €" in a span.quantity, which the stepper rules must not touch */
.epn .mini_cart_item .quantity, .epn .cart_list .quantity { display: inline; width: auto; height: auto; border: 0; background: none; overflow: visible; padding: 0; margin: 0; font-size: .875rem; color: var(--walnut-3); font-variant-numeric: tabular-nums; }
.epn .mini_cart_item .quantity .amount { color: var(--walnut); font-weight: 500; }
.epn .cart-widget-side { background: var(--sun); }
.epn .cart-widget-side .wd-heading .title { font-size: 1.25rem; font-weight: 500; text-transform: none; letter-spacing: -0.01em; color: var(--walnut); }
.epn .cart-widget-side .mini_cart_item { border-bottom: 1px solid var(--line); padding: 16px 0; }
.epn .cart-widget-side .mini_cart_item .cart-product-label-link, .epn .cart-widget-side .mini_cart_item .wd-entities-title, .epn .cart-widget-side .mini_cart_item a:not(.remove):not(.cart-item-link) { color: var(--walnut); font-weight: 500; font-size: .9375rem; line-height: 1.35; }
.epn .cart-widget-side .mini_cart_item img { mix-blend-mode: multiply; background: var(--plaster); }
.epn .cart-widget-side .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; font-size: 1rem; color: var(--walnut); border-top: 1px solid var(--line); padding-top: 16px; margin: 0 0 14px; }
.epn .cart-widget-side .woocommerce-mini-cart__total strong { font-weight: 500; text-transform: none; }
.epn .cart-widget-side .woocommerce-mini-cart__total .amount { font-weight: 600; font-size: 1.125rem; }
.epn .cart-widget-side .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.epn .cart-widget-side .woocommerce-mini-cart__buttons a.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; text-transform: none; font-size: 1rem !important; font-weight: 500; letter-spacing: .005em; box-shadow: none; margin: 0; }
.epn .cart-widget-side .woocommerce-mini-cart__buttons a.button.checkout { background: var(--indigo); color: var(--on-indigo); border: 1px solid var(--indigo); }
.epn .cart-widget-side .woocommerce-mini-cart__buttons a.button.checkout:hover { background: var(--indigo-2); }
.epn .cart-widget-side .woocommerce-mini-cart__buttons a.button:not(.checkout) { background: transparent; color: var(--walnut); border: 1px solid var(--walnut); }
.epn .cart-widget-side .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { background: var(--walnut); color: var(--plaster); }
.epn .cart-widget-side .woocommerce-mini-cart__total .amount, .epn .cart-widget-side .woocommerce-mini-cart__total .amount * { color: var(--walnut); }
.epn .wd-single-add-cart .quantity { width: 134px; }
.epn .wd-single-add-cart .quantity .minus, .epn .wd-single-add-cart .quantity .plus { width: 44px; }
/* Side cart totals: three quiet lines, the total heavier */
.epn .cart-widget-side .epn-mini-totals { border-top: 1px solid var(--line); padding-top: 12px; margin: 0 0 14px; }
.epn .cart-widget-side .epn-mini-totals .woocommerce-mini-cart__total { border: 0; padding: 4px 0; margin: 0; font-size: .9375rem; color: var(--walnut-2); }
.epn .cart-widget-side .epn-mini-totals .woocommerce-mini-cart__total strong { font-weight: 400; color: var(--walnut-2); }
.epn .cart-widget-side .epn-mini-totals .woocommerce-mini-cart__total .amount { font-weight: 500; font-size: .9375rem; }
.epn .cart-widget-side .epn-mini-totals .epn-mini-total { padding-top: 10px; margin-top: 6px; border-top: 1px solid var(--line); font-size: 1rem; color: var(--walnut); }
.epn .cart-widget-side .epn-mini-totals .epn-mini-total strong { font-weight: 500; color: var(--walnut); }
.epn .cart-widget-side .epn-mini-totals .epn-mini-total .amount { font-weight: 600; font-size: 1.125rem; }
.epn .cart-widget-side .shopping-cart-widget-footer > p:empty, .epn .cart-widget-side .woocommerce-mini-cart__total:empty { display: none; }
.epn .cart-widget-side .epn-mini-totals .amount, .epn .cart-widget-side .epn-mini-totals .amount * { color: var(--walnut); }
/* Sticky header: Woodmart drops the top row (display:none on .whb-not-sticky-row). Instead the row stays in the tree folded to 0px and slides open when epn.js sets .epn-reveal-top on scroll up; overflow is released only once the slide has ended (discrete transition) so the search dropdown is not clipped. */
.epn .whb-header.whb-sticked .whb-general-header { display: block !important; background: var(--plaster); }
.epn .whb-header.whb-sticked .whb-general-header .whb-general-header-inner { height: 0 !important; max-height: 0 !important; overflow: hidden; transition: height .35s var(--ease), max-height .35s var(--ease); }
.epn .whb-header.whb-sticked.epn-reveal-top .whb-general-header .whb-general-header-inner { height: 72px !important; max-height: 72px !important; overflow: visible; transition: height .35s var(--ease), max-height .35s var(--ease), overflow 0s .35s allow-discrete; }
.epn .whb-header.whb-sticked .whb-general-header .whb-column { max-height: none !important; height: 72px !important; }
.epn .whb-header.whb-sticked .whb-main-header { background: var(--plaster); }
/* Card ticket: may wrap when the card is narrow (the home's 3-up professional grid) instead of running out of the card */
.epn .card-ticket { flex-wrap: wrap; row-gap: 2px; }
.epn .epn-pro-grid .card-ticket { font-size: .75rem; }
.epn .epn-pro-grid .card-ticket { flex-direction: column; align-items: flex-start; gap: 2px; font-size: .8125rem; }
.epn .epn-pro-grid .card-ticket span + span::before { display: none; }
/* Side cart footer: WooCommerce opens a <p> around the totals hook; only our block and the buttons may show (Firefox keeps whitespace, so :empty is not enough) */
.epn .cart-widget-side .shopping-cart-widget-footer > p:not(.woocommerce-mini-cart__buttons) { display: none !important; }
/* Product page: a little more air under the header, as set in the layout editor */
.epn .epn-pdp-head { padding-top: 20px; }

/* -------- Archive below 1200px (Woodmart's WPBakery off-canvas breakpoints): the filter column is a left drawer, the toolbar wraps -------- */
@media (min-width: 1200px) { .epn .wd-rs-epn-filters-btn { display: none; } }
/* The toggle (design .filter-toggle): a 44px walnut-bordered button with the sliders icon; Woodmart's own icon slot stays empty */
.epn .wd-rs-epn-filters-btn { margin: 0; }
.epn .wd-rs-epn-filters-btn .wd-off-canvas-btn > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--walnut); color: var(--walnut); font-weight: 500; font-size: 1rem; text-transform: none; }
.epn .wd-rs-epn-filters-btn .wd-off-canvas-btn > a:hover { color: var(--indigo); border-color: var(--indigo); }
.epn .wd-rs-epn-filters-btn .wd-off-canvas-btn > a::before { content: ""; flex: none; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M40,88H73a32,32,0,0,0,62,0h81a8,8,0,0,0,0-16H135a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16Zm64-24A16,16,0,1,1,88,80,16,16,0,0,1,104,64ZM216,168H199a32,32,0,0,0-62,0H40a8,8,0,0,0,0,16h97a32,32,0,0,0,62,0h17a8,8,0,0,0,0-16Zm-48,24a16,16,0,1,1,16-16A16,16,0,0,1,168,192Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.epn .wd-rs-epn-filters-btn .wd-off-canvas-btn .wd-action-icon { display: none; }
/* The toolbar: toggle left and sort right on one line, the page count under them, active filters last */
@media (max-width: 1199.98px) {
  .epn .epn-toolbar { gap: 12px; }
  .epn .epn-toolbar-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px 16px; }
  .epn .epn-toolbar-row > .wd-rs-epn-filters-btn { grid-column: 1; grid-row: 1; justify-self: start; }
  .epn .epn-toolbar-row > .wd-shop-ordering { grid-column: 2; grid-row: 1; }
  .epn .epn-toolbar-row > .wd-shop-result-count { grid-column: 1 / -1; grid-row: 2; }
  .epn .epn-toolbar .wd-shop-active-filters { order: 2; }
}
@media (max-width: 599.98px) { .epn .woocommerce-ordering::before { display: none; } }
/* The drawer (design .drawer-panel): Sun White, min(88vw, 380px), "Φίλτρα" heading with a 44px close, walnut .45 scrim; the widgets lose their desktop stickiness */
.epn .wpb_column.epn-filters.wd-side-hidden { --wd-side-hidden-w: min(88vw, 380px); background: var(--sun); }
.epn .epn-filters.wd-side-hidden .wd-heading { justify-content: space-between; padding: 20px 24px 8px; border: 0; }
.epn .epn-filters.wd-side-hidden .wd-heading::before { content: "Φίλτρα"; flex: 1 1 auto; font-size: 1.25rem; font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; color: var(--walnut); }
.epn .epn-filters.wd-side-hidden .close-side-widget > a { display: grid; place-items: center; width: 44px; height: 44px; color: var(--walnut); }
.epn .epn-filters.wd-side-hidden .close-side-widget .wd-action-text { display: none; }
.epn .epn-filters.wd-side-hidden .close-side-widget .wd-action-icon { --wd-action-icon-size: 22px; margin: 0; }
.epn .epn-filters.wd-side-hidden .vc_column-inner { padding: 0 24px 40px; }
.epn .epn-filters.wd-side-hidden .wd-rs-epn-sidebar { position: static; margin-top: 0 !important; }
.epn .wd-close-side { background: rgba(43, 37, 33, .45); }

/* -------- Contact page (site/contact.php): title + lead, the form beside the showroom facts, the map band -------- */
.epn .page-head { display: grid; gap: 12px; margin: 8px 0 clamp(28px, 3vw, 40px); }
.epn .page-head .lead { max-width: 44ch; color: var(--walnut-3); }
.epn .epn-contact { margin-bottom: clamp(48px, 6vw, 88px); }
.epn .epn-contact .vc_column-inner { padding-bottom: 0 !important; }
.epn .contact-form { display: block; padding-bottom: 0; }
.epn .epn-contact-side .vc_column-inner > .wpb_wrapper { padding-left: clamp(0px, 3vw, 40px); }
/* Contact Form 7 in the .field language (the template carries the markup) */
.epn .epn-form { display: grid; gap: 18px; }
.epn .epn-form .field { display: grid; gap: 6px; }
.epn .epn-form .wpcf7-form-control-wrap { display: block; }
.epn .epn-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), .epn .epn-form textarea { width: 100%; border: 1px solid var(--line); background: var(--sun); padding: 11px 12px; outline: 0; border-radius: 0; box-shadow: none; font: inherit; color: var(--walnut); min-height: 46px; }
.epn .epn-form textarea { resize: vertical; min-height: 140px; }
.epn .epn-form input:focus, .epn .epn-form textarea:focus { border-color: var(--indigo); }
.epn .epn-form .wpcf7-not-valid { border-color: var(--walnut) !important; }
.epn .epn-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: .8125rem; color: var(--walnut); }
/* the topic as chips */
.epn .epn-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 8px; }
.epn .epn-form .wpcf7-radio .wpcf7-list-item { position: relative; display: inline-flex; align-items: center; height: 40px; padding: 0 14px; margin: 0; border: 1px solid var(--line); color: var(--walnut); font-size: .9375rem; cursor: pointer; transition: .15s; } /* CF7 6 prints no <label>: the chip is the list item, the radio covers it invisibly */
.epn .epn-form .wpcf7-radio .wpcf7-list-item:hover { border-color: var(--walnut); }
.epn .epn-form .wpcf7-radio input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; } /* above the label text so the whole chip toggles it */
.epn .epn-form .wpcf7-radio .wpcf7-list-item:has(input:checked) { border-color: var(--indigo); color: var(--indigo); font-weight: 500; }
.epn .epn-form .wpcf7-radio .wpcf7-list-item:has(input:focus-visible) { outline: 2px solid var(--indigo); outline-offset: 2px; }
.epn .epn-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.epn .epn-form .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.epn .epn-form .wpcf7-acceptance input { width: 18px; height: 18px; margin: 0; accent-color: var(--indigo); }
.epn .epn-form .check { align-items: center; }
.epn .epn-form input[type="submit"], .epn .epn-form .wpcf7-submit { width: auto; min-height: 52px; padding: 0 28px; border: 1px solid var(--indigo); background: var(--indigo); color: var(--on-indigo); font-weight: 500; font-size: 1rem; letter-spacing: .005em; border-radius: 0; cursor: pointer; justify-self: start; }
.epn .epn-form input[type="submit"]:hover { background: var(--indigo-2); border-color: var(--indigo-2); }
.epn .epn-form .wpcf7-spinner { margin: 0 0 0 12px; }
.epn .epn-form .wpcf7-response-output { margin: 0; padding: 14px 16px; border: 1px solid var(--walnut) !important; color: var(--walnut); font-size: 1rem; }
.epn .epn-form.sent .wpcf7-response-output { border-color: var(--indigo) !important; color: var(--indigo); }
/* the showroom facts */
.epn .contact-facts { display: grid; gap: 18px; padding: 28px 0 0; border-top: 1px solid var(--line); }
.epn .contact-facts h2 { font-size: 1.25rem; font-weight: 500; letter-spacing: -0.02em; color: var(--walnut); margin: 0; }
.epn .contact-facts > p { margin: 0; max-width: 40ch; }
.epn .fact-list { list-style: none; margin: 0; padding: 0; display: grid; }
.epn .fact-list li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line); color: var(--walnut-2); font-size: 1rem; }
.epn .fact-list li:last-child { border-bottom: 1px solid var(--line); }
.epn .fact-list .icon { flex: none; color: var(--walnut); margin-top: 3px; }
.epn .fact-list strong { display: block; font-weight: 500; color: var(--walnut); margin-bottom: 2px; }
.epn .fact-list span { display: block; }
.epn .fact-list a { color: var(--walnut); }
.epn .fact-list a:hover { color: var(--indigo); }
.epn .contact-facts .hero-actions { padding-top: 4px; }
/* the map: the Google Maps embed full width in a hairline band, in its own colours */
.epn .epn-contact-map { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.epn .epn-map { display: block; line-height: 0; }
.epn .epn-map iframe { display: block; width: 100%; height: clamp(320px, 32vw, 460px); border: 0; }
@media (max-width: 1024px) {
  .epn .epn-contact-side .vc_column-inner > .wpb_wrapper { padding-left: 0; }
  .epn .contact-facts { margin-top: 40px; }
}
@media (max-width: 560px) { .epn .epn-form .field-row { grid-template-columns: 1fr; } }
/* Woodmart paints CF7's response box yellow/green with an icon: back to a hairline note in the design's colours */
.epn .epn-form .wpcf7-response-output, .epn .wpcf7-form.invalid .wpcf7-response-output, .epn .wpcf7-form.failed .wpcf7-response-output, .epn .wpcf7-form.sent .wpcf7-response-output { background: transparent !important; color: var(--walnut) !important; border: 1px solid var(--walnut) !important; border-radius: 0; padding: 14px 16px !important; margin: 4px 0 0 !important; font-size: 1rem; }
.epn .epn-form .wpcf7-response-output::before, .epn .epn-form .wpcf7-response-output::after { display: none !important; content: none !important; }
.epn .wpcf7-form.sent .wpcf7-response-output { border-color: var(--indigo) !important; color: var(--indigo) !important; }

/* -------- Cards below 1200px: no hover, so the add-to-cart is a 44px indigo square in the media's corner, icon only.
   The label stays in the DOM (screen readers, the GSAP sequence) but is hidden; epn.js skips the label wipe when it is. -------- */
@media (max-width: 1199.98px) {
  .epn .epn-card-add { display: block; position: absolute; left: auto; right: 8px; bottom: 8px; width: 44px; transform: none; opacity: 1; transition: none; }
  .epn .epn-card-add .add_to_cart_button, .epn .epn-card-add .button, .epn .epn-card-add > a { width: 44px; height: 44px; min-height: 0; padding: 0; justify-content: center; }
  .epn .epn-card-add .wd-action-text { display: none; } /* the link keeps its aria-label; epn.js reads offsetWidth 0 as the icon-only case */
  .epn .epn-card-add .atc-icon { width: 22px; height: 22px; }
  .epn .epn-card-add .add_to_cart_button .atc-icon::before { display: none; } /* no label to erase */
  .epn .epn-card-media .product-image-link { padding-bottom: 0; }
}
/* Touch screens: a tap is a hover, so the second-photo crossfade would fire on every add-to-cart tap; keep the packshot */
@media (hover: none) {
  .epn .wd-product:hover .epn-card-media .product-image-link img, .epn .wd-product.state-hover .epn-card-media .product-image-link img { opacity: 1; transform: none; }
  .epn .wd-product:hover .epn-card-media .hover-img, .epn .wd-product.state-hover .epn-card-media .hover-img { opacity: 0; }
}
/* Below 1200px the square does not run the cart-rush (nothing to run across): Woodmart-style loader while the request is out,
   then the check for a beat (epn.js drops the .added class after it). */
@keyframes epn-spin { to { transform: rotate(360deg); } }
@media (max-width: 1199.98px) {
  .epn .epn-card-add .add_to_cart_button.loading .atc-icon, .epn .epn-card-add .add_to_cart_button.loading .wd-action-icon { visibility: hidden; }
  .epn .epn-card-add .add_to_cart_button.loading::after { content: ""; display: block; position: absolute; inset: 0; margin: auto; width: 20px; height: 20px; border: 2px solid rgba(243,243,240,.35); border-top-color: var(--on-indigo); border-radius: 50%; animation: epn-spin .7s linear infinite; }
  .epn .epn-card-add .add_to_cart_button.added .atc-cart { opacity: 0; }
  .epn .epn-card-add .add_to_cart_button.added .atc-check { opacity: 1; }
}
