/*
 * =========================================================
 * DEVIDO.GR - FRONTEND
 * assets/css/style.css
 * =========================================================
 *
 * MOBILE-FIRST BASE STYLES
 *
 * Responsive expansion:
 * assets/css/responsive.css
 */


/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */

:root {

    /*
     * Τα primary / secondary / tertiary / fonts
     * δημιουργούνται δυναμικά από header.php.
     */

    --devido-accent: #ffd000;

    --devido-dark: #151419;
    --devido-dark-soft: #1d1c22;

    --devido-white: #ffffff;
    --devido-black: #111111;

    --devido-light-bg: #f3f6fb;

    --devido-border-dark:
        rgba(255, 255, 255, 0.10);

    --devido-radius-sm: 10px;
    --devido-radius-md: 18px;
    --devido-radius-lg: 28px;

    --devido-transition:
        180ms ease;
}

/* =========================================================
   LOCAL FONTS
   ========================================================= */


/* ROBOTO - MAIN / BODY */

@font-face {

    font-family:
        'Roboto';

    src:
        url(
            '/assets/fonts/roboto/roboto-variable.ttf'
        )
        format('truetype');

    font-style:
        normal;

    font-weight:
        400 900;

    font-display:
        swap;
}


/* ROBOTO CONDENSED - HEADINGS */

@font-face {

    font-family:
        'Roboto Condensed';

    src:
        url(
            '/assets/fonts/roboto-condensed/roboto-condensed-variable.ttf'
        )
        format('truetype');

    font-style:
        normal;

    font-weight:
        400 900;

    font-display:
        swap;
}

/* =========================================================
   2. RESET / GENERAL
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    min-width: 320px;

    scroll-behavior: smooth;

    -webkit-text-size-adjust: 100%;
}


body.frontend-body {

    min-width: 320px;
    min-height: 100vh;

    margin: 0;

    overflow-x: hidden;

    background: #ffffff;
    color: #18181d;

    font-family:
        var(--devido-font-primary);

    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
}


.frontend-body img {

    display: block;

    max-width: 100%;
    height: auto;
}


.frontend-body a {

    color: inherit;

    text-decoration: none;
}


.frontend-body button,
.frontend-body input,
.frontend-body select,
.frontend-body textarea {

    font: inherit;
}


.frontend-body button,
.frontend-body a {

    -webkit-tap-highlight-color:
        transparent;
}


.frontend-body h1,
.frontend-body h2,
.frontend-body h3,
.frontend-body h4,
.frontend-body h5,
.frontend-body h6 {

    margin-top: 0;
}


/* =========================================================
   3. ACCESSIBILITY
   ========================================================= */

.skip-to-content {

    position: fixed;

    top: 10px;
    left: 10px;

    z-index: 10000;

    padding: 10px 15px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius:
        var(--devido-radius-sm);

    font-weight: 700;

    transform:
        translateY(-160%);

    transition:
        transform
        var(--devido-transition);
}


.skip-to-content:focus {

    transform:
        translateY(0);
}


.frontend-body :focus-visible {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 3px;
}


/* =========================================================
   4. SITE HEADER
   MOBILE FIRST
   ========================================================= */

.site-header {

    position: relative;

    z-index: 50;

    width: 100%;

    color: #ffffff;

    background:
        var(--devido-dark);
}


.site-header__bar {

    border-bottom:
        1px solid
        var(--devido-border-dark);
}


.page-home
.site-header__bar {

    border-bottom-color:
        rgba(
            255,
            255,
            255,
            0.05
        );
}


.site-header__inner {

    min-height: 74px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 10px;
}


/* =========================================================
   LOGO
   ========================================================= */

.site-header__brand {

    min-width: 0;
}


.site-logo {

    display:
        inline-flex;

    align-items: center;
}


.site-logo__panel {

    width: 125px;

    min-height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 7px 10px;

    background: #ffffff;

    border-radius: 10px;
}


.site-logo__image {

    width: 100%;

    height: auto;

    object-fit: contain;
}


/* =========================================================
   DESKTOP INFO
   Hidden on mobile
   ========================================================= */

.site-header__information {

    display: none;
}


/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.site-header__actions {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}


/* PHONE BUTTON MOBILE */

.header-mobile-action {

    width: 42px;

    height: 42px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 42px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    font-size: 0.9rem;

    transition:
        transform
        var(--devido-transition);
}


.header-mobile-action:active {

    transform:
        scale(0.94);
}


/* MENU CTA DESKTOP */

.header-menu-cta {

    display: none;
}


/* =========================================================
   HAMBURGER
   ========================================================= */

.header-menu-toggle {

    width: 42px;

    height: 42px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 42px;

    color: #ffffff;

    background:
        rgba(
            255,
            255,
            255,
            0.055
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.13
        );

    border-radius: 50%;

    cursor: pointer;
}


.header-menu-toggle__lines {

    width: 20px;

    display: grid;

    gap: 5px;
}


.header-menu-toggle__lines span {

    width: 100%;

    height: 2px;

    display: block;

    background: #ffffff;

    border-radius: 999px;
}


.header-menu-toggle__lines
span:nth-child(2) {

    width: 72%;

    margin-left: auto;
}


/* =========================================================
   5. OFFCANVAS MENU
   ========================================================= */

.frontend-navigation {

    --bs-offcanvas-width:
        min(88vw, 390px);

    color: #ffffff;

    background:
        var(--devido-dark-soft);

    border-left:
        1px solid
        rgba(
            255,
            255,
            255,
            0.10
        ) !important;
}


.frontend-navigation
.offcanvas-header {

    min-height: 78px;

    padding: 14px 18px;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            0.09
        );
}


.frontend-navigation__brand {

    width: 132px;

    display:
        inline-flex;

    padding: 7px 10px;

    background: #ffffff;

    border-radius: 10px;
}


.frontend-navigation__logo {

    width: 100%;
    height: auto;

    object-fit: contain;
}


.frontend-navigation__close {

    opacity: 1;

    filter:
        invert(1)
        grayscale(1);
}


.frontend-navigation
.offcanvas-body {

    padding: 0;
}


.frontend-navigation__body {

    min-height: 100%;

    display: flex;

    flex-direction: column;

    padding:
        20px
        18px
        25px;
}


.frontend-navigation__list,
.footer-navigation__list,
.footer-social__list {

    margin: 0;

    padding: 0;

    list-style: none;
}


.frontend-navigation__item
+
.frontend-navigation__item {

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.075
        );
}


.frontend-navigation__link {

    min-height: 57px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 20px;

    color:
        rgba(
            255,
            255,
            255,
            0.84
        );

    font-weight: 750;

    transition:
        color
        var(--devido-transition);
}


.frontend-navigation__link:hover,
.frontend-navigation__link.is-active {

    color:
        var(--devido-accent);
}


.frontend-navigation__link-icon {

    font-size: 0.75rem;
}


/* MENU CTA */

.frontend-navigation__cta {

    margin-top: 22px;
}


.frontend-navigation__menu-button {

    min-height: 48px;

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding:
        10px
        15px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 11px;

    font-weight: 800;
}


/* BUSINESS INFO */

.frontend-navigation__business {

    margin-top: auto;

    padding-top: 35px;
}


.frontend-navigation__business-title {

    margin-bottom: 12px;

    color:
        var(--devido-accent);

    font-size: 0.82rem;

    font-weight: 850;

    text-transform:
        uppercase;

    letter-spacing: 0.07em;
}


.frontend-navigation__info {

    display: flex;

    align-items:
        flex-start;

    gap: 10px;

    margin-bottom: 12px;

    color:
        rgba(
            255,
            255,
            255,
            0.80
        );

    font-size: 0.87rem;
}


.frontend-navigation__info-icon {

    width: 30px;

    height: 30px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 30px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    font-size: 0.72rem;
}


/* SOCIAL */

.frontend-navigation__social-section {

    margin-top: 22px;
}


.frontend-navigation__socials {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


.frontend-navigation__social-link {

    width: 38px;

    height: 38px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.14
        );

    border-radius: 50%;
}


.frontend-navigation__social-link:hover {

    color: #111111;

    background:
        var(--devido-accent);

    border-color:
        var(--devido-accent);
}


/* =========================================================
   6. HOME HERO
   MOBILE FIRST
   ========================================================= */

.home-hero {

    position: relative;

    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #151419 0%,
            #19181e 52%,
            #141318 100%
        );
}


/*
 * Subtle decorative background.
 * Δεν χρειάζεται εικόνα background.
 */

