/* Αρχική σελίδα (και η σελίδα «Αγαπημένα», για τις ίδιες κάρτες). Ουδέτερο φόντο, καθαρή τυπογραφία, μεγάλες εικόνες. */
.main-full { --ink: #0f172a; --band: #f8fafc; --rule: #e2e8f0; }
.main-full h2 { font-size: clamp(1.6rem, 2vw, 1.87rem); font-weight: 600; letter-spacing: -.01em; color: var(--ink); }

/* Κορυφή της αρχικής: το μενού κατηγοριών αριστερά (ακολουθεί τη σελίδα), δεξιά το slider με δύο σταθερά πλακίδια και από κάτω «Τι ψάχνετε;» */
.home-top { padding-top: 1.4rem; }
.home-grid { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 18px; align-items: start; }
.home-grid > .home-main:only-child { grid-column: 1 / -1; }
.home-main { min-width: 0; }
.home-top .home-cats { border: 1px solid var(--rule); box-shadow: none; }
.home-main .sec { padding-top: 48px; }
.hero { display: grid; gap: 14px; }
.hero > * { min-width: 0; }
.slider { position: relative; }
.slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: 14px; }
.slides::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; height: 400px; }
.slide.banner { border-radius: 0; }
.hero-side { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hero-side .banner { height: 150px; border-radius: 14px; }
.hero-side .banner-text { left: 18px; right: 14px; bottom: 16px; }
.hero-side .banner-text b { font-size: 1.25rem; }
.slider-arrow { position: absolute; z-index: 2; top: 50%; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 50%; background: #fff; color: var(--navy); cursor: pointer; display: grid; place-items: center; box-shadow: 0 2px 12px rgba(10, 20, 45, .25); }
.slider-arrow:hover { background: var(--navy); color: #fff; }
.slider-arrow.prev { left: 14px; }
.slider-arrow.prev .ico { transform: rotate(180deg); }
.slider-arrow.next { right: 14px; }
.slider-dots { position: absolute; z-index: 2; left: 0; right: 0; bottom: 6px; display: flex; justify-content: center; }
.slider-dots button { width: 28px; height: 28px; border: 0; padding: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.slider-dots button::before { content: ""; width: 9px; height: 9px; border-radius: 9px; background: rgba(255, 255, 255, .6); box-shadow: 0 0 4px rgba(0, 0, 0, .35); transition: width .2s, background-color .2s; }
.slider-dots button[aria-current]::before { width: 26px; background: #fff; }
.banner { position: relative; display: block; border-radius: var(--radius); overflow: hidden; background: var(--navy); color: #fff; }
.banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .46), rgba(0, 0, 0, 0) 62%); }
.banner-text { position: absolute; z-index: 1; left: 36px; bottom: 44px; display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.banner-text b { font-size: 2.3rem; font-weight: 700; line-height: 1.15; text-shadow: 0 1px 10px rgba(0, 0, 0, .55); }
.banner:hover { color: #fff; }
.banner:hover .btn.white { background: var(--soft); }
@media (min-width: 1280px) {
  .hero.split { grid-template-columns: minmax(0, 1fr) clamp(260px, 25%, 320px); }
  .hero-side { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .hero-side .banner { height: auto; }
}
@media (min-width: 1500px) { .slide { height: 440px; } }

/* Ενότητες */
.sec { padding-top: 96px; }
.sec-top { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.sec-top h2 { margin-right: auto; }
.sec > h2 { margin-bottom: 24px; }
.sec-more { font-weight: 600; font-size: .93rem; color: var(--blue); border-bottom: 1.5px solid currentColor; padding-bottom: 1px; white-space: nowrap; }
.sec-more:hover { color: var(--blue-dark); }
.sec-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: -.5rem 0 1.5rem; }
.sec-links a { display: block; padding: .5rem 1.05rem; border-radius: 6px; background: var(--band); font-weight: 600; font-size: .93rem; color: var(--ink); }
.sec-links a:hover { background: var(--soft); color: var(--blue); }
.sec-links.on-band { margin: 1.8rem 0 0; }
.sec-links.on-band a { background: #fff; }
.sec-links.on-band a { border: 1px solid var(--rule); }
.sec-links.on-band a:hover { background: var(--soft); }

/* «Τι ψάχνετε;»: μεγάλα πλακίδια κατηγοριών */
.look { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.6rem 1.2rem; }
.look a { display: block; color: var(--ink); }
.look-img { display: block; border-radius: 8px; overflow: hidden; background: var(--band); }
.look-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.look b { display: block; margin-top: .8rem; font-size: 1.07rem; font-weight: 700; }
.look a:hover b { color: var(--blue); }

/* Σειρά προϊόντων που κυλά οριζόντια */
.car { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 5 * 16px) / 6); gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; padding: 8px 2px 28px; margin: -8px -2px -28px; }
.car::-webkit-scrollbar { display: none; }
.car > li { scroll-snap-align: start; }
.car-nav { display: flex; gap: .5rem; }
.car-nav button { width: 40px; height: 40px; border-radius: 6px; border: 1px solid var(--rule); background: #fff; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.car-nav button:hover:not(:disabled) { border-color: var(--ink); }
.car-nav button:disabled { opacity: .35; cursor: default; }
.car-nav [data-car-prev] .ico { transform: rotate(180deg); }
.wish-grid { grid-auto-flow: row; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); overflow: visible; margin-top: 1.4rem; }

/* Κάρτα προϊόντος: τετράγωνο πλαίσιο εικόνας με ίδιο φόντο για όλους τους προμηθευτές, μάρκα, όνομα σε δύο γραμμές, τιμή */
.pc { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--rule); border-radius: 12px; padding: 12px 12px 16px; }
.pc-media { position: relative; margin-bottom: 16px; border-radius: 8px; background: var(--band); overflow: hidden; }
.pc-media a { display: block; padding: 16px; }
.pc-media img, .pc-media .noimg { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.pc-media img.pc-alt { position: absolute; inset: 16px; width: calc(100% - 32px); height: calc(100% - 32px); opacity: 0; }
.pc-wish { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #94a3b8; cursor: pointer; display: grid; place-items: center; box-shadow: 0 1px 3px rgba(15, 23, 42, .1); }
.pc-wish:hover { color: var(--ink); }
.pc-wish[aria-pressed="true"] { color: var(--blue); }
.pc-wish[aria-pressed="true"] .ico { fill: currentColor; }
.pc-quick { position: absolute; left: 8px; right: 8px; bottom: 8px; display: none; }
.pc-quick button { width: 100%; min-height: 40px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; font: inherit; font-weight: 600; font-size: .87rem; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }
.pc-quick button:hover { background: var(--blue-dark); }
.pc-brand { font-size: .73rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: #64748b; margin-bottom: 4px; }
.pc-name { font-weight: 500; font-size: .95rem; line-height: 1.4; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.pc-name:hover { color: var(--blue); }
.pc-avail { margin-top: 8px; font-size: .8rem; color: #64748b; display: flex; align-items: center; gap: 6px; }
.pc-avail::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #cbd5e1; flex: none; }
.pc-avail.a1::before { background: #16a34a; }
.pc-foot { margin-top: auto; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pc-price { font-size: 1.27rem; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pc-add { width: 40px; height: 40px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; cursor: pointer; display: grid; place-items: center; }
.pc-add:hover { background: var(--blue-dark); }
/* Με ποντίκι: το κουμπί του καλαθιού εμφανίζεται πάνω στην εικόνα όταν περνάς από την κάρτα, μαζί με τη δεύτερη φωτογραφία */
@media (hover: hover) and (min-width: 1025px) {
  .pc-foot form { display: none; }
  .pc-quick { display: block; opacity: 0; transform: translateY(8px); }
  .pc:hover .pc-quick, .pc:focus-within .pc-quick { opacity: 1; transform: none; }
  .pc:hover .pc-media img.pc-alt { opacity: 1; }
  .pc:hover .pc-media img.pc-main.has-alt { opacity: 0; }
}

/* «Σπίτι & Έπιπλα»: ζώνη με ουδέτερο φόντο και τέσσερις ψηλές εικόνες */
.rooms { background: var(--band); margin-top: 96px; padding: 96px 0; }
.rooms-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.rooms-head h2 { font-size: clamp(1.87rem, 2.6vw, 2.4rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.rooms-head p { margin: 0; font-size: 1.07rem; line-height: 1.6; color: #475569; max-width: 38rem; }
.room-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.room-cards a { display: block; color: var(--ink); }
.room-img { display: block; border-radius: 8px; overflow: hidden; background: #e2e0d9; }
.room-img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.room-cards b { display: block; margin-top: 1rem; font-size: 1.33rem; font-weight: 700; letter-spacing: -.01em; }
.room-n { display: block; margin-top: .15rem; color: var(--muted); font-size: .93rem; }
.room-cards a:hover b { color: var(--blue); }

/* Τι να περιμένεις από εμάς */
.trust { padding-top: 96px; }
.trust ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.trust li { display: flex; align-items: flex-start; gap: 16px; padding: 24px 24px 24px 0; color: var(--blue); }
.trust li + li { padding-left: 24px; border-left: 1px solid var(--rule); }
.trust b { display: block; font-size: 1rem; font-weight: 700; color: var(--ink); }
.trust span { display: block; margin-top: .15rem; color: var(--muted); font-size: .9rem; line-height: 1.45; }

/* Μάρκες */
.brands { padding-bottom: 96px; }
.brand-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.brand-grid a { display: grid; place-items: center; min-height: 72px; padding: 8px 16px; border: 1px solid var(--rule); border-radius: 8px; background: #fff; font-size: 1.07rem; font-weight: 700; letter-spacing: -.01em; color: #334155; text-align: center; }
.brand-grid a:hover { border-color: var(--ink); color: var(--ink); }

@media (max-width: 1500px) { .car { grid-auto-columns: calc((100% - 4 * 16px) / 5); } }
@media (max-width: 1200px) {
  .car { grid-auto-columns: calc((100% - 3 * 16px) / 4); }
  .brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .sec, .trust { padding-top: 64px; }
  .rooms { margin-top: 64px; padding: 64px 0; }
  .brands { padding-bottom: 64px; }
  .rooms-head { grid-template-columns: minmax(0, 1fr); }
  .home-grid { grid-template-columns: minmax(0, 1fr); }
  .home-top { padding-top: 1rem; }
  .rooms-head { gap: .8rem; }
  .car { grid-auto-columns: calc((100% - 2 * 14px) / 3.2); gap: 14px; }
  .car-nav { display: none; }
  .look { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 40%; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; gap: 12px; }
  .look::-webkit-scrollbar { display: none; }
  .look li { scroll-snap-align: start; }
  .room-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust li:nth-child(3) { padding-left: 0; border-left: 0; }
  .trust li:nth-child(n+3) { border-top: 1px solid var(--rule); }
}
@media (max-width: 720px) {
  .sec, .trust { padding-top: 48px; }
  .home-main .sec { padding-top: 32px; }
  .rooms { margin-top: 48px; padding: 48px 0; }
  .brands { padding-bottom: 48px; }
  .pc-media a { padding: 10px; }
  .slide { height: 220px; }
  .hero-side .banner { height: 110px; }
  .hero-side .banner-text b { font-size: 1rem; }
  .slider-arrow { display: none; }
  .banner-text { left: 18px; bottom: 34px; }
  .banner-text b { font-size: 1.5rem; }
  .car { grid-auto-columns: 46%; gap: 10px; }
  .look { grid-auto-columns: 44%; }
  .look b { font-size: .95rem; margin-top: .55rem; }
  .pc { padding: 8px 8px 12px; }
  .pc-price { font-size: 1.07rem; }
  .pc-add { width: 36px; height: 36px; }
  .room-cards { gap: 10px; }
  .room-cards b { font-size: 1.07rem; margin-top: .6rem; }
  .sec-links { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -14px; padding-right: 14px; }
  .sec-links::-webkit-scrollbar { display: none; }
  .sec-links a { white-space: nowrap; }
  .trust ul { grid-template-columns: minmax(0, 1fr); }
  .trust li, .trust li + li { padding: 1.1rem 0; border-left: 0; }
  .trust li + li { border-top: 1px solid var(--rule); }
  .brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .brand-grid a { min-height: 60px; font-size: 1rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .car { scroll-behavior: smooth; }
  .look-img img, .room-img img { transition: transform .5s ease; }
  .look a:hover img, .room-cards a:hover img { transform: scale(1.03); }
  .sec-links a, .brand-grid a, .pc-add, .pc-wish, .car-nav button { transition: border-color .15s, background-color .15s, color .15s; }
  .pc { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
  .pc-quick, .pc-media img { transition: opacity .18s ease, transform .18s ease; }
  @media (hover: hover) { .pc:hover { transform: translateY(-4px); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, .06); border-color: #cbd5e1; } }
}

/* Slide με φωτογραφίες προϊόντων: ανοιχτό φόντο, τίτλος αριστερά, τα προϊόντα δεξιά σε στρογγυλεμένες κάρτες (κάθε προμηθευτής έχει άλλο φόντο φωτογραφίας) */
.slide.prods { display: flex; align-items: center; gap: 24px; padding: 32px 48px 40px 72px; background: #eef2f7; color: var(--title); }
.slide.prods::after { display: none; }
.prods-text { flex: 0 1 38%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.prods-text b { font-size: 2.4rem; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: var(--title); }
.prods-names { font-size: 1rem; line-height: 1.5; color: var(--muted); }
.prods-text .btn { margin-top: 8px; background: var(--title); border-color: var(--title); color: #fff; }
.slide.prods:hover .prods-text .btn { background: var(--blue); border-color: var(--blue); }
.prods-imgs { flex: 1; min-width: 0; height: 100%; display: flex; align-items: center; justify-content: center; gap: 2%; }
.prods-imgs img { position: static; display: block; width: auto; min-width: 0; height: 88%; max-width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border-radius: 20px; box-shadow: 0 18px 40px -18px rgba(15, 23, 42, .28); transition: transform .4s ease; }
.slide.prods.n2 .prods-imgs img, .slide.prods.n3 .prods-imgs img { flex: 1 1 0; height: auto; max-height: 78%; }
.slide.prods:hover .prods-imgs img { transform: scale(1.03); }
@media (max-width: 700px) {
  .slide.prods { padding: 18px 20px 26px; gap: 12px; }
  .prods-text b { font-size: 1.35rem; }
  .prods-names { display: none; }
  .prods-text .btn { padding: 6px 12px; font-size: .85rem; }
}

/* Slide με προϊόντα και φωτογραφία φόντου: η φωτογραφία θολή πίσω, τα προϊόντα καθαρά μπροστά, ο τίτλος λευκός όπως στα άλλα slides */
.slide.prods.has-bg { position: relative; background: var(--navy); color: #fff; }
.slide.prods.has-bg .prods-bg { position: absolute; inset: -24px; width: calc(100% + 48px); height: calc(100% + 48px); max-width: none; max-height: none; object-fit: cover; filter: blur(7px) saturate(1.1); }
.slide.prods.has-bg::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 23, 42, .62), rgba(15, 23, 42, .18) 60%, rgba(15, 23, 42, .08)); }
.slide.prods.has-bg .prods-text, .slide.prods.has-bg .prods-imgs { position: relative; z-index: 1; }
.slide.prods.has-bg .prods-text b { color: #fff; text-shadow: 0 1px 10px rgba(0, 0, 0, .35); }
.slide.prods.has-bg .prods-names { color: rgba(255, 255, 255, .88); }
.slide.prods.has-bg .prods-text .btn { background: #fff; border-color: #fff; color: var(--title); }
.slide.prods.has-bg:hover .prods-text .btn { background: var(--blue); border-color: var(--blue); color: #fff; }
.slide.prods.has-bg .prods-imgs img { box-shadow: 0 24px 50px -18px rgba(0, 0, 0, .55); }