.home-hero__background {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


.home-hero__background::before {

    content: "";

    position: absolute;

    inset: -20%;

    opacity: 0.17;

    background:

        radial-gradient(
            ellipse at 20% 30%,
            transparent 0 45px,
            rgba(
                255,
                255,
                255,
                0.07
            ) 46px 48px,
            transparent 49px
        ),

        radial-gradient(
            ellipse at 70% 20%,
            transparent 0 54px,
            rgba(
                255,
                255,
                255,
                0.05
            ) 55px 57px,
            transparent 58px
        );

    background-size:
        220px 170px,
        260px 200px;

    transform:
        rotate(-8deg);
}


.home-hero__swiper {

    position: relative;

    z-index: 2;

    width: 100%;
}


.home-hero__slide {

    height: auto;
}


/* =========================================================
   HERO LAYOUT MOBILE
   ========================================================= */

.home-hero__layout {

    position: relative;

    min-height: 620px;

    display: flex;

    flex-direction: column;

    padding-top: 34px;

    padding-bottom: 65px;
}


.home-hero__content {

    position: relative;

    z-index: 5;
}


/* EYEBROW */

.home-hero__eyebrow {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 12px;

    color:
        var(--devido-primary);

    font-size: 0.8rem;

    font-weight: 850;

    line-height: 1.35;
}


.home-hero__eyebrow-mark {

    width: 25px;

    height: 3px;

    flex: 0 0 25px;

    background:
        var(--devido-primary);

    border-radius: 999px;
}


/* TITLE */

.home-hero__title {

    max-width: 11ch;

    margin-bottom: 15px;

    color:
        var(--devido-accent);

    font-family:
        var(--devido-font-primary);

    font-size:
        clamp(
            2.45rem,
            13vw,
            3.55rem
        );

    font-weight: 900;

    line-height: 0.98;

    letter-spacing:
        -0.035em;
}


/* DESCRIPTION */

.home-hero__description {

    max-width: 35rem;

    margin-bottom: 22px;

    color:
        rgba(
            255,
            255,
            255,
            0.82
        );

    font-size: 0.94rem;

    line-height: 1.65;
}


/* =========================================================
   HERO CTA + RATING
   ========================================================= */

.home-hero__actions {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 18px;
}


.home-hero__cta {

    position: relative;

    min-height: 48px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding:
        11px
        18px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        2px solid
        var(--devido-primary);

    border-radius: 9px;

    font-size: 0.84rem;

    font-weight: 800;

    transition:
        transform
        var(--devido-transition);
}


.home-hero__cta::after {

    content: "";

    position: absolute;

    inset:
        4px
        -5px
        -5px
        4px;

    z-index: -1;

    border:
        2px solid
        var(--devido-primary);

    border-radius: inherit;
}


.home-hero__cta:hover {

    color: #ffffff;

    transform:
        translateY(-2px);
}


.home-hero__rating {

    display: flex;

    align-items: center;

    gap: 9px;
}


.home-hero__stars {

    display: flex;

    gap: 3px;

    color:
        var(--devido-accent);

    font-size: 0.82rem;
}


.home-hero__rating-number {

    color: #ffffff;

    font-size: 0.9rem;

    font-weight: 850;
}


/* =========================================================
   HERO PRODUCT IMAGE
   ========================================================= */

.home-hero__visual {

    position: relative;

    z-index: 2;

    width: 100%;

    min-height: 300px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-top: 14px;
}


/*
 * Κόκκινο shape πίσω από το transparent προϊόν.
 */

.home-hero__product-backdrop {

    position: absolute;

    z-index: 1;

    width: 90%;

    height: 62%;

    right: -18%;

    top: 23%;

    background:
        var(--devido-primary);

    border-radius:
        90px
        0
        0
        90px;
}


/*
 * Κίτρινο διακοσμητικό στοιχείο.
 */

.home-hero__product-accent {

    position: absolute;

    z-index: 2;

    width: 76px;

    height: 76px;

    left: 4%;

    bottom: 8%;

    background:
        var(--devido-accent);

    border:
        5px solid
        var(--devido-dark);

    border-radius: 50%;

    box-shadow:
        0 0 0 2px
        var(--devido-accent);
}


.home-hero__picture {

    position: relative;

    z-index: 3;

    width: 100%;
}


.home-hero__image {

    position: relative;

    z-index: 3;

    width:
        min(
            106%,
            460px
        );

    max-width: none;

    margin: 0 auto;

    aspect-ratio: 1 / 1;

    object-fit: contain;

    filter:
        drop-shadow(
            0
            22px
            24px
            rgba(
                0,
                0,
                0,
                0.24
            )
        );

    user-select: none;
}


/* =========================================================
   HERO CONTROLS
   ========================================================= */

.home-hero__controls {

    position: absolute;

    z-index: 10;

    left: 0;

    right: 0;

    bottom: 20px;

    pointer-events: none;
}


.home-hero__controls-inner {

    display: flex;

    align-items: center;

    justify-content: center;
}


/*
 * Mobile:
 * arrows hidden, swipe + dots.
 */

.home-hero__arrow {

    display: none;
}


/* PAGINATION */

.home-hero__pagination {

    position: static !important;

    width: auto !important;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    pointer-events: auto;
}


.home-hero__pagination
.swiper-pagination-bullet {

    width: 9px;

    height: 9px;

    margin: 0 !important;

    opacity: 1;

    background: #ffffff;

    transition:
        width
        var(--devido-transition),
        background-color
        var(--devido-transition);
}


.home-hero__pagination
.swiper-pagination-bullet-active {

    width: 23px;

    background:
        var(--devido-primary);

    border-radius: 999px;
}


/* =========================================================
   HERO SLIDE ANIMATION
   Only after Swiper successfully initializes
   ========================================================= */

.home-hero__swiper.is-swiper-ready
.swiper-slide
.home-hero__eyebrow,

.home-hero__swiper.is-swiper-ready
.swiper-slide
.home-hero__title,

.home-hero__swiper.is-swiper-ready
.swiper-slide
.home-hero__description,

.home-hero__swiper.is-swiper-ready
.swiper-slide
.home-hero__actions {

    opacity: 0;

    transform:
        translateY(12px);

    transition:
        opacity
        420ms ease,
        transform
        520ms ease;
}


.home-hero__swiper.is-swiper-ready
.swiper-slide
.home-hero__image {

    opacity: 0;

    transform:
        translateX(18px)
        scale(0.97);

    transition:
        opacity
        520ms ease,
        transform
        680ms ease;
}


.home-hero__swiper.is-swiper-ready
.swiper-slide-active
.home-hero__eyebrow,

.home-hero__swiper.is-swiper-ready
.swiper-slide-active
.home-hero__title,

.home-hero__swiper.is-swiper-ready
.swiper-slide-active
.home-hero__description,

.home-hero__swiper.is-swiper-ready
.swiper-slide-active
.home-hero__actions {

    opacity: 1;

    transform: none;
}


.home-hero__swiper.is-swiper-ready
.swiper-slide-active
.home-hero__image {

    opacity: 1;

    transform: none;
}


/* =========================================================
   7. SITE FOOTER
   MOBILE FIRST
   ========================================================= */

.site-footer {

    color: #17191d;

    background:
        var(--devido-light-bg);
}


.site-footer__main {

    padding:
        48px
        0
        38px;
}


.site-footer__grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 34px;
}


/* =========================================================
   FOOTER BRAND CARD
   ========================================================= */

.site-footer__column--brand {

    padding: 24px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius:
        var(--devido-radius-lg);
}


.footer-brand {

    display:
        inline-flex;
}


.footer-brand__panel {

    width:
        min(
            100%,
            205px
        );

    padding:
        10px
        13px;

    background: #ffffff;

    border-radius: 11px;
}


.footer-brand__logo {

    width: 100%;

    object-fit: contain;
}


/* GOOGLE */

.footer-rating {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap:
        7px
        10px;

    margin-top: 23px;
}


.footer-rating__brand {

    display:
        inline-flex;

    align-items: center;

    gap: 7px;

    font-weight: 850;
}


.footer-rating__stars {

    display: flex;

    gap: 2px;

    color:
        var(--devido-accent);

    font-size: 0.8rem;
}


.footer-rating__score {

    font-size: 0.8rem;

    font-weight: 850;
}


/* TRIPADVISOR */

.footer-tripadvisor {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 18px;

    color: #ffffff;
}


.footer-tripadvisor:hover {

    color: #ffffff;
}


.footer-tripadvisor__icon {

    width: 39px;

    height: 39px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 39px;

    color:
        var(--devido-primary);

    background: #ffffff;

    border-radius: 50%;
}


.footer-tripadvisor__content {

    min-width: 0;

    display: grid;

    gap: 1px;
}


.footer-tripadvisor__content strong {

    font-size: 0.92rem;
}


.footer-tripadvisor__content small {

    color:
        rgba(
            255,
            255,
            255,
            0.76
        );

    font-size: 0.72rem;
}


.footer-tripadvisor__external {

    margin-left: auto;

    opacity: 0.7;

    font-size: 0.7rem;
}


/* =========================================================
   FOOTER HEADINGS
   ========================================================= */

.site-footer__title {

    margin-bottom: 5px;

    color: #111318;

    font-family:
        var(--devido-font-primary);

    font-size: 1.25rem;

    font-weight: 900;
}


.site-footer__title-line {

    width: 55px;

    height: 4px;

    display: block;

    margin-bottom: 18px;

    background:
        var(--devido-accent);

    border-radius: 999px;
}


/* =========================================================
   FOOTER LINKS
   ========================================================= */

.footer-navigation__link {

    min-height: 40px;

    display:
        inline-flex;

    align-items: center;

    gap: 9px;

    color: #50545b;

    font-size: 0.9rem;

    font-weight: 650;

    transition:
        color
        var(--devido-transition),
        transform
        var(--devido-transition);
}


.footer-navigation__link i {

    color: #777c83;

    font-size: 0.65rem;
}


.footer-navigation__link:hover {

    color:
        var(--devido-primary);

    transform:
        translateX(3px);
}


/* =========================================================
   FOOTER SOCIAL
   ========================================================= */

.footer-social__list {

    display: grid;

    gap: 5px;
}


.footer-social__link {

    min-height: 44px;

    display: flex;

    align-items: center;

    gap: 10px;

    color: #41454c;

    border-bottom:
        1px solid
        rgba(
            17,
            19,
            24,
            0.07
        );
}


.footer-social__icon {

    width: 32px;

    height: 32px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 32px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 50%;

    font-size: 0.78rem;
}


.footer-social__name {

    font-size: 0.88rem;

    font-weight: 700;
}


.footer-social__arrow {

    margin-left: auto;

    color: #999da3;

    font-size: 0.68rem;
}


.footer-social__link:hover {

    color:
        var(--devido-primary);
}


/* =========================================================
   OPENING HOURS CARD
   ========================================================= */

.footer-hours-card {

    overflow: hidden;

    background:
        var(--devido-accent);

    border-radius:
        var(--devido-radius-lg);

    box-shadow:
        0
        16px
        36px
        rgba(
            21,
            20,
            25,
            0.08
        );
}


.footer-hours-card__main {

    padding:
        25px
        22px
        21px;
}


.footer-hours-card__title {

    margin-bottom: 6px;

    color: #111111;

    font-family:
        var(--devido-font-primary);

    font-size: 1.25rem;

    font-weight: 900;

    text-align: center;

    text-transform:
        uppercase;
}


.footer-hours-card__title-line {

    width: 64px;

    height: 4px;

    display: block;

    margin:
        0
        auto
        20px;

    background: #111111;

    border-radius: 999px;
}


.footer-hours {

    display: grid;

    gap: 8px;
}


.footer-hours__row {

    display: grid;

    grid-template-columns:
        minmax(80px, 0.8fr)
        minmax(0, 1.2fr);

    gap: 12px;

    align-items: baseline;

    color: #111111;

    font-size: 0.82rem;

    line-height: 1.35;
}


.footer-hours__day {

    font-weight: 800;
}


.footer-hours__time {

    font-weight: 700;

    text-align: right;
}


.footer-hours__fallback {

    color: #222222;

    font-size: 0.84rem;

    text-align: center;
}


/* RED CONTACT AREA */

.footer-hours-card__contact {

    padding:
        18px
        18px
        20px;

    color: #ffffff;

    background:
        var(--devido-primary);

    text-align: center;

    border-radius:
        var(--devido-radius-lg)
        var(--devido-radius-lg)
        0
        0;
}


.footer-hours-card__phone {

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    color: #ffffff;

    font-size: 1.08rem;

    font-weight: 900;
}


.footer-hours-card__phone:hover {

    color: #ffffff;
}


.footer-hours-card__address {

    display: block;

    margin-top: 5px;

    color:
        rgba(
            255,
            255,
            255,
            0.88
        );

    font-size: 0.76rem;

    font-weight: 650;
}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.site-footer__bottom {

    border-top:
        5px solid
        var(--devido-accent);
}


.site-footer__bottom-inner {

    min-height: 78px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    gap: 14px;

    padding:
        16px
        0;
}


.site-footer__copyright {

    display: flex;

    flex-wrap: wrap;

    gap: 3px 5px;

    color: #5d626a;

    font-size: 0.76rem;
}


.site-footer__copyright strong {

    color:
        var(--devido-primary);
}


.site-footer__bottom-socials {

    display: flex;

    flex-wrap: wrap;

    gap: 7px;
}


.site-footer__bottom-social {

    width: 34px;

    height: 34px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    color: #15171b;

    border:
        1px solid
        rgba(
            21,
            23,
            27,
            0.15
        );

    border-radius: 50%;

    font-size: 0.77rem;
}


.site-footer__bottom-social:hover {

    color: #ffffff;

    background:
        var(--devido-primary);

    border-color:
        var(--devido-primary);
}


/* =========================================================
   8. GENERIC SECTIONS
   For pages we will add later
   ========================================================= */

.frontend-section {

    padding:
        54px
        0;
}


.frontend-section--soft {

    background: #f7f9fc;
}


.frontend-section__eyebrow {

    margin-bottom: 8px;

    color:
        var(--devido-primary);

    font-size: 0.78rem;

    font-weight: 850;

    text-transform:
        uppercase;

    letter-spacing: 0.06em;
}


.frontend-section__title {

    margin-bottom: 12px;

    color: #17191d;

    font-family:
        var(--devido-font-primary);

    font-size:
        clamp(
            1.8rem,
            8vw,
            2.45rem
        );

    font-weight: 900;

    line-height: 1.08;
}


/* =========================================================
   9. REDUCED MOTION
   ========================================================= */

@media (
    prefers-reduced-motion:
    reduce
) {

    html {

        scroll-behavior: auto;
    }


    .frontend-body *,
    .frontend-body *::before,
    .frontend-body *::after {

        transition-duration:
            0.01ms !important;

        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;
    }

}

/* =========================================================
   MAIN CONTENT BACKGROUND
   DEVIDO DIAGONAL PATTERN
   ========================================================= */

.site-content {

    position: relative;

    /*
     * Βασικό ανοιχτό background.
     */
    background-color:
        #f7f7f6;


    /*
     * Διακριτικές λοξές γραμμές,
     * εμπνευσμένες από τον έντυπο κατάλογο.
     *
     * Το pattern είναι intentionally πολύ αχνό
     * ώστε να παραμένει ευανάγνωστο το κείμενο.
     */
    background-image:

        repeating-linear-gradient(

            135deg,

            rgba(
                30,
                30,
                30,
                0.018
            ) 0,

            rgba(
                30,
                30,
                30,
                0.018
            ) 13px,

            rgba(
                255,
                255,
                255,
                0.34
            ) 13px,

            rgba(
                255,
                255,
                255,
                0.34
            ) 26px

        );


    /*
     * Δεν χρησιμοποιούμε fixed.
     *
     * Το background ακολουθεί κανονικά
     * το scroll της σελίδας.
     */
    background-attachment:
        scroll;

}


/*
 * Μικρή προστασία ώστε το content
 * να βρίσκεται πάνω από οποιαδήποτε
 * μελλοντικά decorative elements.
 */

.site-content > * {

    position: relative;

    z-index: 1;

}

/* =========================================================
   10. HOMEPAGE
   ========================================================= */


/* =========================================================
   HOMEPAGE - COMMON SECTION HEADING
   ========================================================= */

.home-section-heading {

    max-width: 650px;

    margin-bottom: 28px;
}


.home-section-heading--center {

    margin-left: auto;

    margin-right: auto;

    text-align: center;
}


.home-section-heading__eyebrow {

    margin-bottom: 7px;
}


.home-section-heading__title {

    margin-bottom: 10px;
}


.home-section-heading__description {

    max-width: 540px;

    margin-bottom: 0;

    color: #6d7178;

    line-height: 1.65;
}


.home-section-heading--center
.home-section-heading__description {

    margin-left: auto;

    margin-right: auto;
}



/* =========================================================
   10.1 HOME INTRO
   ========================================================= */

.home-intro {

    position: relative;

    padding-top: 66px;

    padding-bottom: 66px;
}


.home-intro__inner {

    max-width: 760px;

    margin: 0 auto;

    text-align: center;
}


.home-intro__eyebrow {

    margin-bottom: 9px;

    color:
        var(--devido-primary);
}


.home-intro__title {

    max-width: 680px;

    margin-left: auto;

    margin-right: auto;

    margin-bottom: 18px;

    color: #17181c;

    font-size:
        clamp(
            2rem,
            9vw,
            3rem
        );

    font-weight: 900;

    line-height: 1.05;

    letter-spacing:
        -0.035em;
}


.home-intro__title span {

    display: block;

    color:
        var(--devido-primary);
}


/* Small brand-style divider */

.home-intro__divider {

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        21px
        auto;
}


.home-intro__divider span {

    position: relative;

    width: 70px;

    height: 4px;

    display: block;

    background:
        var(--devido-accent);

    border-radius: 999px;
}


.home-intro__divider span::before {

    content: "";

    position: absolute;

    width: 10px;

    height: 10px;

    left: 50%;

    top: 50%;

    background:
        var(--devido-primary);

    border-radius: 50%;

    transform:
        translate(
            -50%,
            -50%
        );

    box-shadow:
        0 0 0 5px
        #f7f7f6;
}


.home-intro__description {

    max-width: 690px;

    margin:
        0
        auto;

    color: #5f646b;

    font-size: 0.96rem;

    line-height: 1.8;
}



/* =========================================================
   10.2 FEATURED PRODUCTS
   ========================================================= */

.home-featured {

    position: relative;

    padding-top: 50px;

    padding-bottom: 72px;
}


/*
 * A subtle separator without creating a hard horizontal line.
 */

.home-featured::before {

    content: "";

    position: absolute;

    top: 0;

    left: 50%;

    width:
        min(
            calc(100% - 32px),
            1180px
        );

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(
                30,
                32,
                36,
                0.10
            ),
            transparent
        );

    transform:
        translateX(-50%);
}


/* GRID */

.home-featured__grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 18px;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.home-product-card {

    position: relative;

    overflow: hidden;

    background:
        rgba(
            255,
            255,
            255,
            0.91
        );

    border:
        1px solid
        rgba(
            17,
            19,
            24,
            0.07
        );

    border-radius: 22px;

    box-shadow:
        0
        12px
        30px
        rgba(
            18,
            19,
            23,
            0.055
        );

    transition:
        transform
        var(--devido-transition),
        box-shadow
        var(--devido-transition),
        border-color
        var(--devido-transition);
}


/* Visual area */

.home-product-card__visual {

    position: relative;

    min-height: 230px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    padding: 20px;
}


/*
 * Soft red shape behind the product.
 */

.home-product-card__image-bg {

    position: absolute;

    width: 180px;

    height: 180px;

    top: 50%;

    left: 50%;

    background: #fcebed;
    background:
        color-mix(
            in srgb,
            var(--devido-primary) 10%,
            white
        );

    border-radius:
        50%;

    transform:
        translate(
            -50%,
            -50%
        );
}


.home-product-card__image-bg::after {

    content: "";

    position: absolute;

    width: 74px;

    height: 74px;

    right: -15px;

    bottom: -4px;

    background:
        var(--devido-accent);

    border-radius: 50%;

    opacity: 0.85;
}


.home-product-card__image {

    position: relative;

    z-index: 2;

    width: min(82%, 230px);

    max-height: 215px;

    object-fit: contain;

    filter:
        drop-shadow(
            0
            14px
            14px
            rgba(
                0,
                0,
                0,
                0.13
            )
        );

    transition:
        transform
        260ms ease;
}


/* Featured star */

.home-product-card__featured {

    position: absolute;

    z-index: 4;

    top: 14px;

    right: 14px;

    width: 36px;

    height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: #151515;

    background:
        var(--devido-accent);

    border-radius: 50%;

    box-shadow:
        0
        5px
        14px
        rgba(
            0,
            0,
            0,
            0.12
        );

    font-size: 0.78rem;
}


/* Card content */

.home-product-card__content {

    position: relative;

    z-index: 3;

    padding:
        0
        18px
        19px;
}


.home-product-card__category {

    margin-bottom: 5px;

    color:
        var(--devido-primary);

    font-size: 0.71rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing:
        0.055em;
}


.home-product-card__bottom {

    display: flex;

    align-items: flex-end;

    justify-content:
        space-between;

    gap: 15px;
}


.home-product-card__title {

    margin: 0;

    color: #191a1e;

    font-family:
        var(--devido-font-primary);

    font-size: 1.03rem;

    font-weight: 850;

    line-height: 1.25;
}


.home-product-card__price {

    flex-shrink: 0;

    color:
        var(--devido-primary);

    font-size: 0.98rem;

    font-weight: 900;

    white-space: nowrap;
}


.home-product-card__price.has-offer {

    position: relative;

    padding:
        3px
        7px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 7px;
}



/* =========================================================
   10.3 CATEGORIES
   ========================================================= */

.home-categories {

    position: relative;

    padding-top: 65px;

    padding-bottom: 74px;
}


/*
 * Very subtle white translucent area so the diagonal
 * pattern remains visible underneath.
 */

.home-categories::before {

    content: "";

    position: absolute;

    inset:
        24px
        0;

    background:
        rgba(
            255,
            255,
            255,
            0.26
        );

    pointer-events: none;
}


.home-categories
.container {

    position: relative;

    z-index: 1;
}


/* =========================================================
   CATEGORY MOSAIC
   ========================================================= */

.home-categories__mosaic {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: center;

    gap:
        11px
        9px;

    max-width: 920px;

    margin:
        30px
        auto
        0;
}


/* CATEGORY CHIP */

.home-category-chip {

    position: relative;

    min-height: 46px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    padding:
        9px
        15px;

    border-radius:
        999px;

    user-select: none;

    transition:
        transform
        var(--devido-transition);
}


.home-category-chip__name {

    position: relative;

    z-index: 2;

    font-size: 0.81rem;

    font-weight: 850;

    line-height: 1.2;

    text-align: center;

    text-transform: uppercase;

    letter-spacing:
        0.025em;
}


.home-category-chip__decor {

    position: absolute;

    width: 24px;

    height: 24px;

    right: -8px;

    bottom: -8px;

    border-radius: 50%;

    opacity: 0.65;
}


/* VARIANT 1 - RED */

.home-category-chip--1 {

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        2px solid
        var(--devido-primary);
}


.home-category-chip--1
.home-category-chip__decor {

    background:
        var(--devido-accent);
}


/* VARIANT 2 - YELLOW */

.home-category-chip--2 {

    color: #111111;

    background:
        var(--devido-accent);

    border:
        2px solid
        var(--devido-accent);
}


.home-category-chip--2
.home-category-chip__decor {

    background:
        var(--devido-primary);
}


/* VARIANT 3 - WHITE */

.home-category-chip--3 {

    color: #212226;

    background:
        rgba(
            255,
            255,
            255,
            0.94
        );

    border:
        2px solid
        rgba(
            22,
            23,
            27,
            0.11
        );

    box-shadow:
        0
        5px
        15px
        rgba(
            0,
            0,
            0,
            0.045
        );
}


.home-category-chip--3
.home-category-chip__decor {

    background:
        var(--devido-primary);
}


/* VARIANT 4 - BLACK */

.home-category-chip--4 {

    color: #ffffff;

    background:
        var(--devido-dark);

    border:
        2px solid
        var(--devido-dark);
}


.home-category-chip--4
.home-category-chip__decor {

    background:
        var(--devido-accent);
}



/* =========================================================
   10.4 FINAL MENU CTA
   ========================================================= */

.home-menu-cta {

    padding-top: 42px;

    padding-bottom: 78px;
}


.home-menu-cta__panel {

    position: relative;

    overflow: hidden;

    min-height: 360px;

    display: flex;

    align-items: center;

    padding:
        34px
        24px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #17161b,
            #211f25
        );

    border-radius:
        28px;

    box-shadow:
        0
        22px
        50px
        rgba(
            17,
            17,
            21,
            0.14
        );
}


/*
 * Red decorative shape.
 */

.home-menu-cta__shape {

    position: absolute;

    display: block;

    pointer-events: none;
}


.home-menu-cta__shape--one {

    width: 260px;

    height: 260px;

    right: -145px;

    top: -60px;

    background:
        var(--devido-primary);

    border-radius: 50%;
}


.home-menu-cta__shape--two {

    width: 130px;

    height: 130px;

    right: 35px;

    bottom: -75px;

    background:
        var(--devido-accent);

    border-radius: 50%;
}


.home-menu-cta__content {

    position: relative;

    z-index: 3;

    max-width: 620px;
}


.home-menu-cta__eyebrow {

    color:
        var(--devido-accent);
}


.home-menu-cta__title {

    margin-bottom: 13px;

    color: #ffffff;

    font-family:
        var(--devido-font-primary);

    font-size:
        clamp(
            2rem,
            9vw,
            3.2rem
        );

    font-weight: 900;

    line-height: 1;

    letter-spacing:
        -0.03em;
}


.home-menu-cta__description {

    max-width: 520px;

    margin-bottom: 24px;

    color:
        rgba(
            255,
            255,
            255,
            0.76
        );

    font-size: 0.93rem;

    line-height: 1.7;
}


/* CTA button */

.home-menu-cta__button {

    position: relative;

    min-height: 50px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding:
        11px
        19px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        2px solid
        var(--devido-primary);

    border-radius: 9px;

    font-size: 0.86rem;

    font-weight: 850;

    transition:
        transform
        var(--devido-transition);
}


.home-menu-cta__button::after {

    content: "";

    position: absolute;

    inset:
        4px
        -5px
        -5px
        4px;

    z-index: -1;

    border:
        2px solid
        var(--devido-primary);

    border-radius: inherit;
}


.home-menu-cta__button:hover {

    color: #ffffff;

    transform:
        translateY(-2px);
}


/* Big utensil icon */

.home-menu-cta__icon {

    position: absolute;

    z-index: 2;

    right: -10px;

    bottom: -20px;

    width: 165px;

    height: 165px;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        rgba(
            255,
            255,
            255,
            0.055
        );

    font-size: 7rem;

    transform:
        rotate(-12deg);

    pointer-events: none;
}



/* =========================================================
   10.5 HOMEPAGE HOVER BEHAVIOUR
   ========================================================= */

@media (
    hover: hover
)
and
(
    pointer: fine
) {


    .home-product-card:hover {

        transform:
            translateY(-6px);

        border-color:
            rgba(
                220,
                30,
                46,
                0.15
            );

        box-shadow:
            0
            20px
            38px
            rgba(
                18,
                19,
                23,
                0.09
            );
    }


    .home-product-card:hover
    .home-product-card__image {

        transform:
            scale(1.045);
    }


    .home-category-chip:hover {

        transform:
            translateY(-3px);
    }

}

/* =========================================================
   11. MENU PAGE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Desktop/tablet expansion belongs exclusively in:
 *
 * assets/css/responsive.css
 */


/* =========================================================
   11.1 MENU MAIN
   ========================================================= */

.menu-main {

    position: relative;

    padding-bottom: 60px;
}


/* =========================================================
   11.2 MENU INTRO
   ========================================================= */

.menu-intro {

    position: relative;

    padding:
        48px
        0
        36px;
}


.menu-intro__inner {

    max-width: 720px;

    margin:
        0
        auto;

    text-align: center;
}


.menu-intro__eyebrow {

    margin-bottom: 7px;

    color:
        var(--devido-primary);

    font-size: 0.76rem;

    font-weight: 850;

    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing: 0.075em;
}


.menu-intro__title {

    margin-bottom: 14px;

    color: #17181c;

    font-family:
        var(--devido-font-primary);

    font-size:
        clamp(
            2.25rem,
            11vw,
            3.2rem
        );

    font-weight: 900;

    line-height: 1;

    letter-spacing:
        -0.035em;
}


.menu-intro__description {

    max-width: 620px;

    margin:
        0
        auto;

    color: #666a71;

    font-size: 0.91rem;

    line-height: 1.7;
}


/* Small information hint */

.menu-intro__hint {

    width: fit-content;

    max-width: 100%;

    display:
        inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 20px;

    padding:
        8px
        12px;

    color: #555960;

    background:
        rgba(
            255,
            255,
            255,
            0.76
        );

    border:
        1px solid
        rgba(
            17,
            19,
            24,
            0.07
        );

    border-radius: 999px;

    box-shadow:
        0
        5px
        15px
        rgba(
            20,
            20,
            24,
            0.035
        );

    font-size: 0.74rem;

    line-height: 1.35;
}


.menu-intro__hint i {

    color:
        var(--devido-primary);

    font-size: 0.78rem;
}



/* =========================================================
   11.3 MENU CATALOG
   ========================================================= */

.menu-catalog {

    position: relative;

    padding:
        10px
        0
        40px;
}


.menu-accordion {

    display: grid;

    gap: 14px;
}



/* =========================================================
   11.4 MENU CATEGORY
   ========================================================= */

.menu-category {

    position: relative;

    overflow: hidden;

    background:
        rgba(
            255,
            255,
            255,
            0.93
        );

    border:
        1px solid
        rgba(
            17,
            19,
            24,
            0.075
        );

    border-radius:
        20px;

    box-shadow:
        0
        10px
        28px
        rgba(
            18,
            19,
            23,
            0.045
        );
}


/*
 * Featured section gets a stronger visual identity.
 */

.menu-category--featured {

    border-color:
        rgba(
            220,
            30,
            46,
            0.15
        );

    box-shadow:
        0
        12px
        32px
        rgba(
            220,
            30,
            46,
            0.065
        );
}


.menu-category--featured::before {

    content: "";

    position: absolute;

    z-index: 2;

    top: 0;

    left: 0;

    right: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            var(--devido-primary),
            var(--devido-accent)
        );
}


/* Heading reset */

.menu-category__heading {

    margin: 0;
}


/* =========================================================
   CATEGORY TOGGLE
   ========================================================= */

.menu-category__toggle {

    width: 100%;

    min-height: 82px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 12px;

    padding:
        14px
        15px;

    color: #17191d;

    background:
        transparent;

    text-align: left;

    cursor: pointer;

    transition:
        background-color
        var(--devido-transition);
}


.menu-category__toggle:not(.collapsed) {

    background:
        rgba(
            255,
            255,
            255,
            0.58
        );
}


.menu-category__title-wrap {

    min-width: 0;

    display: flex;

    align-items: center;

    gap: 12px;
}


/* Category icon */

.menu-category__icon {

    width: 44px;

    height: 44px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 44px;

    color: #ffffff;

    background:
        var(--devido-dark);

    border-radius: 50%;

    font-size: 0.9rem;
}


.menu-category__icon--featured {

    color: #111111;

    background:
        var(--devido-accent);
}


/* Category text */

.menu-category__title {

    display: block;

    color: #18191d;

    font-family:
        var(--devido-font-primary);

    font-size: 1.05rem;

    font-weight: 900;

    line-height: 1.2;
}


.menu-category__subtitle {

    display: block;

    margin-top: 3px;

    color: #85888e;

    font-size: 0.7rem;

    font-weight: 600;

    line-height: 1.35;
}


/* Accordion arrow */

.menu-category__arrow {

    width: 34px;

    height: 34px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 34px;

    color: #5f6369;

    background:
        #f4f5f7;

    border-radius: 50%;

    font-size: 0.72rem;

    transition:
        color
        var(--devido-transition),
        background-color
        var(--devido-transition),
        transform
        220ms ease;
}


.menu-category__toggle:not(.collapsed)
.menu-category__arrow {

    color: #ffffff;

    background:
        var(--devido-primary);

    transform:
        rotate(180deg);
}



/* =========================================================
   11.5 PRODUCTS CONTAINER
   ========================================================= */

.menu-category__products {

    display: grid;

    gap: 0;

    padding:
        0
        10px
        10px;
}



/* =========================================================
   11.6 PRODUCT ROW
   ========================================================= */

.menu-product {

    position: relative;

    overflow: hidden;

    background: transparent;

    border-top:
        1px solid
        rgba(
            20,
            21,
            25,
            0.07
        );

    transition:
        background-color
        180ms ease,
        box-shadow
        180ms ease;
}


/*
 * First product doesn't need a separator.
 */

.menu-category__products
.menu-product:first-child {

    border-top: 0;
}


/*
 * JS will toggle:
 *
 * .menu-product.is-selected
 */

.menu-product.is-selected {

    margin:
        4px
        0;

    background:
        linear-gradient(
            135deg,
            rgba(
                220,
                30,
                46,
                0.07
            ),
            rgba(
                255,
                208,
                0,
                0.045
            )
        );

    border-radius: 15px;

    box-shadow:
        inset
        3px
        0
        0
        var(--devido-primary);
}



/* =========================================================
   PRODUCT SELECTABLE BUTTON
   ========================================================= */

.menu-product__toggle {

    width: 100%;

    min-height: 92px;

    display: grid;

    grid-template-columns:
        64px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap:
        10px
        11px;

    padding:
        12px
        6px;

    color: inherit;

    background:
        transparent;

    text-align: left;

    cursor: pointer;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.menu-product__image-wrap {

    position: relative;

    width: 64px;

    height: 64px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    background:
        #f5f5f4;

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.055
        );

    border-radius:
        13px;
}


.menu-product__image-wrap::before {

    content: "";

    position: absolute;

    width: 48px;

    height: 48px;

    background:
        rgba(
            220,
            30,
            46,
            0.06
        );

    border-radius: 50%;
}


.menu-product__image {

    position: relative;

    z-index: 2;

    width: 92%;

    height: 92%;

    object-fit: contain;

    filter:
        drop-shadow(
            0
            5px
            5px
            rgba(
                0,
                0,
                0,
                0.09
            )
        );

    transition:
        transform
        220ms ease;
}



/* =========================================================
   PRODUCT CONTENT
   ========================================================= */

.menu-product__main {

    min-width: 0;

    display: block;
}


.menu-product__heading {

    display: flex;

    align-items: center;

    gap: 7px;
}


.menu-product__title {

    color: #17191d;

    font-size: 0.91rem;

    font-weight: 850;

    line-height: 1.25;
}


/* Featured small star */

.menu-product__star {

    flex-shrink: 0;

    color:
        var(--devido-accent);

    font-size: 0.68rem;
}


/* Description */

.menu-product__description {

    display:
        -webkit-box;

    overflow: hidden;

    margin-top: 4px;

    color: #787c82;

    font-size: 0.71rem;

    line-height: 1.45;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;
}



/* =========================================================
   PRODUCT PRICE
   ========================================================= */

.menu-product__price-area {

    min-width: 62px;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: center;

    gap: 2px;
}


.menu-product__old-price {

    color: #989ba0;

    font-size: 0.65rem;

    font-weight: 650;

    text-decoration:
        line-through;

    white-space: nowrap;
}


.menu-product__price {

    color:
        var(--devido-primary);

    font-size: 0.86rem;

    font-weight: 900;

    white-space: nowrap;
}


.menu-product__pita-indicator {

    color: #8b8f95;

    font-size: 0.57rem;

    font-weight: 700;

    white-space: nowrap;
}



/* =========================================================
   PRODUCT CHECK
   ========================================================= */

.menu-product__check {

    position: absolute;

    z-index: 5;

    top: 7px;

    left: 52px;

    width: 22px;

    height: 22px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        3px solid
        #ffffff;

    border-radius: 50%;

    box-shadow:
        0
        3px
        8px
        rgba(
            0,
            0,
            0,
            0.12
        );

    font-size: 0.48rem;

    opacity: 0;

    transform:
        scale(0.6);

    transition:
        opacity
        180ms ease,
        transform
        180ms ease;
}


.menu-product.is-selected
.menu-product__check {

    opacity: 1;

    transform:
        scale(1);
}



/* =========================================================
   11.7 PRODUCT SELECTION PANEL
   ========================================================= */

.menu-product__selection {

    position: relative;

    padding:
        0
        7px
        14px;
}


/*
 * Native hidden attribute must always win.
 */

.menu-product__selection[hidden] {

    display:
        none !important;
}


.menu-product__selection-inner {

    display: grid;

    gap: 15px;

    padding:
        15px;

    background:
        rgba(
            255,
            255,
            255,
            0.90
        );

    border:
        1px solid
        rgba(
            220,
            30,
            46,
            0.11
        );

    border-radius:
        14px;
}


/* =========================================================
   OPTION GROUP
   ========================================================= */

.menu-product__option-group {

    min-width: 0;
}


.menu-product__option-label {

    display: block;

    margin-bottom: 7px;

    color: #5f6369;

    font-size: 0.68rem;

    font-weight: 800;

    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing:
        0.055em;
}



/* =========================================================
   11.8 PRODUCT VARIANTS
   ========================================================= */

.menu-product__variants {

    display: grid;

    grid-template-columns: 1fr;

    gap: 7px;
}


.menu-product-variant {

    position: relative;

    display: block;

    margin: 0;

    cursor: pointer;
}


/*
 * Keep radio accessible but visually hidden.
 */

.menu-product-variant input {

    position: absolute;

    width: 1px;

    height: 1px;

    overflow: hidden;

    opacity: 0;

    pointer-events: none;
}


.menu-product-variant__content {

    min-height: 44px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 12px;

    padding:
        9px
        11px;

    color: #373a3f;

    background: #f6f7f8;

    border:
        2px solid
        transparent;

    border-radius:
        10px;

    transition:
        border-color
        160ms ease,
        background-color
        160ms ease,
        color
        160ms ease;
}


.menu-product-variant__content::before {

    content: "";

    width: 16px;

    height: 16px;

    flex: 0 0 16px;

    background: #ffffff;

    border:
        2px solid
        #a9adb2;

    border-radius: 50%;

    box-shadow:
        inset
        0
        0
        0
        3px
        #ffffff;
}


.menu-product-variant__name {

    margin-right: auto;

    font-size: 0.79rem;

    font-weight: 750;
}


.menu-product-variant__content strong {

    color:
        var(--devido-primary);

    font-size: 0.79rem;

    font-weight: 900;

    white-space: nowrap;
}


/* Checked variant */

.menu-product-variant
input:checked
+
.menu-product-variant__content {

    color: #17181c;

    background:
        rgba(
            220,
            30,
            46,
            0.055
        );

    border-color:
        rgba(
            220,
            30,
            46,
            0.28
        );
}


.menu-product-variant
input:checked
+
.menu-product-variant__content::before {

    background:
        var(--devido-primary);

    border-color:
        var(--devido-primary);
}


/* Keyboard accessibility */

.menu-product-variant
input:focus-visible
+
.menu-product-variant__content {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 2px;
}



/* =========================================================
   11.9 QUANTITY
   ========================================================= */

.menu-product-quantity {

    width: 132px;

    height: 42px;

    display: grid;

    grid-template-columns:
        40px
        52px
        40px;

    overflow: hidden;

    background: #ffffff;

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.13
        );

    border-radius:
        10px;
}


.menu-product-quantity__button {

    display: flex;

    align-items: center;

    justify-content: center;

    color: #33363b;

    background: #f4f5f6;

    cursor: pointer;

    font-size: 0.68rem;

    transition:
        color
        var(--devido-transition),
        background-color
        var(--devido-transition);
}


.menu-product-quantity__input {

    width: 100%;

    min-width: 0;

    padding: 0;

    color: #17191d;

    background: #ffffff;

    border: 0;

    border-left:
        1px solid
        rgba(
            20,
            21,
            25,
            0.09
        );

    border-right:
        1px solid
        rgba(
            20,
            21,
            25,
            0.09
        );

    outline: none;

    font-size: 0.83rem;

    font-weight: 850;

    text-align: center;

    -moz-appearance: textfield;
}


.menu-product-quantity__input::-webkit-outer-spin-button,
.menu-product-quantity__input::-webkit-inner-spin-button {

    margin: 0;

    -webkit-appearance: none;
}



/* =========================================================
   11.10 PRODUCT DETAILS LINK
   ========================================================= */

.menu-product__option-group--link {

    padding-top: 1px;
}


.menu-product__details-link {

    min-height: 42px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 10px;

    padding:
        9px
        12px;

    color:
        var(--devido-primary);

    background:
        rgba(
            220,
            30,
            46,
            0.045
        );

    border-radius:
        10px;

    font-size: 0.76rem;

    font-weight: 800;
}


.menu-product__details-link i {

    font-size: 0.67rem;
}



/* =========================================================
   11.11 MENU LEGAL INFORMATION
   ========================================================= */

.menu-legal {

    overflow: hidden;

    margin-top: 30px;

    background:
        rgba(
            255,
            255,
            255,
            0.72
        );

    border:
        1px solid
        rgba(
            17,
            19,
            24,
            0.08
        );

    border-radius:
        16px;
}


.menu-legal__toggle {

    width: 100%;

    min-height: 54px;

    display: flex;

    align-items: center;

    gap: 9px;

    padding:
        12px
        14px;

    color: #54585e;

    background: transparent;

    text-align: left;

    cursor: pointer;

    font-size: 0.78rem;

    font-weight: 800;
}


.menu-legal__toggle
> i:first-child {

    color:
        var(--devido-primary);

    font-size: 0.88rem;
}


.menu-legal__arrow {

    margin-left: auto;

    color: #85898f;

    font-size: 0.67rem;

    transition:
        transform
        220ms ease;
}


.menu-legal__toggle:not(.collapsed)
.menu-legal__arrow {

    transform:
        rotate(180deg);
}


.menu-legal__content {

    padding:
        0
        15px
        16px;

    color: #73777e;

    font-size: 0.72rem;

    line-height: 1.65;
}


.menu-legal__content p {

    margin:
        0
        0
        8px;
}


.menu-legal__content p:last-child {

    margin-bottom: 0;
}


.menu-legal__content strong {

    color: #4a4d52;

}



/* =========================================================
   11.12 FIXED "ΕΧΩ ΑΠΟΦΑΣΙΣΕΙ" BUTTON
   ========================================================= */

.menu-decision-button {

    position: fixed;

    z-index: 1035;

    left: 50%;

    bottom:
        max(
            14px,
            env(
                safe-area-inset-bottom
            )
        );

    width:
        calc(
            100%
            -
            28px
        );

    max-width: 430px;

    min-height: 56px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding:
        10px
        14px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        2px solid
        rgba(
            255,
            255,
            255,
            0.18
        );

    border-radius: 16px;

    box-shadow:
        0
        14px
        38px
        rgba(
            20,
            20,
            24,
            0.27
        );

    cursor: pointer;

    transform:
        translateX(-50%);
}


/*
 * Important:
 * while JS keeps hidden attribute, don't show it.
 */

.menu-decision-button[hidden] {

    display:
        none !important;
}


.menu-decision-button__icon {

    width: 32px;

    height: 32px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 32px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    font-size: 0.7rem;
}


.menu-decision-button__text {

    font-size: 0.87rem;

    font-weight: 900;
}


.menu-decision-button__count {

    min-width: 29px;

    height: 29px;

    display:
        inline-flex;

    align-items: center;

    justify-content: center;

    margin-left: auto;

    padding:
        0
        7px;

    color: #111111;

    background: #ffffff;

    border-radius: 999px;

    font-size: 0.75rem;

    font-weight: 900;
}



/* =========================================================
   11.13 SELECTION SUMMARY MODAL
   ========================================================= */

.menu-selection-modal {

    --bs-modal-margin:
        14px;
}


.menu-selection-modal
.modal-dialog {

    margin:
        14px;
}


.menu-selection-modal
.modal-content {

    overflow: hidden;

    border: 0;

    border-radius:
        22px;

    box-shadow:
        0
        25px
        65px
        rgba(
            14,
            14,
            18,
            0.28
        );
}


/* Header */

.menu-selection-modal
.modal-header {

    align-items:
        flex-start;

    padding:
        20px
        18px
        17px;

    color: #ffffff;

    background:
        var(--devido-dark);

    border-bottom: 0;
}


.menu-selection-modal__eyebrow {

    margin-bottom: 3px;

    color:
        var(--devido-accent);

    font-size: 0.65rem;

    font-weight: 850;

    text-transform: uppercase;

    letter-spacing:
        0.065em;
}


.menu-selection-modal__title {

    margin: 0;

    color: #ffffff;

    font-family:
        var(--devido-font-primary);

    font-size: 1.45rem;

    font-weight: 900;

    line-height: 1.1;
}


.menu-selection-modal
.modal-header
.btn-close {

    margin:
        0
        0
        0
        auto;

    filter:
        invert(1)
        grayscale(1);

    opacity: 0.82;
}


/* Body */

.menu-selection-modal
.modal-body {

    padding:
        18px;

    background:
        #f7f8fa;
}



/* =========================================================
   SUMMARY CONTENT
   JS WILL POPULATE THIS
   ========================================================= */

.menu-selection-summary {

    display: grid;

    gap: 10px;
}


.menu-selection-summary__empty {

    padding:
        22px
        14px;

    color: #8a8e94;

    background: #ffffff;

    border:
        1px dashed
        #d5d8dc;

    border-radius:
        13px;

    font-size: 0.78rem;

    text-align: center;
}



/*
 * These classes are already prepared for the rows
 * that order-builder.js will insert later.
 */

.menu-selection-summary__item {

    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 10px;

    padding:
        10px;

    background: #ffffff;

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.07
        );

    border-radius:
        13px;
}


.menu-selection-summary__image {

    width: 48px;

    height: 48px;

    padding: 3px;

    object-fit: contain;

    background: #f5f5f5;

    border-radius: 9px;
}


.menu-selection-summary__content {

    min-width: 0;
}


.menu-selection-summary__name {

    display: block;

    color: #1b1c20;

    font-size: 0.78rem;

    font-weight: 850;

    line-height: 1.3;
}


.menu-selection-summary__meta {

    display: block;

    margin-top: 2px;

    color: #85898f;

    font-size: 0.65rem;

    line-height: 1.35;
}


.menu-selection-summary__subtotal {

    color:
        var(--devido-primary);

    font-size: 0.78rem;

    font-weight: 900;

    white-space: nowrap;
}



/* =========================================================
   MODAL DISCLAIMER
   ========================================================= */

.menu-selection-notice {

    display: flex;

    align-items: flex-start;

    gap: 8px;

    margin-top: 16px;

    padding:
        10px
        11px;

    color: #777b81;

    background:
        #eeeeef;

    border-radius:
        10px;

    font-size: 0.64rem;

    line-height: 1.5;
}


.menu-selection-notice i {

    flex-shrink: 0;

    margin-top: 3px;

    color: #85898f;

    font-size: 0.72rem;
}


.menu-selection-notice p {

    margin: 0;
}


.menu-selection-notice strong {

    color: #55595f;

    font-weight: 750;
}



/* =========================================================
   MODAL FOOTER / TOTAL
   ========================================================= */

.menu-selection-modal__footer {

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 15px;

    padding:
        14px
        18px;

    background: #ffffff;

    border-top:
        1px solid
        rgba(
            20,
            21,
            25,
            0.08
        );
}


.menu-selection-total {

    min-width: 0;

    display: grid;

    gap: 1px;
}


.menu-selection-total__label {

    color: #777b81;

    font-size: 0.64rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing:
        0.045em;
}


.menu-selection-total__value {

    color:
        var(--devido-primary);

    font-size: 1.25rem;

    font-weight: 900;

    line-height: 1.1;
}


.menu-selection-modal__close {

    min-height: 40px;

    padding:
        8px
        15px;

    color: #ffffff;

    background:
        var(--devido-dark);

    border: 0;

    border-radius:
        9px;

    font-size: 0.73rem;

    font-weight: 800;
}


.menu-selection-modal__close:hover,
.menu-selection-modal__close:focus {

    color: #ffffff;

    background:
        var(--devido-primary);
}



/* =========================================================
   11.14 DESKTOP-MOUSE HOVER
   Not a responsive breakpoint.
   Touch devices remain unaffected.
   ========================================================= */

@media
(hover: hover)
and
(pointer: fine) {


    .menu-category__toggle:hover {

        background:
            rgba(
                255,
                255,
                255,
                0.66
            );
    }


    .menu-product__toggle:hover {

        background:
            rgba(
                220,
                30,
                46,
                0.025
            );
    }


    .menu-product__toggle:hover
    .menu-product__image {

        transform:
            scale(1.055);
    }


    .menu-product-quantity__button:hover {

        color: #ffffff;

        background:
            var(--devido-primary);
    }


    .menu-product__details-link:hover {

        color: #ffffff;

        background:
            var(--devido-primary);
    }


    .menu-decision-button:hover {

        color: #ffffff;

        transform:
            translateX(-50%)
            translateY(-2px);

        box-shadow:
            0
            18px
            44px
            rgba(
                20,
                20,
                24,
                0.32
            );
    }

}

/* =========================================================
   MENU SELECTION - REMOVE / CLEAR ACTIONS
   =========================================================
 *
 * MOBILE-FIRST
 */


/* =========================================================
   REMOVE BUTTON ON SELECTED MENU PRODUCT
   ========================================================= */

.menu-product__remove {

    position: absolute;

    z-index: 10;

    top: 8px;

    right: 8px;

    width: 28px;

    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    color:
        var(--devido-primary);

    background:
        #ffffff;

    border:
        1px solid
        rgba(
            220,
            30,
            46,
            0.22
        );

    border-radius: 50%;

    box-shadow:
        0
        4px
        11px
        rgba(
            20,
            20,
            24,
            0.10
        );

    cursor: pointer;

    font-size: 0.72rem;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        scale(0.72);

    transition:
        color
        170ms ease,
        background-color
        170ms ease,
        border-color
        170ms ease,
        opacity
        170ms ease,
        visibility
        170ms ease,
        transform
        170ms ease,
        box-shadow
        170ms ease;
}


/*
 * Only show remove button when product
 * is currently selected.
 */

.menu-product.is-selected
.menu-product__remove {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        scale(1);
}


/*
 * Give the remove button some space so it does not
 * sit directly above the price area.
 */

.menu-product.is-selected
.menu-product__toggle {

    padding-right: 40px;
}


.menu-product__remove i {

    pointer-events: none;
}



/* =========================================================
   MODAL SUMMARY - RIGHT ACTION COLUMN
   =========================================================
 *
 * Contains:
 *
 * subtotal
 * remove button
 */

.menu-selection-summary__actions {

    min-width: 56px;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: center;

    gap: 7px;
}


/*
 * Existing subtotal class now lives inside
 * .menu-selection-summary__actions
 */

.menu-selection-summary__actions
.menu-selection-summary__subtotal {

    display: block;

    text-align: right;
}



/* =========================================================
   REMOVE BUTTON INSIDE MODAL
   ========================================================= */

.menu-selection-summary__remove {

    width: 27px;

    height: 27px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 27px;

    padding: 0;

    color: #8d9197;

    background:
        #f2f3f4;

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.07
        );

    border-radius: 50%;

    cursor: pointer;

    font-size: 0.67rem;

    transition:
        color
        170ms ease,
        background-color
        170ms ease,
        border-color
        170ms ease,
        transform
        170ms ease;
}


.menu-selection-summary__remove i {

    pointer-events: none;
}



/* =========================================================
   CLEAR ALL SELECTIONS
   ========================================================= */

.menu-selection-actions {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    margin-top: 12px;
}


.menu-selection-clear {

    min-height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    padding:
        7px
        11px;

    color: #777b81;

    background:
        transparent;

    border:
        1px solid
        #d8dade;

    border-radius: 9px;

    cursor: pointer;

    font-size: 0.67rem;

    font-weight: 750;

    line-height: 1.2;

    transition:
        color
        170ms ease,
        background-color
        170ms ease,
        border-color
        170ms ease,
        transform
        170ms ease;
}


.menu-selection-clear i {

    color:
        var(--devido-primary);

    font-size: 0.68rem;

    transition:
        color
        170ms ease;
}


/*
 * JavaScript controls this through the hidden attribute.
 */

.menu-selection-clear[hidden] {

    display:
        none !important;
}



/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.menu-product__remove:focus-visible,
.menu-selection-summary__remove:focus-visible,
.menu-selection-clear:focus-visible {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 2px;
}



/* =========================================================
   HOVER DEVICES
   ========================================================= */

@media
(hover: hover)
and
(pointer: fine) {


    /* Selected product remove */

    .menu-product__remove:hover {

        color: #ffffff;

        background:
            var(--devido-primary);

        border-color:
            var(--devido-primary);

        transform:
            scale(1.06);

        box-shadow:
            0
            6px
            15px
            rgba(
                220,
                30,
                46,
                0.24
            );
    }


    /* Modal single-product remove */

    .menu-selection-summary__remove:hover {

        color: #ffffff;

        background:
            var(--devido-primary);

        border-color:
            var(--devido-primary);

        transform:
            scale(1.07);
    }


    /* Clear all */

    .menu-selection-clear:hover {

        color:
            var(--devido-primary);

        background:
            rgba(
                220,
                30,
                46,
                0.055
            );

        border-color:
            rgba(
                220,
                30,
                46,
                0.28
            );

        transform:
            translateY(-1px);
    }


    .menu-selection-clear:hover i {

        color:
            var(--devido-primary);
    }

}

/* =========================================================
   12. PRODUCT PAGE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Larger layouts belong in:
 *
 * assets/css/responsive.css
 */


/* =========================================================
   12.1 PRODUCT MAIN
   ========================================================= */

.product-main {

    position: relative;

    min-height: 60vh;
}


.product-detail {

    position: relative;

    padding:
        30px
        0
        58px;
}



/* =========================================================
   12.2 BREADCRUMBS
   ========================================================= */

.product-breadcrumbs {

    width: 100%;

    display: flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 24px;

    padding:
        4px
        1px;

    overflow-x: auto;

    color: #85898f;

    font-size: 0.68rem;

    line-height: 1.35;

    white-space: nowrap;

    scrollbar-width: none;
}


.product-breadcrumbs::-webkit-scrollbar {

    display: none;
}


.product-breadcrumbs__link {

    flex-shrink: 0;

    color: #6d7177;

    font-weight: 700;

    text-decoration: none;

    transition:
        color
        var(--devido-transition);
}


.product-breadcrumbs__separator {

    flex-shrink: 0;

    color: #b1b4b9;

    font-size: 0.48rem;
}


.product-breadcrumbs__current {

    max-width: 190px;

    overflow: hidden;

    color: #373a3f;

    font-weight: 800;

    text-overflow: ellipsis;
}


.product-breadcrumbs__separator--current {

    color:
        var(--devido-primary);
}



/* =========================================================
   12.3 PRODUCT GRID
   ========================================================= */

.product-detail__grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 30px;
}



/* =========================================================
   12.4 PRODUCT VISUAL
   ========================================================= */

.product-detail__visual {

    min-width: 0;
}


.product-detail__image-area {

    position: relative;

    width: 100%;

    max-width: 520px;

    aspect-ratio: 1 / 1;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        0
        auto;

    overflow: hidden;

    background:
        rgba(
            255,
            255,
            255,
            0.82
        );

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.065
        );

    border-radius: 26px;

    box-shadow:
        0
        16px
        42px
        rgba(
            20,
            20,
            24,
            0.065
        );
}



/* =========================================================
   PRODUCT IMAGE DECORATION
   ========================================================= */

.product-detail__image-backdrop {

    position: absolute;

    z-index: 1;

    width: 78%;

    height: 64%;

    right: -19%;

    top: 18%;

    background:
        var(--devido-primary);

    border-radius:
        110px
        0
        0
        110px;

    transform:
        rotate(-4deg);

    opacity: 0.96;
}


.product-detail__image-accent {

    position: absolute;

    z-index: 2;

    width: 62px;

    height: 62px;

    left: 8%;

    bottom: 10%;

    background:
        var(--devido-accent);

    border-radius: 50%;

    opacity: 0.95;
}


.product-detail__image {

    position: relative;

    z-index: 3;

    width: 88%;

    height: 88%;

    object-fit: contain;

    filter:
        drop-shadow(
            0
            14px
            14px
            rgba(
                0,
                0,
                0,
                0.16
            )
        );
}



/* =========================================================
   12.5 PRODUCT CONTENT
   ========================================================= */

.product-detail__content {

    min-width: 0;
}



/* =========================================================
   CATEGORY LINK
   ========================================================= */

.product-detail__category {

    width: fit-content;

    max-width: 100%;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 13px;

    padding:
        7px
        11px;

    color:
        var(--devido-primary);

    background:
        rgba(
            220,
            30,
            46,
            0.075
        );

    border:
        1px solid
        rgba(
            220,
            30,
            46,
            0.11
        );

    border-radius: 999px;

    font-size: 0.68rem;

    font-weight: 850;

    line-height: 1.25;

    text-decoration: none;

    text-transform: uppercase;

    letter-spacing:
        0.055em;

    transition:
        color
        var(--devido-transition),
        background-color
        var(--devido-transition),
        transform
        var(--devido-transition);
}


.product-detail__category i {

    font-size: 0.58rem;
}



/* =========================================================
   PRODUCT TITLE
   ========================================================= */

.product-detail__title {

    max-width: 680px;

    margin:
        0
        0
        18px;

    color: #17181c;

    font-family:
        var(--devido-font-secondary);

    font-size:
        clamp(
            2.2rem,
            11vw,
            3.25rem
        );

    font-weight: 900;

    line-height: 0.98;

    letter-spacing:
        -0.035em;
}



/* =========================================================
   12.6 PRODUCT PRICE
   ========================================================= */

.product-detail__prices {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 5px;

    margin-bottom: 26px;
}


.product-detail__price-row {

    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    gap:
        8px
        13px;
}



/* Normal product price */

.product-detail__price {

    display: inline-block;

    color: #1c1e22;

    font-size: 1.75rem;

    font-weight: 900;

    line-height: 1;

    letter-spacing:
        -0.025em;
}


/* Offer price */

.product-detail__price--offer {

    color:
        var(--devido-primary);

    font-size: 2.15rem;

    line-height: 0.95;
}


/* Old price */

.product-detail__old-price {

    position: relative;

    display: inline-block;

    color: #92969c;

    font-size: 1rem;

    font-weight: 700;

    line-height: 1;

    white-space: nowrap;

    text-decoration: line-through;

    text-decoration-thickness: 2px;

    text-decoration-color:
        rgba(
            75,
            77,
            82,
            0.55
        );
}


/* Small offer label */

.product-detail__offer-label {

    width: fit-content;

    display: inline-flex;

    align-items: center;

    min-height: 25px;

    padding:
        4px
        9px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 999px;

    font-size: 0.61rem;

    font-weight: 900;

    line-height: 1;

    text-transform: uppercase;

    letter-spacing:
        0.055em;
}

/* =========================================================
   12.6.1 PITA DEVIDO / CYPRIOT PITA OPTION
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Secondary price option displayed below
 * the main product price.
 */


/* =========================================================
   PITA OPTION WRAPPER
   ========================================================= */

.product-detail__pita-option {

    position: relative;

    max-width: 420px;

    margin:
        -8px
        0
        27px;

    padding:
        13px
        14px;

    background:
        rgba(
            255,
            255,
            255,
            0.62
        );

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.075
        );

    border-radius: 13px;
}


/*
 * Small accent line on the left.
 */

.product-detail__pita-option::before {

    content: "";

    position: absolute;

    top: 12px;

    bottom: 12px;

    left: 0;

    width: 3px;

    background:
        var(--devido-accent);

    border-radius:
        0
        3px
        3px
        0;
}


/* =========================================================
   PITA LABEL
   ========================================================= */

.product-detail__pita-label {

    display: flex;

    align-items: flex-start;

    gap: 7px;

    margin-bottom: 8px;

    color: #74787e;

    font-size: 0.67rem;

    font-weight: 700;

    line-height: 1.45;
}

.product-detail__pita-label i {

    flex-shrink: 0;

    margin-top: 2px;

    color:
        var(--devido-primary);

    font-size: 0.65rem;
}


.product-detail__pita-label span {

    display: block;
}


/* =========================================================
   PITA PRICES
   ========================================================= */

.product-detail__pita-prices {

    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    gap:
        7px
        11px;
}

/* =========================================================
   NORMAL PITA PRICE
   ========================================================= */

.product-detail__pita-price {

    display: inline-block;

    color: #27292e;

    font-size: 1.35rem;

    font-weight: 900;

    line-height: 1;

    letter-spacing:
        -0.02em;

    white-space: nowrap;
}


/* =========================================================
   PITA OFFER PRICE
   ========================================================= */

.product-detail__pita-price--offer {

    color:
        var(--devido-primary);

    font-size: 1.55rem;

    font-weight: 900;
}

/* =========================================================
   OLD PITA PRICE
   ========================================================= */

.product-detail__pita-old-price {

    display: inline-block;

    color: #9a9da2;

    font-size: 0.86rem;

    font-weight: 700;

    line-height: 1;

    text-decoration:
        line-through;

    text-decoration-thickness:
        1.5px;

    text-decoration-color:
        rgba(
            70,
            72,
            78,
            0.55
        );

    white-space: nowrap;
}



/* =========================================================
   PITA OFFER STATE
   ========================================================= */

.product-detail__pita-prices--offer
.product-detail__pita-price {

    color:
        var(--devido-primary);
}


/* =========================================================
   12.7 DESCRIPTION
   ========================================================= */

.product-detail__description {

    position: relative;

    max-width: 720px;

    margin-top: 3px;

    padding-top: 23px;

    border-top:
        1px solid
        rgba(
            20,
            21,
            25,
            0.095
        );
}


.product-detail__description-heading {

    margin-bottom: 9px;

    color: #303237;

    font-size: 0.7rem;

    font-weight: 900;

    line-height: 1.25;

    text-transform: uppercase;

    letter-spacing:
        0.065em;
}


.product-detail__description p {

    margin: 0;

    color: #656970;

    font-size: 0.91rem;

    line-height: 1.75;
}



/* =========================================================
   12.8 PRODUCT ACTIONS
   ========================================================= */

.product-detail__actions {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 27px;
}


.product-detail__actions .product-detail__menu-link {

    min-height: 44px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding:
        10px
        15px;

    color: #ffffff;

    background:
        var(--devido-dark);

    border-radius: 11px;

    font-size: 0.76rem;

    font-weight: 800;

    line-height: 1.3;

    text-decoration: none;

    transition:
        color
        var(--devido-transition),
        background-color
        var(--devido-transition),
        transform
        var(--devido-transition),
        box-shadow
        var(--devido-transition);
}


.product-detail__menu-link i {

    font-size: 0.67rem;
}



/* =========================================================
   12.9 PRODUCT NOT FOUND
   ========================================================= */

.product-not-found {

    display: flex;

    align-items: center;

    min-height: 62vh;

    padding:
        55px
        0;
}


.product-not-found__inner {

    max-width: 560px;

    margin:
        0
        auto;

    padding:
        34px
        20px;

    text-align: center;
}


.product-not-found__icon {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        0
        auto
        18px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    box-shadow:
        0
        10px
        26px
        rgba(
            20,
            20,
            24,
            0.09
        );

    font-size: 1.35rem;
}


.product-not-found__title {

    margin:
        0
        0
        12px;

    color: #17181c;

    font-family:
        var(--devido-font-secondary);

    font-size: 2rem;

    font-weight: 900;

    line-height: 1.05;

    letter-spacing:
        -0.025em;
}


.product-not-found__description {

    max-width: 430px;

    margin:
        0
        auto
        22px;

    color: #74787e;

    font-size: 0.87rem;

    line-height: 1.65;
}


.product-not-found__button {

    min-height: 46px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding:
        10px
        17px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 11px;

    box-shadow:
        0
        9px
        22px
        rgba(
            220,
            30,
            46,
            0.18
        );

    font-size: 0.78rem;

    font-weight: 850;

    text-decoration: none;

    transition:
        transform
        var(--devido-transition),
        box-shadow
        var(--devido-transition),
        background-color
        var(--devido-transition);
}



/* =========================================================
   12.10 KEYBOARD ACCESSIBILITY
   ========================================================= */

.product-detail__category:focus-visible,
.product-detail__menu-link:focus-visible,
.product-not-found__button:focus-visible,
.product-breadcrumbs__link:focus-visible {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 3px;
}



/* =========================================================
   12.11 POINTER / HOVER DEVICES
   =========================================================
 *
 * This is not a screen-width breakpoint.
 * Touch devices remain unaffected.
 */

@media
(hover: hover)
and
(pointer: fine) {


    .product-breadcrumbs__link:hover {

        color:
            var(--devido-primary);
    }


    .product-detail__category:hover {

        color: #ffffff;

        background:
            var(--devido-primary);

        transform:
            translateY(-1px);
    }


    .product-detail__menu-link:hover {

        color: #ffffff;

        background:
            var(--devido-primary);

        transform:
            translateY(-2px);

        box-shadow:
            0
            10px
            22px
            rgba(
                20,
                20,
                24,
                0.14
            );
    }


    .product-not-found__button:hover {

        color: #ffffff;

        background:
            #bf1726;

        transform:
            translateY(-2px);

        box-shadow:
            0
            13px
            28px
            rgba(
                220,
                30,
                46,
                0.24
            );
    }

}

/* =========================================================
   13. CATEGORY PAGE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Product cards intentionally reuse:
 *
 * .home-featured__grid
 * .home-product-card
 * .home-product-card__visual
 * .home-product-card__content
 *
 * Therefore only category-specific layout rules
 * belong here.
 */


/* =========================================================
   13.1 CATEGORY MAIN
   ========================================================= */

.category-main {

    position: relative;

    min-height: 60vh;
}


.category-products {

    position: relative;

    padding:
        30px
        0
        60px;
}



/* =========================================================
   13.2 BREADCRUMBS
   =========================================================
 *
 * Most styling is inherited from:
 *
 * .product-breadcrumbs
 */

.category-breadcrumbs {

    margin-bottom: 28px;
}



/* =========================================================
   13.3 CATEGORY HEADING
   ========================================================= */

.category-products__heading {

    max-width: 720px;

    margin:
        0
        auto
        34px;

    text-align: center;
}


.category-products__heading
.home-section-heading__title {

    margin-bottom: 12px;
}


.category-products__heading
.home-section-heading__description {

    max-width: 620px;

    margin:
        0
        auto;

    line-height: 1.7;
}



/* =========================================================
   13.4 PRODUCTS GRID
   =========================================================
 *
 * Grid columns/sizing already come from:
 *
 * .home-featured__grid
 */

.category-products__grid {

    position: relative;
}



/* =========================================================
   13.5 CLICKABLE PRODUCT CARD
   ========================================================= */

.category-product-card {

    position: relative;
}


/*
 * Whole card is clickable.
 *
 * Display flex is important so the link fills the
 * complete height of the existing product card.
 */

.category-product-card__link {

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    color: inherit;

    text-decoration: none;

    border-radius: inherit;

    outline: none;
}


.category-product-card__link:visited {

    color: inherit;
}


/*
 * Keep existing card content filling available height.
 */

.category-product-card__link
.home-product-card__content {

    flex: 1;
}



/* =========================================================
   13.6 OFFER PRICE INSIDE CARD
   ========================================================= */

.home-product-card__price--offer {

    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 5px;
}


.home-product-card__old-price {

    color: #979a9f;

    font-size: 0.65rem;

    font-weight: 700;

    line-height: 1;

    text-decoration: line-through;

    text-decoration-thickness: 1.5px;

    white-space: nowrap;
}


.home-product-card__current-price {

    color: inherit;

    font-size: inherit;

    font-weight: inherit;

    line-height: inherit;

    white-space: nowrap;
}


.home-product-card__price--offer
.home-product-card__current-price {

    color:
        var(--devido-primary);

    font-weight: 900;
}



/* =========================================================
   13.7 BACK TO MENU
   ========================================================= */

.category-products__actions {

    display: flex;

    justify-content: center;

    margin-top: 36px;
}


/*
 * More specific selector so global anchor styles
 * cannot turn the text dark.
 */

.category-products__actions
.product-detail__menu-link {

    color: #ffffff;
}


.category-products__actions
.product-detail__menu-link span,
.category-products__actions
.product-detail__menu-link i {

    color: inherit;
}



/* =========================================================
   13.8 EMPTY CATEGORY
   ========================================================= */

.category-products__empty {

    max-width: 560px;

    margin:
        10px
        auto
        0;

    padding:
        36px
        20px;

    text-align: center;

    background:
        rgba(
            255,
            255,
            255,
            0.76
        );

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.07
        );

    border-radius: 20px;

    box-shadow:
        0
        12px
        32px
        rgba(
            20,
            20,
            24,
            0.05
        );
}


.category-products__empty-icon {

    width: 62px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin:
        0
        auto
        17px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    font-size: 1.15rem;
}


.category-products__empty h2 {

    margin:
        0
        0
        9px;

    color: #1b1c20;

    font-family:
        var(--devido-font-secondary);

    font-size: 1.55rem;

    font-weight: 900;

    line-height: 1.1;
}


.category-products__empty p {

    max-width: 420px;

    margin:
        0
        auto
        20px;

    color: #74787e;

    font-size: 0.84rem;

    line-height: 1.65;
}


.category-products__empty a {

    min-height: 43px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding:
        9px
        15px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border-radius: 10px;

    font-size: 0.76rem;

    font-weight: 800;

    text-decoration: none;
}



/* =========================================================
   13.9 KEYBOARD ACCESSIBILITY
   ========================================================= */

.category-product-card__link:focus-visible {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 4px;
}



/* =========================================================
   13.10 POINTER / HOVER DEVICES
   ========================================================= */

@media
(hover: hover)
and
(pointer: fine) {


    .category-product-card__link:hover {

        color: inherit;
    }


    /*
     * Existing homepage card hover should already provide
     * most of the animation.
     *
     * We only add a little extra image movement because
     * category cards are explicitly clickable.
     */

    .category-product-card__link:hover
    .home-product-card__image {

        transform:
            translateY(-4px)
            scale(1.035);
    }


    .category-products__actions
    .product-detail__menu-link:hover {

        color: #ffffff;

        background:
            var(--devido-primary);
    }


    .category-products__empty a:hover {

        color: #ffffff;

        background: #bf1726;
    }

}

/* =========================================================
   14. CONTACT PAGE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Larger layouts belong in:
 *
 * assets/css/responsive.css
 */


/* =========================================================
   14.1 CONTACT MAIN
   ========================================================= */

.contact-main {

    position: relative;

    min-height: 60vh;
}


.contact-section {

    position: relative;

    padding:
        30px
        0
        62px;
}



/* =========================================================
   14.2 BREADCRUMBS
   =========================================================
 *
 * Most styles are inherited from:
 *
 * .product-breadcrumbs
 */

.contact-breadcrumbs {

    margin-bottom: 28px;
}



/* =========================================================
   14.3 CONTACT PAGE HEADING
   ========================================================= */

.contact-section__heading {

    max-width: 760px;

    margin:
        0
        auto
        34px;

    text-align: center;
}


.contact-section__heading
.home-section-heading__title {

    margin-bottom: 13px;
}


.contact-section__heading
.home-section-heading__description {

    max-width: 630px;

    margin:
        0
        auto;

    line-height: 1.72;
}



/* =========================================================
   14.4 CONTACT GRID
   =========================================================
 *
 * Mobile:
 *
 * MAP
 * INFO
 */

.contact-section__grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 18px;
}



/* =========================================================
   14.5 GOOGLE MAP
   ========================================================= */

.contact-map {

    min-width: 0;
}


.contact-map__inner {

    position: relative;

    width: 100%;

    min-height: 360px;

    overflow: hidden;

    background: #e9e9e9;

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.08
        );

    border-radius: 22px;

    box-shadow:
        0
        14px
        36px
        rgba(
            20,
            20,
            24,
            0.07
        );
}


/*
 * Google Maps iframe fills the complete card.
 */

.contact-map__iframe {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    display: block;

    border: 0;
}



/* =========================================================
   14.6 CONTACT INFORMATION PANEL
   ========================================================= */

.contact-info {

    position: relative;

    overflow: hidden;

    padding:
        24px
        20px;

    color: #ffffff;

    background:
        var(--devido-dark);

    border-radius: 22px;

    box-shadow:
        0
        16px
        42px
        rgba(
            20,
            20,
            24,
            0.13
        );
}


/*
 * Decorative red shape.
 */

.contact-info::before {

    content: "";

    position: absolute;

    z-index: 0;

    width: 170px;

    height: 170px;

    top: -85px;

    right: -80px;

    background:
        var(--devido-primary);

    border-radius: 50%;

    opacity: 0.94;
}


/*
 * Decorative yellow shape.
 */

.contact-info::after {

    content: "";

    position: absolute;

    z-index: 0;

    width: 68px;

    height: 68px;

    right: 22px;

    bottom: 22px;

    background:
        var(--devido-accent);

    border-radius: 50%;

    opacity: 0.11;
}


.contact-info > * {

    position: relative;

    z-index: 2;
}



/* =========================================================
   14.7 CONTACT INFO HEADER
   ========================================================= */

.contact-info__header {

    margin-bottom: 24px;
}


.contact-info__eyebrow {

    margin-bottom: 6px;

    color:
        var(--devido-accent);

    font-size: 0.65rem;

    font-weight: 900;

    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing:
        0.075em;
}


.contact-info__title {

    max-width: 360px;

    margin:
        0
        0
        10px;

    color: #ffffff;

    font-family:
        var(--devido-font-secondary);

    font-size: 2rem;

    font-weight: 900;

    line-height: 1;

    letter-spacing:
        -0.025em;
}


.contact-info__intro {

    max-width: 430px;

    margin: 0;

    color:
        rgba(
            255,
            255,
            255,
            0.68
        );

    font-size: 0.82rem;

    line-height: 1.65;
}



/* =========================================================
   14.8 CONTACT ITEMS
   ========================================================= */

.contact-info__items {

    display: grid;

    gap: 0;

    margin-top: 5px;
}


.contact-info__item {

    display: grid;

    grid-template-columns:
        44px
        minmax(0, 1fr);

    align-items: center;

    gap: 12px;

    padding:
        14px
        0;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.095
        );
}


.contact-info__item:first-child {

    border-top: 0;
}



/* =========================================================
   CONTACT ITEM ICON
   ========================================================= */

.contact-info__icon {

    width: 44px;

    height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    box-shadow:
        0
        6px
        16px
        rgba(
            0,
            0,
            0,
            0.12
        );

    font-size: 0.9rem;
}



/* =========================================================
   CONTACT ITEM TEXT
   ========================================================= */

.contact-info__content {

    min-width: 0;
}


.contact-info__label {

    margin-bottom: 3px;

    color:
        rgba(
            255,
            255,
            255,
            0.48
        );

    font-size: 0.61rem;

    font-weight: 800;

    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing:
        0.055em;
}


.contact-info__value {

    display: block;

    overflow-wrap: anywhere;

    color: #ffffff;

    font-size: 0.84rem;

    font-weight: 750;

    line-height: 1.45;
}


.contact-info__link {

    width: fit-content;

    max-width: 100%;

    text-decoration: none;

    transition:
        color
        var(--devido-transition);
}



/* =========================================================
   14.9 GOOGLE MAPS CTA
   ========================================================= */

.contact-info__actions {

    margin-top: 23px;

    padding-top: 22px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.10
        );
}


.contact-info__map-button {

    width: 100%;

    min-height: 56px;

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        9px
        12px;

    color: #ffffff;

    background:
        var(--devido-primary);

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.12
        );

    border-radius: 14px;

    box-shadow:
        0
        10px
        24px
        rgba(
            220,
            30,
            46,
            0.18
        );

    font-size: 0.76rem;

    font-weight: 850;

    line-height: 1.3;

    text-decoration: none;

    transition:
        background-color
        var(--devido-transition),
        color
        var(--devido-transition),
        transform
        var(--devido-transition),
        box-shadow
        var(--devido-transition);
}


.contact-info__map-button-icon {

    width: 36px;

    height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 36px;

    color: #111111;

    background:
        var(--devido-accent);

    border-radius: 50%;

    font-size: 0.75rem;
}


.contact-info__map-button
> span:nth-child(2) {

    min-width: 0;

    margin-right: auto;
}


.contact-info__map-button
> i:last-child {

    flex-shrink: 0;

    color:
        rgba(
            255,
            255,
            255,
            0.76
        );

    font-size: 0.66rem;
}



/* =========================================================
   14.10 SMALL CONTACT NOTE
   ========================================================= */

.contact-note {

    max-width: 760px;

    display: flex;

    align-items: flex-start;

    gap: 9px;

    margin:
        22px
        auto
        0;

    padding:
        11px
        13px;

    color: #70747a;

    background:
        rgba(
            255,
            255,
            255,
            0.65
        );

    border:
        1px solid
        rgba(
            20,
            21,
            25,
            0.07
        );

    border-radius: 11px;

    font-size: 0.68rem;

    line-height: 1.55;
}


.contact-note i {

    flex-shrink: 0;

    margin-top: 3px;

    color:
        var(--devido-primary);

    font-size: 0.72rem;
}


.contact-note p {

    margin: 0;
}



/* =========================================================
   14.11 KEYBOARD ACCESSIBILITY
   ========================================================= */

.contact-info__link:focus-visible,
.contact-info__map-button:focus-visible {

    outline:
        3px solid
        var(--devido-accent);

    outline-offset: 3px;
}



/* =========================================================
   14.12 POINTER / HOVER DEVICES
   =========================================================
 *
 * This is not a responsive width breakpoint.
 */

@media
(hover: hover)
and
(pointer: fine) {


    .contact-info__link:hover {

        color:
            var(--devido-accent);
    }


    .contact-info__map-button:hover {

        color: #111111;

        background:
            var(--devido-accent);

        transform:
            translateY(-2px);

        box-shadow:
            0
            14px
            30px
            rgba(
                20,
                20,
                24,
                0.22
            );
    }


    .contact-info__map-button:hover
    .contact-info__map-button-icon {

        color: #ffffff;

        background:
            var(--devido-primary);
    }


    .contact-info__map-button:hover
    > i:last-child {

        color: #111111;
    }

}