/* =========================================================================
   brandphones.gr — στρώμα σχεδιασμού
   Αλλάζει ΜΟΝΟ εμφάνιση: τυπογραφία, μεγέθη, χρώματα, αποστάσεις.
   Δεν κρύβει, δεν μετακινεί και δεν απενεργοποιεί κανένα στοιχείο.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. ΤΑ ΘΕΜΕΛΙΑ
   ------------------------------------------------------------------------- */
:root {
    /* Χρώματα. Το κόκκινο της μάρκας μένει· μαζεύουμε τα υπόλοιπα πέντε
       κόκκινα που κυκλοφορούσαν (#dc2626, #ff4c4c, #ff0000, #e43e3e) σε ένα. */
    --bp-brand:      #ce0410;
    --bp-brand-dark: #a80309;
    --bp-brand-soft: #fdf0ef;

    --bp-ink:        #16191d;
    --bp-ink-2:      #454c57;
    --bp-muted:      #6b7381;

    --bp-line:       #e2e6ea;
    --bp-line-soft:  #eef1f4;
    --bp-surface:    #ffffff;
    --bp-ground:     #f6f7f9;

    --bp-price:      #0f7a3d;
    --bp-focus:      #1a6fb8;

    --bp-radius:     10px;
    --bp-radius-sm:  8px;
    --bp-shadow:     0 1px 2px rgba(22,25,29,.05), 0 6px 18px -12px rgba(22,25,29,.28);

    /* Ελάχιστος στόχος αφής. Κάτω από αυτό το δάχτυλο αστοχεί. */
    --bp-tap:        46px;

    --bp-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* -------------------------------------------------------------------------
   2. ΤΥΠΟΓΡΑΦΙΑ
   Πριν: Arial 16px/1.8, με h1 23px και h2 20px — δηλαδή οι επικεφαλίδες
   μόλις 4px μεγαλύτερες από το κείμενο, άρα η σελίδα διαβαζόταν επίπεδη.
   ------------------------------------------------------------------------- */
body,
button, input, select, textarea,
.woocommerce ul.products li.product .price,
h1, h2, h3, h4, h5, h6,
.theme-heading, .widget-title, .entry-title, .product_title {
    font-family: var(--bp-font);
}

body {
    font-size: 16px;
    line-height: 1.6;
    color: var(--bp-ink-2);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.theme-heading, .entry-title, .product_title {
    color: var(--bp-ink);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
    text-wrap: balance;
}

h1, .page-header .page-header-title { font-size: 27px; }
h2 { font-size: 21px; }
h3 { font-size: 18px; }
h4 { font-size: 17px; }
h5 { font-size: 15px; }
h6 { font-size: 15px; }

@media (min-width: 900px) {
    h1, .page-header .page-header-title { font-size: 34px; }
    h2 { font-size: 25px; }
    h3 { font-size: 20px; }
}

/* Οι τιμές θέλουν στοιχισμένα ψηφία για να συγκρίνονται με τη ματιά. */
.price, .amount, .woocommerce-Price-amount,
.cart-subtotal, .order-total, .quantity input {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/* -------------------------------------------------------------------------
   3. ΠΕΔΙΑ ΦΟΡΜΩΝ — ΤΟ ΖΟΥΜ ΤΟΥ iPHONE
   Το Safari μεγεθύνει αυτόματα τη σελίδα όταν εστιάζεις σε πεδίο με
   γραμματοσειρά κάτω από 16px. Είχαμε 13px και 14px από πέντε διαφορετικές
   πηγές (OceanWP, WooCommerce, xoo-aff, xoo-wsc, και το ίδιο το child theme
   που έβαζε 14px κάτω από 768px). Ένας κανόνας τα καλύπτει όλα.
   ------------------------------------------------------------------------- */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]),
select,
textarea {
    font-size: 16px !important;   /* κάτω από 16px το iOS κάνει ζουμ */
    font-family: var(--bp-font);
    line-height: 1.4;
    color: var(--bp-ink);
    background-color: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-sm);
    padding: 12px 14px;
    max-width: 100%;
    -webkit-appearance: none;
    appearance: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]),
select {
    min-height: var(--bp-tap);
}

textarea { min-height: 110px; }

/* Το select χρειάζεται δικό του βελάκι αφού του βγάλαμε την εμφάνιση. */
select:not(.hasCustomSelect) {
    padding-right: 38px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236b7381' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

/* ΠΡΟΣΟΧΗ: το OceanWP αντικαθιστά κάποια select με δικό του περιτύλιγμα
   (.theme-select) και κρατά το πραγματικό select από πάνω, διάφανο. Αν του
   δώσουμε φόντο και πλαίσιο, εμφανίζονται ΔΥΟ κείμενα το ένα πάνω στο άλλο.
   Του αφήνουμε μόνο το μέγεθος γραμματοσειράς, για το ζουμ του iOS. */
select.hasCustomSelect {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
}
.theme-select {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 38px 0 14px;
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-sm);
    background: var(--bp-surface);
    font-size: 14px;
    font-weight: 500;
    color: var(--bp-ink-2);
}

input::placeholder, textarea::placeholder { color: var(--bp-muted); opacity: 1; }

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--bp-focus);
    box-shadow: 0 0 0 3px rgba(26,111,184,.16);
}

/* Τα κουτάκια επιλογής θέλουν και αυτά μέγεθος δαχτύλου. */
input[type="checkbox"], input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--bp-brand);
    vertical-align: middle;
}

/* Η μπάρα διαχείρισης του WordPress μένει όπως ήταν. */
#wpadminbar input,
#wpadminbar select { font-size: 13px !important; min-height: 0; }

/* -------------------------------------------------------------------------
   4. ΚΟΥΜΠΙΑ
   Πριν: 12px ΚΕΦΑΛΑΙΑ με letter-spacing 1px. Στα ελληνικά αυτό διαβάζεται
   δύσκολα και σε ύψος 34-38px το δάχτυλο αστοχεί.
   ------------------------------------------------------------------------- */
.button,
button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .owp-btn-normal .summary form button.button,
.woocommerce .owp-btn-big .summary form button.button,
.woocommerce .owp-btn-very-big .summary form button.button,
.woocommerce div.product div.summary button.single_add_to_cart_button,
.wp-element-button {
    font-family: var(--bp-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    min-height: var(--bp-tap);
    padding: 13px 22px;
    border-radius: var(--bp-radius);
    transition: background-color .15s ease, border-color .15s ease, transform .06s ease;
}

/* Τα βελάκια του slider στις κάρτες είναι κι αυτά <button>: χωρίς αυτό το
   padding παραπάνω μηδενίζει το πλάτος του SVG και μένει ένα γκρι τετράγωνο. */
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button {
    top: 50% !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--bp-line) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.94) !important;
    color: var(--bp-ink) !important;
    box-shadow: 0 2px 8px rgba(22,25,29,.16);
    transform: translateY(-50%) !important;
}
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button:hover {
    background: #fff !important;
    color: var(--bp-brand) !important;
}
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button.previous { left: 8px !important; }
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button.next { right: 8px !important; }
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button .flickity-button-icon {
    position: absolute !important;
    top: 30% !important;
    left: 30% !important;
    width: 40% !important;
    height: 40% !important;
}
.product-entry-slider-wrap .flickity-button.flickity-prev-next-button .flickity-button-icon path { fill: currentColor !important; }

.button:active,
button:active,
.woocommerce a.button:active,
.woocommerce button.button:active { transform: translateY(1px); }

/* Η κύρια ενέργεια: προσθήκη στο καλάθι / παραγγελία */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
#place_order {
    background-color: var(--bp-brand);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    width: 100%;
    min-height: 52px;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
#place_order:hover { background-color: var(--bp-brand-dark); color: #fff; }

/* Όταν λείπει επιλογή, το κουμπί πρέπει να ΔΕΙΧΝΕΙ ανενεργό, όχι σπασμένο. */
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled {
    background-color: #c9ced5;
    color: #fff;
    cursor: not-allowed;
    opacity: 1;
}

/* Οτιδήποτε πατιέται, να πιάνεται με το δάχτυλο. */
.woocommerce-pagination a, .woocommerce-pagination span,
.quantity .plus, .quantity .minus,
.oceanwp-mobile-menu-icon a,
.remove, a.remove {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* -------------------------------------------------------------------------
   5. ΚΕΦΑΛΙΔΑ & ΠΛΟΗΓΗΣΗ
   ------------------------------------------------------------------------- */
#site-navigation-wrap .dropdown-menu > li > a { font-weight: 600; }

#searchform-header-replace input,
.header-searchform-wrap input[type="search"],
#site-header .searchform input {
    font-size: 16px !important;
    min-height: var(--bp-tap);
    border-radius: var(--bp-radius);
}

/* Το πεδίο αναζήτησης έχει το εικονίδιο ΜΕΣΑ του, αριστερά (plugin dgwt-wcas).
   Του αφήνουμε τον χώρο του, αλλιώς το κείμενο γράφεται από πάνω. */
.dgwt-wcas-search-input {
    padding-left: 52px !important;
    padding-right: 16px !important;
    border-radius: var(--bp-radius) !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit,
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader { z-index: 3; }

.sidr-class-dropdown-menu li a,
#mobile-dropdown ul li a,
body #mobile-fullscreen ul li a {
    font-size: 16px;
    min-height: var(--bp-tap);
    display: flex;
    align-items: center;
}

/* -------------------------------------------------------------------------
   6. ΚΑΡΤΕΣ ΠΡΟΪΟΝΤΩΝ ΣΤΙΣ ΛΙΣΤΕΣ
   ------------------------------------------------------------------------- */
.woocommerce ul.products li.product .woo-entry-inner,
.archive .products .woo-entry-inner,
.related.products .woo-entry-inner {
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce ul.products li.product .woo-entry-inner:hover,
.archive .products .woo-entry-inner:hover {
    border-color: #cdd3da;
    box-shadow: var(--bp-shadow);
}

.woocommerce ul.products li.product li.title h2,
.woocommerce ul.products li.product li.title a {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--bp-ink);
}

.woocommerce ul.products li.product .price {
    font-size: 19px;
    font-weight: 700;
    color: var(--bp-price);
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
    font-size: .68em;
    font-weight: 500;
    color: var(--bp-muted);
    opacity: 1;
    margin-right: 6px;
}

.woocommerce ul.products li.product .price ins { text-decoration: none; }

.woocommerce span.onsale {
    background-color: var(--bp-brand);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    border-radius: 999px;
    padding: 5px 11px;
    min-height: 0;
    line-height: 1.4;
}

/* -------------------------------------------------------------------------
   7. ΣΕΛΙΔΑ ΠΡΟΪΟΝΤΟΣ
   ------------------------------------------------------------------------- */
.woocommerce div.product .product_title { font-size: 23px; line-height: 1.3; }
@media (min-width: 900px) {
    .woocommerce div.product .product_title { font-size: 28px; }
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 28px;
    font-weight: 700;
    color: var(--bp-price);
    line-height: 1.2;
}
@media (min-width: 900px) {
    .woocommerce div.product p.price,
    .woocommerce div.product span.price { font-size: 32px; }
}

.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 15px;
    line-height: 1.6;
    color: var(--bp-ink-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.product_meta { font-size: 13.5px; color: var(--bp-muted); }

/* Οι παραλλαγές (χρώματα) να πιάνονται με το δάχτυλο. */
.woo-variation-swatches .variable-items-wrapper .variable-item {
    min-height: 42px;
    min-width: 42px;
    border-radius: var(--bp-radius-sm);
}
.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-span {
    font-size: 14px;
    font-weight: 600;
}

.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .variations th {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--bp-ink);
}

/* -------------------------------------------------------------------------
   8. ΚΑΛΑΘΙ & ΤΑΜΕΙΟ
   Εδώ κρίνονται οι παραγγελίες, οπότε τα μεγέθη είναι γενναιόδωρα.
   ------------------------------------------------------------------------- */
.woocommerce table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table { font-size: 15px; }

.woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--bp-ink);
    margin-bottom: 6px;
    display: block;
}

.woocommerce form .form-row { margin-bottom: 16px; }

.woocommerce-checkout #payment ul.payment_methods li label {
    font-size: 15px;
    font-weight: 600;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-checkout #payment div.payment_box { font-size: 14px; line-height: 1.55; }

.select2-container--default .select2-selection--single,
.woocommerce .woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: var(--bp-tap);
    border-radius: var(--bp-radius-sm);
    border-color: var(--bp-line);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 16px;
    line-height: var(--bp-tap);
    color: var(--bp-ink);
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: var(--bp-tap); }
.select2-results__option { font-size: 16px; padding: 11px 14px; }

.woocommerce .quantity input.qty {
    min-height: var(--bp-tap);
    text-align: center;
    font-weight: 600;
}
/* Τα − / + και το πεδίο στο ίδιο ύψος· το γενικό padding των input άφηνε
   μόλις 8px για τον αριθμό. */
.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
    min-height: var(--bp-tap);
    height: var(--bp-tap);
}
.woocommerce .quantity input.qty {
    height: var(--bp-tap);
    min-width: 44px;
    padding: 0 4px;
}

/* Το αόρατο <select> της ταξινόμησης είναι absolute: χωρίς positioned γονέα
   το width:100% μετριόταν σε όλη τη γραμμή και στο κινητό ξεχείλιζε δεξιά. */
.woocommerce-ordering { position: relative; }
.woocommerce-ordering select.hasCustomSelect {
    top: 0;
    left: 0;
    width: 100% !important;
    max-width: 100%;
}

/* Ίδιο σκούρο πράσινο με τις λίστες (4,9:1) και στο καλάθι / checkout. */
.woocommerce-cart table.shop_table .amount,
.woocommerce-checkout table.shop_table .amount,
.woocommerce-cart .cart_totals .amount {
    color: #0f7a3d;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error {
    font-size: 15px;
    line-height: 1.55;
    border-radius: var(--bp-radius);
}

/* -------------------------------------------------------------------------
   9. ΜΙΚΡΕΣ ΟΘΟΝΕΣ
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body { font-size: 16px; }

    /* Οι κύριες ενέργειες πιάνουν όλο το πλάτος — ευκολότερος στόχος. */
    .woocommerce div.product form.cart .single_add_to_cart_button,
    .woocommerce .cart .button,
    .woocommerce .cart input.button,
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    #place_order { width: 100%; }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 52px; font-size: 17px; }

    /* Το ταμείο σε μία στήλη, με άνετα περιθώρια. */
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last { width: 100%; float: none; margin-right: 0; }
}

/* -------------------------------------------------------------------------
   10. ΠΡΟΣΒΑΣΙΜΟΤΗΤΑ
   ------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--bp-focus);
    outline-offset: 2px;
    border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* =========================================================================
   11. ΟΙ ΚΑΡΤΕΣ ΠΡΟΪΟΝΤΩΝ — ΞΑΝΑ
   Το μεγαλύτερο οπτικό εμβαδόν του καταστήματος. Πριν: λευκά κουτιά με
   τρία προϊόντα ανά γραμμή σε οθόνη 1.400 px, χωρίς ένδειξη κατάστασης και
   χωρίς ένδειξη έκπτωσης — ενώ το 44% του καταλόγου είναι σε προσφορά.
   ========================================================================= */

/* --- Πυκνότερο πλέγμα: 5 κάρτες αντί για 3 στο ίδιο πλάτος --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 14px;
    margin: 0 0 28px !important;
    padding: 0 !important;
    float: none !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
}

@media (max-width: 767px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

/* --- Το σώμα της κάρτας --- */
.woocommerce ul.products li.product .woo-entry-inner,
.archive .products .woo-entry-inner,
.related.products .woo-entry-inner {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.woocommerce ul.products li.product .woo-entry-inner:hover,
.archive .products .woo-entry-inner:hover {
    border-color: #cfd6de;
    box-shadow: 0 2px 4px rgba(22,25,29,.04), 0 16px 32px -20px rgba(22,25,29,.4);
    transform: translateY(-2px);
}

/* --- Η εικόνα πάνω σε απαλό πάνελ: τα μαύρα κινητά ξεχωρίζουν --- */
/* Λευκό, ΟΧΙ γκρι: οι μισές φωτογραφίες έχουν ψημένο λευκό φόντο μέσα στο
   αρχείο, οπότε πάνω σε γκρι πάνελ εμφανιζόταν λευκό κουτί γύρω τους και οι
   κάρτες έδειχναν ανομοιόμορφες. Σε λευκό κάθονται όλες το ίδιο. */
.woocommerce ul.products li.product .image-wrap,
.archive .products .image-wrap {
    position: relative;
    margin: 0 !important;
    padding: 10px !important;
    background: #ffffff;
    border-bottom: 1px solid var(--bp-line-soft);
}

/* Όλα τα περιτυλίγματα της εικόνας διάφανα, ώστε οι φωτογραφίες να κάθονται
   στο ίδιο απαλό πάνελ και να μη φαίνεται λευκό κουτί γύρω από κάποιες. */
.woocommerce ul.products li.product .woo-entry-image,
.woocommerce ul.products li.product .product-entry-slider-wrap,
.woocommerce ul.products li.product .oceanwp-slider-slide,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .image-wrap a {
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* ΜΗΝ βάλεις εδώ mix-blend-mode: multiply. Δοκιμάστηκε για να σβήσει το λευκό
   φόντο των φωτογραφιών και ΕΞΑΦΑΝΙΣΕ τις εικόνες που δεν είναι μέσα σε slider
   (όσες έχουν κλάση woo-entry-image-main) — φορτωμένες, ορατές στα computed
   styles, αλλά δεν ζωγραφίζονταν. */
.woocommerce ul.products li.product .image-wrap img,
.archive .products .woo-entry-image img,
.related.products .woo-entry-image img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform .3s ease;
    border-radius: 0;
}

.woocommerce ul.products li.product .woo-entry-inner:hover .image-wrap img {
    transform: scale(1.035);
}

/* --- Τα σήματα πάνω στην εικόνα --- */
/* Το OceanWP βάζει left:15% στο .onsale — χρειάζεται !important για να φύγει. */
.woocommerce ul.products li.product .image-wrap .onsale,
.archive .products .image-wrap .onsale {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    margin: 0 !important;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--bp-brand);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: 0 2px 8px -2px rgba(206,4,16,.5);
}
/* Το LiteSpeed έχει συμπίεση HTML και τρώει το κενό ανάμεσα στο «Κέρδισε»
   και στο ποσό, οπότε βγαίνει «ΚΕΡΔΙΣΕ90,00 €». Το ξαναβάζουμε εδώ. */
.woocommerce ul.products li.product .image-wrap .onsale .amount,
.woocommerce ul.products li.product .image-wrap .onsale bdi {
    color: #fff;
    font-size: inherit;
}
.woocommerce ul.products li.product .image-wrap .onsale .woocommerce-Price-amount { margin-left: .3em; }

/* Η κατάσταση της συσκευής — το στοιχείο που ξεχωρίζει αυτό το κατάστημα
   και μέχρι τώρα ήταν κρυμμένο μέσα στον τίτλο. */
/* Κάτω αριστερά, ώστε να μη συγκρούεται ποτέ με το σήμα έκπτωσης πάνω δεξιά. */
.bp-cond-chip {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    border: 1px solid #dde2e8;
    color: var(--bp-ink);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .01em;
    backdrop-filter: blur(4px);
    white-space: nowrap;
}
/* Κάθε κατάσταση που πουλάμε είναι καλή κατάσταση: η κουκκίδα μένει πράσινη
   σε όλες τις βαθμίδες. Το πορτοκαλί διάβαζε σαν προειδοποίηση πάνω σε
   προϊόν που θέλουμε να αγοράσει ο πελάτης. */
.bp-cond-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bp-price);
    flex: none;
}
.bp-cond-chip.is-new::before,
.bp-cond-chip.is-openbox::before,
.bp-cond-chip.is-good::before,
.bp-cond-chip.is-fair::before { background: var(--bp-price); }

/* --- Το κείμενο της κάρτας --- */
.woocommerce ul.products li.product li.category,
.archive .products li.category {
    display: none;   /* η κατηγορία λέγεται πια από το σήμα */
}

.woocommerce ul.products li.product li.title,
.archive .products li.title {
    margin: 0 !important;
    padding: 12px 13px 10px !important;
}

/* Ακριβώς δύο γραμμές σε κάθε κάρτα: οι τίτλοι ευθυγραμμίζονται μεταξύ τους
   και δεν ανοίγουν τυχαία κενά. */
.woocommerce ul.products li.product li.title h2,
.woocommerce ul.products li.product li.title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.8em;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--bp-ink);
}

/* Η τιμή κάθεται πάντα στο κάτω μέρος, με δική της γραμμή από πάνω: έτσι το
   κενό διαβάζεται ως δομή και όχι ως τρύπα, και οι τιμές όλης της σειράς
   ευθυγραμμίζονται για να συγκρίνονται με τη ματιά. */
.woocommerce ul.products li.product li.price-wrap,
.archive .products li.price-wrap {
    margin: 0 !important;
    margin-top: auto !important;
    padding: 11px 13px 13px !important;
    border-top: 1px solid var(--bp-line-soft);
}

.woocommerce ul.products li.product .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 26px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount {
    order: -1;
    font-size: 12.5px;
    font-weight: 500;
    color: #98a1aa;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .amount { text-decoration: none; }

/* Οι κάρτες που δεν έχουν κουμπί να μη μένουν με κενό από κάτω. */
.woocommerce ul.products li.product li.btn-wrap:empty,
.woocommerce ul.products li.product li.rating:empty,
.woocommerce ul.products li.product li.woo-desc:empty { display: none; }

.woocommerce ul.products li.product li.btn-wrap {
    margin: 0 !important;
    padding: 0 14px 14px !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    width: 100%;
    min-height: 42px;
    font-size: 14px;
    border-radius: var(--bp-radius-sm);
}

/* Εξαντλημένα: να φαίνεται πριν κάνει κλικ ο πελάτης. */
.woocommerce ul.products li.product.outofstock .image-wrap { opacity: .62; }
.woocommerce ul.products li.product.outofstock .woo-entry-inner { background: #fbfbfc; }

/* =========================================================================
   12. ΕΠΙΚΕΦΑΛΙΔΑ ΣΕΛΙΔΑΣ & ΕΡΓΑΛΕΙΟΘΗΚΗ ΚΑΤΑΛΟΓΟΥ
   ========================================================================= */
/* ΠΡΟΣΟΧΗ: το child theme έχει παστέλ gradient στο .page-header::before με
   z-index:-1, που μέχρι τώρα το σκέπαζε το λευκό φόντο. Αν εδώ βάλεις
   background:transparent, ξεπροβάλλει ουράνιο τόξο. Κρατάμε φόντο. */
.page-header,
.has-transparent-header .page-header {
    padding: 34px 20px 26px;
    background: var(--bp-ground);
    border-bottom: 1px solid var(--bp-line);
    margin-bottom: 26px;
}
.page-header::before { display: none; }
.page-header .page-header-title { margin: 0; letter-spacing: -.02em; }

.woocommerce .oceanwp-toolbar,
.woocommerce nav.woocommerce-breadcrumb { font-size: 13.5px; color: var(--bp-muted); }

.woocommerce .oceanwp-off-canvas-filter,
.woocommerce .oceanwp-grid-list a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-sm);
    font-size: 14px;
    font-weight: 600;
    color: var(--bp-ink-2);
    background: var(--bp-surface);
}
.woocommerce .oceanwp-off-canvas-filter:hover,
.woocommerce .oceanwp-grid-list a:hover,
.woocommerce .oceanwp-grid-list a.active {
    border-color: var(--bp-brand);
    color: var(--bp-brand);
}

.woocommerce .woocommerce-ordering select {
    min-height: 42px;
    font-size: 14px !important;
    font-weight: 500;
}

/* Σελιδοποίηση */
.woocommerce nav.woocommerce-pagination ul {
    border: 0;
    display: flex;
    gap: 6px;
    justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
    margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-sm);
    font-size: 15px;
    font-weight: 600;
    color: var(--bp-ink-2);
    background: var(--bp-surface);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--bp-brand);
    border-color: var(--bp-brand);
    color: #fff;
}

/* =========================================================================
   13. ΚΕΦΑΛΙΔΑ
   ========================================================================= */
#site-header { box-shadow: 0 1px 0 rgba(0,0,0,.08); }

.dgwt-wcas-search-wrapp .dgwt-wcas-search-input {
    border: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-input:focus {
    box-shadow: 0 0 0 3px rgba(255,255,255,.45);
}

/* Ο αριθμός στο καλάθι */
.wcmenucart-details.count {
    font-size: 11px;
    font-weight: 800;
    min-width: 19px;
    height: 19px;
    line-height: 19px;
}

/* =========================================================================
   14. ΥΠΟΣΕΛΙΔΟ
   ========================================================================= */
#footer-widgets .footer-box .widget-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .01em;
    text-transform: none;
}
#footer-widgets { padding: 54px 0 46px; }
#footer-widgets, #footer-widgets p, #footer-widgets li { font-size: 14.5px; line-height: 1.65; }
#footer-bottom { font-size: 13px; }

/* =========================================================================
   15. ΣΕΛΙΔΑ ΠΡΟΪΟΝΤΟΣ — ΦΙΝΙΡΙΣΜΑ
   ========================================================================= */
.woocommerce div.product div.images img {
    border-radius: 12px;
    background: #f5f7f9;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: 8px;
    border: 1px solid var(--bp-line);
    transition: border-color .15s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: var(--bp-brand);
}

/* Το κίτρινο κουμπάκι «Open Box» γίνεται κανονικό σήμα. */
.cert-label-wrap { margin: 10px 0 14px; }
.cert-label {
    background: var(--bp-brand-soft) !important;
    border: 1px solid #f2ccc9 !important;
    color: var(--bp-brand) !important;
    border-radius: 999px !important;
    padding: 6px 13px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    min-height: 0 !important;
}

/* Οι τρεις πληροφορίες παράδοσης/εγγύησης σε καθαρή σειρά. */
.custom-info-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: transparent;
}
.custom-info-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 13px;
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-sm);
    background: var(--bp-ground);
    font-size: 13px;
    font-weight: 600;
    color: var(--bp-ink-2);
    line-height: 1.3;
}
.custom-info-item a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Οι «Επιπλέον επιλογές» σε κουτί, όχι χύμα κάτω από τα χρώματα. */
.dmm-phones-options-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    color: var(--bp-ink) !important;
    margin: 0 0 9px !important;
}
.dmm-phones-options label,
.dmm-phones-options-wrap label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    font-size: 14.5px;
}

/* =========================================================================
   15β. ΚΟΛΛΗΤΗ ΜΠΑΡΑ ΑΓΟΡΑΣ, ΒΑΘΜΟΛΟΓΙΑ GOOGLE, ΚΡΙΤΙΚΕΣ
   ========================================================================= */

/* --- Η μπάρα που ακολουθεί τον πελάτη --- */
.bp-stickycart {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9990;
    background: var(--bp-surface);
    border-top: 1px solid var(--bp-line);
    box-shadow: 0 -4px 22px -10px rgba(22,25,29,.3);
    padding: 8px 14px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    animation: bp-slide-up .18s ease-out;
}
@keyframes bp-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .bp-stickycart { animation: none; } }

.bp-stickycart__inner {
    display: flex;
    align-items: center;
    gap: 11px;
    max-width: 1100px;
    margin: 0 auto;
}
.bp-stickycart__thumb {
    flex: none;
    width: 46px;
    height: 46px;
    object-fit: contain;
    border-radius: 8px;
    background: #f4f6f8;
}
.bp-stickycart__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bp-stickycart__name {
    font-size: 12.5px;
    color: var(--bp-muted);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bp-stickycart__price {
    font-size: 17px;
    font-weight: 800;
    color: var(--bp-price);
    line-height: 1.2;
}
.bp-stickycart__price del { font-size: .68em; font-weight: 500; color: var(--bp-muted); margin-right: 5px; }
.bp-stickycart__price ins { text-decoration: none; }
.bp-stickycart__btn {
    flex: none;
    min-height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: var(--bp-radius);
    background: var(--bp-brand);
    color: #fff;
    font-family: var(--bp-font);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease;
}
.bp-stickycart__btn:hover { background: var(--bp-brand-dark); }
.bp-stickycart__btn.is-waiting { background: #6b7381; }

/* Όσο φαίνεται η μπάρα, τα αιωρούμενα κουμπιά ανεβαίνουν από πάνω της. */
body.bp-sticky-on .hotline-phone-ring-wrap,
body.bp-sticky-on .xoo-wsc-basket { bottom: 78px !important; }

/* Όταν ο πελάτης πατήσει «Διάλεξε επιλογή», του δείχνουμε πού. */
.bp-flash { animation: bp-flash 1.4s ease-out; border-radius: var(--bp-radius); }
@keyframes bp-flash {
    0%, 100% { box-shadow: 0 0 0 0 rgba(26,111,184,0); }
    25%      { box-shadow: 0 0 0 4px rgba(26,111,184,.28); }
    60%      { box-shadow: 0 0 0 4px rgba(26,111,184,.28); }
}

/* --- Η βαθμολογία Google, κάτω από την τιμή --- */
.bp-trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 10px 0 0;
    font-size: 13.5px;
    color: var(--bp-ink-2);
}
.bp-trust__stars { display: inline-flex; gap: 1px; letter-spacing: 0; }
.bp-trust__star { color: #d6dbe1; font-size: 15px; line-height: 1; }
.bp-trust__star.is-on { color: #f0a020; }
.bp-trust__star.is-half {
    background: linear-gradient(90deg, #f0a020 50%, #d6dbe1 50%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.bp-trust__score { font-weight: 800; color: var(--bp-ink); }
.bp-trust__count { color: var(--bp-muted); }
.bp-trust__link { color: var(--bp-focus); text-decoration: underline; text-underline-offset: 2px; }

/* --- Το μπλοκ των κριτικών --- */
.bp-reviews {
    clear: both;
    margin: 34px 0 10px;
    padding: 26px 0 6px;
    border-top: 1px solid var(--bp-line);
}
.bp-reviews__title {
    font-size: 21px;
    font-weight: 700;
    margin: 0 0 4px;
    letter-spacing: -.015em;
}
.bp-reviews__sub { margin: 0 0 18px; font-size: 14px; color: var(--bp-muted); }

/* Δίχτυ ασφαλείας: αν κάποια ενημέρωση του Trustindex ξαναβάλει το κρύψιμο
   που αφαιρούμε στην PHP, το widget παραμένει ορατό. */
.bp-reviews .ti-widget {
    margin: 0 !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* =========================================================================
   15γ. ΝΕΑ ΣΕΛΙΔΑ ΠΡΟΪΟΝΤΟΣ

   Το OceanWP τυπώνει όλη τη σύνοψη ως μια επίπεδη σειρά από αδέρφια. Την
   κάνουμε στήλη flex και αναδιατάσσουμε ΜΟΝΟ με `order` — κανένα στοιχείο
   δεν μετακινείται στο HTML, καμία λειτουργία δεν χάνεται.

   Νέα σειρά: αξιολόγηση → τιμή → κέρδος → κατάσταση → επιλογές & αγορά →
   παράδοση/εγγύηση → χαρακτηριστικά → άλλες βαθμίδες → κωδικός.
   ========================================================================= */
.woocommerce div.product .summary,
.woocommerce div.product .entry-summary {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Η σειρά. Ό,τι δεν αναφέρεται εδώ πάει στο τέλος. */
.woocommerce div.product .summary > *              { order: 20; }
.woocommerce div.product .summary > .bp-trust      { order: 1; }
.woocommerce div.product .summary > .price         { order: 2; }
.woocommerce div.product .summary > .custom_onsale { order: 3; }
.woocommerce div.product .summary > .cert-label-wrap { order: 4; }
.woocommerce div.product .summary > .dmm-cond      { order: 5; }
.woocommerce div.product .summary > form.cart      { order: 6; }
.woocommerce div.product .summary > .custom-info-wrapper { order: 7; }
.woocommerce div.product .summary > .woocommerce-product-details__short-description { order: 8; }
.woocommerce div.product .summary > .wc-grade-variations { order: 9; }
.woocommerce div.product .summary > .product_meta  { order: 10; }
.woocommerce div.product .summary > style,
.woocommerce div.product .summary > script         { order: 0; display: none; }

/* --- 1. Η αξιολόγηση, πρώτη --- */
.woocommerce div.product .summary > .bp-trust {
    margin: 0 0 12px !important;
    padding: 0;
}

/* --- 2. Η τιμή ως άγκυρα της σελίδας --- */
.woocommerce div.product .summary > .price {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 !important;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: var(--bp-ink);
}
/* Ίδιο μαύρο είτε υπάρχει έκπτωση (ins) είτε όχι (σκέτο .amount). */
.woocommerce div.product .summary > .price ins,
.woocommerce div.product .summary > .price ins .amount,
.woocommerce div.product .summary > .price > .amount,
.woocommerce div.product .summary > .price > .amount bdi { text-decoration: none; color: var(--bp-ink) !important; }
.woocommerce div.product .summary > .price del,
.woocommerce div.product .summary > .price del .amount {
    font-size: 17px;
    font-weight: 500;
    color: var(--bp-muted);
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

/* --- 3. Το κέρδος, ως πράσινο σήμα κάτω από την τιμή --- */
.woocommerce div.product .summary > .custom_onsale {
    display: inline-flex !important;
    align-self: flex-start;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0 !important;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--bp-ok-bg, #e8f4ec);
    color: var(--bp-price);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
}
.woocommerce div.product .summary > .custom_onsale .amount { color: inherit; font-weight: 800; }

/* --- 4. Η ετικέτα πιστοποίησης --- */
.woocommerce div.product .summary > .cert-label-wrap { margin: 14px 0 0 !important; }

/* --- 5. Η κατάσταση --- */
.woocommerce div.product .summary > .dmm-cond { margin: 16px 0 0 !important; }

/* --- 6. Η ΖΩΝΗ ΑΓΟΡΑΣ: χρώμα, επιλογές, ποσότητα, κουμπί ---
   Μπαίνει σε δικό της πλαίσιο ώστε να είναι οφθαλμοφανές πού ενεργεί
   ο πελάτης. */
.woocommerce div.product .summary > form.cart {
    margin: 20px 0 0 !important;
    padding: 18px;
    background: var(--bp-ground);
    border: 1px solid var(--bp-line);
    border-radius: 14px;
}
.woocommerce div.product .summary > form.cart .variations { margin-bottom: 4px; }
.woocommerce div.product .summary > form.cart .quantity { margin-right: 10px; }

.woocommerce div.product .summary > form.cart .dmm-phones-options-title {
    margin-top: 16px !important;
    padding-top: 14px;
    border-top: 1px solid var(--bp-line);
}

/* --- 7. Παράδοση / μεταφορικά / εγγύηση, ΑΚΡΙΒΩΣ κάτω από το κουμπί ---
   Εκεί που ο πελάτης διστάζει. */
.woocommerce div.product .summary > .custom-info-wrapper {
    margin: 14px 0 0 !important;
    padding: 0;
}
.custom-info-item {
    background: var(--bp-surface);
    border-color: var(--bp-line);
}
.custom-info-item i,
.custom-info-item .fa,
.custom-info-item .fas { color: var(--bp-price); }

/* --- 8. Τα χαρακτηριστικά ως καθαρό πάνελ --- */
.woocommerce div.product .summary > .woocommerce-product-details__short-description {
    margin: 22px 0 0 !important;
    padding: 16px 18px;
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: 12px;
    font-size: 14.5px;
    color: var(--bp-ink-2);
}
.woocommerce div.product .summary > .woocommerce-product-details__short-description p:first-child {
    margin: 0 0 10px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--bp-line-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--bp-ink);
}
.woocommerce div.product .summary > .woocommerce-product-details__short-description p:last-child {
    margin: 0;
    line-height: 2.05;
}

/* --- 9. ΟΙ ΑΛΛΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΤΟΥ ΙΔΙΟΥ ΜΟΝΤΕΛΟΥ ---
   Πριν: δύο pills σε μία σειρά, «Other options: Grade A • 679,00 € 629,00 €»,
   με το ενεργό μαύρο και τεράστιες τιμές. Ο πελάτης δεν καταλάβαινε ούτε τι
   βλέπει τώρα, ούτε τι σημαίνει «Grade A», ούτε γιατί να πατήσει το άλλο.

   Τώρα: κάρτες επιλογής με την ΙΔΙΑ ελληνική ονομασία που χρησιμοποιεί το
   μπλοκ κατάστασης πιο πάνω, τον κωδικό βαθμίδας ως δεύτερη γραμμή, την τιμή,
   και τη διαφορά σε ευρώ. Τα ελληνικά και η διαφορά μπαίνουν από JS
   (dmm_product_grade_clarity) — δες dmm_product_page.php. */
.woocommerce div.product .summary > .wc-grade-variations {
    display: grid !important;
    /* 150 px ώστε να χωρούν δύο κάρτες δίπλα-δίπλα και σε οθόνη 390 px·
       στα πολύ στενά τηλέφωνα πέφτουν μόνες τους σε μία στήλη. */
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px !important;
    margin: 22px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid var(--bp-line);
    align-items: stretch !important;
}
.wc-grade-variations__label {
    grid-column: 1 / -1;
    margin: 0 0 2px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--bp-ink) !important;
}

.wc-grade-variations .wc-grade-pill {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 1px !important;
    min-height: 0 !important;
    padding: 13px 15px !important;
    border: 1px solid var(--bp-line) !important;
    border-radius: 12px !important;
    background: var(--bp-surface) !important;
    color: var(--bp-ink-2) !important;
    white-space: normal !important;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.wc-grade-variations a.wc-grade-pill:hover {
    border-color: var(--bp-brand) !important;
    box-shadow: 0 2px 4px rgba(22,25,29,.04), 0 12px 24px -18px rgba(22,25,29,.4);
}

/* Η κάρτα που βλέπεις τώρα: δεν είναι πια μαύρη πλάκα. */
.wc-grade-variations .wc-grade-pill--active {
    background: var(--bp-brand-soft) !important;
    border-color: var(--bp-brand) !important;
    box-shadow: inset 0 0 0 1px var(--bp-brand);
}

.wc-grade-variations .wc-grade-label {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--bp-ink) !important;
}
.wc-grade-code {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--bp-muted);
    line-height: 1.3;
}
.wc-grade-variations .wc-grade-sep { display: none !important; }

.wc-grade-variations .wc-grade-pill .price {
    display: block !important;
    margin-top: 7px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}
.wc-grade-variations .wc-grade-pill .price ins,
.wc-grade-variations .wc-grade-pill .price ins .amount,
.wc-grade-variations .wc-grade-pill .price > .amount {
    color: var(--bp-ink) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
.wc-grade-variations .wc-grade-pill .price del,
.wc-grade-variations .wc-grade-pill .price del .amount {
    display: inline !important;
    margin-right: 6px;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--bp-muted) !important;
    text-decoration: line-through !important;
}

/* Η γραμμή που εξηγεί τι είναι η κάθε κάρτα. */
.wc-grade-note {
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}
.wc-grade-pill--active .wc-grade-note { color: var(--bp-brand); }
.wc-grade-note--cheaper { color: var(--bp-price); }
.wc-grade-note--dearer  { color: var(--bp-muted); }

/* --- 10. Ο κωδικός και οι κατηγορίες, διακριτικά --- */
.woocommerce div.product .summary > .product_meta {
    margin: 18px 0 0 !important;
    padding-top: 14px;
    border-top: 1px solid var(--bp-line-soft);
    font-size: 13px;
    color: var(--bp-muted);
}
.product_meta a { color: var(--bp-ink-2); }

/* --- Η γκαλερί --- */
.woocommerce div.product div.images {
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: 16px;
    padding: 14px;
}
.woocommerce div.product div.images img { border-radius: 10px; background: transparent; }

/* --- Η γκαλερί ακολουθεί τη σύνοψη (υπολογιστής) ---
   Μετρημένο: σύνοψη 1.451 px, γκαλερί 490 px → το αριστερό μισό έμενε
   άδειο για 961 px. Το OceanWP στήνει τα δύο με float, και το
   position:sticky ΔΕΝ δουλεύει σε float — οπότε ο γονέας γίνεται flex και
   τα δύο παιδιά flex items με τις ίδιες αναλογίες (42% / υπόλοιπο). */
/* ΠΡΟΣΟΧΗ: το «.entry.has-media» ΕΙΝΑΙ το ίδιο το div.product (#product-XXXX
   κουβαλά και τις δύο κλάσεις). Άρα ο επιλογέας γράφεται ΣΥΝΘΕΤΟΣ, χωρίς
   κενό — «div.product.has-media». Με κενό δεν ταιριάζει ποτέ. */
@media (min-width: 960px) {
    .woocommerce div.product.has-media {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0 40px;
    }
    /* Εξ ορισμού ΚΑΘΕ παιδί παίρνει δική του γραμμή· μόνο γκαλερί και
       σύνοψη (πιο κάτω) μοιράζονται την πρώτη. Έτσι ό,τι κι αν προσθέσει
       plugin μέσα στο div.product, δεν θα ανέβει δίπλα στη σύνοψη. */
    .woocommerce div.product.has-media > * { flex: 0 0 100%; max-width: 100%; }
    .woocommerce div.product.has-media > div.images {
        float: none !important;
        flex: 0 0 42%;
        width: 42% !important;
        max-width: 42%;
        margin: 0 !important;
        position: sticky !important;
        top: 132px;                /* ύψος της σταθερής κεφαλίδας + 16 */
    }
    body.admin-bar .woocommerce div.product.has-media > div.images { top: 164px; }
    /* Ό,τι έρχεται μετά τη σύνοψη (καρτέλες, κριτικές, σχετικά) σε δική
       του γραμμή, πλήρους πλάτους. */
    .woocommerce div.product.has-media > .woocommerce-tabs,
    .woocommerce div.product.has-media > .bp-reviews,
    .woocommerce div.product.has-media > .related,
    .woocommerce div.product.has-media > .up-sells,
    .woocommerce div.product.has-media > .clr { flex: 0 0 100%; width: 100%; }
    /* flex-basis 0%, ΟΧΙ auto: η σύνοψη είναι στήλη flex και με basis auto το
       max-content της είναι όλο το container (1.400 px), οπότε τύλιγε σε
       δική της γραμμή αντί να κάτσει δίπλα στη γκαλερί. */
    .woocommerce div.product.has-media > .summary {
        float: none !important;
        flex: 1 1 0% !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;
        margin: 0 !important;
    }
}

/* --- Παράδοση/μεταφορικά/εγγύηση: μαζεμένα αριστερά, όχι απλωμένα ---
   Με space-between τα τρία πλακίδια έδειχναν ασύνδετα μεταξύ τους. */
.woocommerce div.product .summary > .custom-info-wrapper {
    justify-content: flex-start !important;
    gap: 8px !important;
}

/* --- Η ζώνη αγοράς πιο πυκνή --- */
.woocommerce div.product .summary > form.cart .dmm-phones-options label,
.woocommerce div.product .summary > form.cart .dmm-phones-options-wrap label { min-height: 36px; }
.woocommerce div.product .summary > form.cart .dmm-phones-options-title {
    margin-top: 12px !important;
    padding-top: 12px;
}

/* --- Η καρτέλα «Περιγραφή» ξαναέγραφε «Περιγραφή» ως τίτλο από κάτω --- */
#tab-description > h2:first-child,
.woocommerce-Tabs-panel--description > h2:first-child { display: none; }

/* --- Οι κριτικές στη γραμματοσειρά του site ---
   Η «Trustindex Poppins» δεν φορτώνει και το κείμενο έπεφτε σε serif. */
.bp-reviews .ti-widget div,
.bp-reviews .ti-widget span,
.bp-reviews .ti-widget p,
.bp-reviews .ti-widget a { font-family: var(--bp-font) !important; }

/* =========================================================================
   16. ΚΙΝΗΤΟ — ΤΕΛΕΥΤΑΙΑ ΕΝΟΤΗΤΑ, ΚΑΙ ΠΡΕΠΕΙ ΝΑ ΜΕΙΝΕΙ ΤΕΛΕΥΤΑΙΑ.

   Τα media queries ΔΕΝ αυξάνουν την προτεραιότητα ενός κανόνα. Είχα βάλει
   αυτό το μπλοκ πιο πάνω στο αρχείο και οι κανόνες των καρτών που ακολουθούν
   το ακύρωναν σιωπηλά — τα σήματα έμεναν στο μέγεθος του υπολογιστή πάνω σε
   κάρτα 163 px. Ό,τι νέο αφορά κινητό μπαίνει ΕΔΩ, στο τέλος.

   Μετρημένα σε iPhone 390 px: μέχρι το πρώτο προϊόν χάνονταν 576 px, το
   σήμα έκπτωσης έπιανε 110 px σε κάρτα 163 px (67%) και το κουμπί κλήσης
   ήταν 110×110 px πάνω στα προϊόντα.
   ========================================================================= */
@media (max-width: 767px) {

    /* --- Ο χώρος πριν από το πρώτο προϊόν ---
       ΠΡΟΣΟΧΗ: μόνο ο container του περιεχομένου. Πρώτη απόπειρα με
       `.container:not(.page-header-inner)` χτύπησε και τον container της
       ΚΕΦΑΛΙΔΑΣ και της πρόσθεσε 44 px ύψος. */
    #main > .container {
        padding-top: 16px !important;
        padding-bottom: 26px !important;
    }

    .page-header,
    .has-transparent-header .page-header {
        padding: 15px 16px 13px !important;
        margin-bottom: 14px !important;
    }
    .page-header .page-header-title { font-size: 22px; line-height: 1.25; }
    .page-header .container.page-header-inner { padding: 0 !important; }

    /* --- Εργαλειοθήκη καταλόγου: σφιχτή, δύο σειρές --- */
    .woocommerce .oceanwp-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        align-items: center;
        padding: 0 !important;
        margin-bottom: 12px;
        border: 0;
    }
    .woocommerce .oceanwp-off-canvas-filter { flex: 1 1 auto; min-height: 40px; justify-content: center; }
    .woocommerce .oceanwp-grid-list { flex: 0 0 auto; display: flex; gap: 6px; margin: 0; }
    .woocommerce .oceanwp-grid-list a { min-height: 40px; min-width: 40px; padding: 0 10px; }
    .woocommerce .woocommerce-ordering { flex: 1 1 100%; margin: 0 !important; }
    .woocommerce .woocommerce-ordering .theme-select,
    .woocommerce .woocommerce-ordering select { width: 100%; min-height: 40px; }

    /* --- Οι κάρτες σε πλάτος τηλεφώνου --- */
    .woocommerce ul.products li.product .image-wrap,
    .archive .products .image-wrap { padding: 8px !important; }

    /* Το σήμα έλεγε «ΚΕΡΔΙΣΕ 90,00 €»: 14 χαρακτήρες πάνω σε κάρτα 163 px,
       δηλαδή τα δύο τρίτα του πλάτους, και έπνιγε τη φωτογραφία. Στο κινητό
       κρύβουμε τη λέξη (font-size: 0 στο κείμενο) και κρατάμε μόνο το ποσό
       με ένα μείον μπροστά: «−90,00 €», που διαβάζεται αμέσως ως έκπτωση.
       Η λέξη παραμένει στο HTML για τους αναγνώστες οθόνης. */
    .woocommerce ul.products li.product .image-wrap .onsale,
    .archive .products .image-wrap .onsale {
        top: 6px !important;
        right: 6px !important;
        padding: 4px 7px !important;
        font-size: 0 !important;
        font-weight: 700;
        border-radius: 6px;
        box-shadow: none;
    }
    .woocommerce ul.products li.product .image-wrap .onsale::before {
        content: "\2212";
        font-size: 11px;
        font-weight: 800;
        line-height: 1.2;
    }
    .woocommerce ul.products li.product .image-wrap .onsale .woocommerce-Price-amount {
        font-size: 11px !important;
        margin-left: 1px !important;
        line-height: 1.2;
    }

    .bp-cond-chip {
        bottom: 6px;
        left: 6px;
        gap: 4px;
        padding: 3px 7px;
        font-size: 10px;
        border-radius: 6px;
    }
    .bp-cond-chip::before { width: 5px; height: 5px; }

    .woocommerce ul.products li.product li.title { padding: 10px 10px 8px !important; }
    .woocommerce ul.products li.product li.title h2,
    .woocommerce ul.products li.product li.title a {
        font-size: 13px;
        line-height: 1.38;
        height: 2.76em;
    }

    .woocommerce ul.products li.product li.price-wrap { padding: 8px 10px 10px !important; }
    .woocommerce ul.products li.product .price {
        gap: 6px;
        min-height: 22px;
        font-size: 16.5px;
    }
    .woocommerce ul.products li.product .price del,
    .woocommerce ul.products li.product .price del .amount { font-size: 11.5px; }

    /* ---------------------------------------------------------------------
       ΣΕΛΙΔΑ ΠΡΟΪΟΝΤΟΣ ΣΕ ΤΗΛΕΦΩΝΟ
       Μετρημένο πριν: τίτλος 163 px, πλαίσια παράδοσης 160 px σε τρεις
       σειρές, μπλοκ κατάστασης 290 px, σύνοψη 1.736 px συνολικά, και το
       κουμπί αγοράς στα 2.227 px — 3,2 οθόνες κύλισης.
       --------------------------------------------------------------------- */

    /* Ο τίτλος του προϊόντος έπιανε τέσσερις γραμμές στα 22 px. */
    .single-product .page-header { padding: 12px 16px 10px !important; margin-bottom: 10px !important; }
    .single-product .page-header .page-header-title { font-size: 18.5px; line-height: 1.3; }

    /* Τα μπλοκ της σύνοψης είχαν 20 px κενό το ένα από το άλλο. */
    .woocommerce div.product .entry-summary > *,
    .woocommerce div.product .summary > * { margin-top: 12px !important; }
    .woocommerce div.product .entry-summary > .price,
    .woocommerce div.product .summary > .price { margin-top: 8px !important; }

    .woocommerce div.product .woocommerce-product-details__short-description {
        font-size: 13.5px;
        line-height: 1.5;
        margin-bottom: 0;
    }

    /* Παράδοση / μεταφορικά / εγγύηση: τρεις σειρές πλήρους πλάτους → σειρά
       από συμπαγή πλακίδια.
       ΠΡΟΣΟΧΗ: το μπλοκ τυπώνει το CSS του σε inline <style> ΜΕΣΑ στο body,
       άρα έρχεται μετά το φύλλο μας και κερδίζει σε ίδια προτεραιότητα.
       Γι' αυτό εδώ χρειάζεται !important. */
    .custom-info-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin: 12px 0 0 !important;
    }
    .custom-info-item {
        flex: 0 1 auto !important;
        width: auto !important;
        padding: 7px 10px !important;
        font-size: 11.5px !important;
        gap: 5px;
        line-height: 1.25;
    }
    .custom-info-item i, .custom-info-item svg { font-size: 12px; }

    .cert-label-wrap { margin: 10px 0 0 !important; }
    .cert-label { padding: 4px 10px !important; font-size: 11.5px !important; }

    /* Το μπλοκ κατάστασης: ίδια πληροφορία, μισό ύψος.
       Ίδια ιστορία με πάνω — inline <style> στο body, άρα !important. */
    .dmm-cond { margin: 14px 0 0 !important; }
    .dmm-cond__label { font-size: 11.5px !important; margin-bottom: 6px !important; }
    .dmm-cond__answer { padding: 10px 11px !important; gap: 9px !important; }
    .dmm-cond__tick { width: 18px !important; height: 18px !important; line-height: 18px !important; font-size: 11px !important; }
    .dmm-cond__grade { font-size: 14.5px !important; }
    .dmm-cond__desc { font-size: 12.5px !important; line-height: 1.45 !important; margin-top: 3px !important; }
    .dmm-cond__note { font-size: 12px !important; margin-top: 5px !important; }
    .dmm-cond__scale { margin-top: 10px !important; }
    .dmm-cond__step { font-size: 10px !important; padding-top: 6px !important; }
    .dmm-cond__legend { margin-top: 8px !important; }
    .dmm-cond__legend > summary { font-size: 12.5px !important; }

    .product_meta { font-size: 12px; line-height: 1.6; }

    /* Οι επιπλέον επιλογές σε σφιχτή στήλη. */
    .dmm-phones-options label,
    .dmm-phones-options-wrap label { min-height: 38px; font-size: 13.5px; }

    /* --- Η νέα σελίδα προϊόντος σε τηλέφωνο --- */
    .woocommerce div.product .summary > .price { font-size: 28px; gap: 8px; }
    .woocommerce div.product .summary > .price del,
    .woocommerce div.product .summary > .price del .amount { font-size: 15px; }
    .woocommerce div.product .summary > .custom_onsale {
        margin-top: 8px !important;
        padding: 5px 11px;
        font-size: 12.5px;
    }
    .woocommerce div.product .summary > form.cart {
        margin-top: 16px !important;
        padding: 14px;
        border-radius: 12px;
    }
    .woocommerce div.product .summary > .woocommerce-product-details__short-description {
        margin-top: 18px !important;
        padding: 13px 14px;
        font-size: 13.5px;
    }
    .woocommerce div.product .summary > .woocommerce-product-details__short-description p:last-child { line-height: 1.95; }
    .woocommerce div.product .summary > .wc-grade-variations {
        margin-top: 18px !important;
        padding-top: 14px;
        gap: 8px !important;
    }
    .wc-grade-variations .wc-grade-pill { padding: 11px 12px !important; }
    .wc-grade-variations .wc-grade-label { font-size: 14px !important; }
    .wc-grade-variations .wc-grade-pill .price { font-size: 16.5px !important; margin-top: 6px !important; }
    .wc-grade-variations .wc-grade-pill .price del,
    .wc-grade-variations .wc-grade-pill .price del .amount { font-size: 12px !important; }
    .wc-grade-note { font-size: 11.5px; }
    .wc-grade-code { font-size: 11px; }
    .woocommerce div.product .summary > .product_meta { margin-top: 14px !important; }
    .woocommerce div.product .summary > .dmm-cond { margin-top: 14px !important; }
    .woocommerce div.product .summary > .bp-trust { margin-bottom: 10px !important; }
    .woocommerce div.product div.images { padding: 10px; border-radius: 14px; }

    /* Χώρος κάτω-κάτω, να μη σκεπάζει η μπάρα το τέλος της σελίδας. */
    body.bp-sticky-on { padding-bottom: 66px; }

    /* Η μπάρα σε τηλέφωνο */
    .bp-stickycart { padding: 7px 10px; padding-bottom: calc(7px + env(safe-area-inset-bottom, 0px)); }
    .bp-stickycart__inner { gap: 9px; }
    .bp-stickycart__thumb { width: 40px; height: 40px; }
    .bp-stickycart__name { font-size: 11.5px; }
    .bp-stickycart__price { font-size: 15.5px; }
    .bp-stickycart__btn { min-height: 44px; padding: 0 15px; font-size: 14px; }

    .bp-trust { font-size: 12.5px; gap: 6px; margin-top: 8px !important; }
    .bp-trust__star { font-size: 14px; }

    .bp-reviews { margin: 26px 0 6px; padding-top: 20px; }
    .bp-reviews__title { font-size: 18px; }
    .bp-reviews__sub { font-size: 13px; margin-bottom: 14px; }

    /* --- Τα αιωρούμενα κουμπιά σκέπαζαν προϊόντα. Δεν τα αφαιρούμε,
           τα φέρνουμε σε μέγεθος δαχτύλου. --- */
    .hotline-phone-ring-wrap { transform: scale(.56); transform-origin: bottom left; }
    .xoo-wsc-basket { transform: scale(.82); transform-origin: bottom right; }
}

/* Σε στενότερες οθόνες η εργαλειοθήκη δεν χωρούσε σε δύο σειρές και γινόταν
   τρεις (148 px). Το φίλτρο παίρνει δική του σειρά και από κάτω μπαίνουν μαζί
   η εναλλαγή προβολής και η ταξινόμηση. */
@media (max-width: 480px) {
    .woocommerce .oceanwp-off-canvas-filter { flex: 1 1 100%; }
    .woocommerce .oceanwp-grid-list { flex: 0 0 auto; }
    .woocommerce .woocommerce-ordering { flex: 1 1 0; min-width: 0; }
}

/* Πολύ στενές οθόνες (iPhone SE και παρόμοια) */
@media (max-width: 360px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { gap: 10px; }
    .woocommerce ul.products li.product li.title h2,
    .woocommerce ul.products li.product li.title a { font-size: 12.5px; }
    .woocommerce ul.products li.product .price { font-size: 15.5px; }

    /* ΠΡΟΣΟΧΗ: εδώ ΔΕΝ ξαναδίνουμε font-size στο .onsale — θα ακύρωνε το
       `font-size: 0` του μπλοκ των 767 px και θα ξαναεμφανιζόταν η λέξη
       «ΚΕΡΔΙΣΕ», φουσκώνοντας το σήμα στο 74% της κάρτας. Πειράζουμε μόνο
       τα κομμάτια που φαίνονται. */
    .woocommerce ul.products li.product .image-wrap .onsale { padding: 3px 6px !important; }
    .woocommerce ul.products li.product .image-wrap .onsale::before,
    .woocommerce ul.products li.product .image-wrap .onsale .woocommerce-Price-amount {
        font-size: 10px !important;
    }
    .bp-cond-chip { font-size: 9.5px; padding: 3px 6px; }
}

/* =========================================================================
   17. SINGLE PRODUCT — COHESIVE STOREFRONT LAYOUT
   ========================================================================= */

/* Keep anchor targets clear of the fixed navigation. */
.single-product .variations,
.single-product form.cart,
.single-product .woocommerce-tabs,
.single-product .woocommerce-Tabs-panel {
    scroll-margin-top: 150px;
}

/* Interactive condition badge and gallery trigger need proper touch targets. */
.single-product .cert-label {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 44px !important;
    padding: 8px 13px !important;
}
.single-product .cert-label::after {
    content: "\24D8";
    font-size: 14px;
    line-height: 1;
}
.single-product .woocommerce-product-gallery__trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

/* WooCommerce and the ERP description both print “Περιγραφή”. */
.single-product #tab-description .dmm-desc-clip > .title.section-title.specs-section:first-child {
    display: none !important;
}

@media (min-width: 960px) {
    /* Compact two-row header. All links and search remain available. */
    body.single-product #site-header {
        height: 132px !important;
        min-height: 132px !important;
    }
    body.single-product #site-header #site-header-inner {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        height: 132px !important;
        min-height: 132px !important;
        padding: 8px 0 !important;
    }
    body.single-product #site-header #site-logo {
        display: flex !important;
        flex: 0 0 76px !important;
        align-items: center !important;
        width: 76px !important;
        height: 76px !important;
    }
    body.single-product #site-header #site-logo #site-logo-inner {
        display: flex !important;
        align-items: center !important;
        height: 76px !important;
    }
    body.single-product #site-header #site-logo img {
        width: auto !important;
        max-height: 68px !important;
    }
    body.single-product #site-header .dgwt-wcas-search-wrapp {
        flex: 1 1 360px !important;
        width: auto !important;
        max-width: 420px !important;
        height: 52px !important;
        margin: 0 !important;
    }
    body.single-product #site-header #site-navigation-wrap {
        position: relative !important;
        flex: 1 1 440px !important;
        width: auto !important;
        min-width: 0 !important;
        height: 104px !important;
    }
    body.single-product #site-header #site-navigation {
        height: 104px !important;
    }
    body.single-product #site-header #site-navigation-wrap .dropdown-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-content: center !important;
        justify-content: flex-end !important;
        height: 104px !important;
    }
    body.single-product #site-header #site-navigation-wrap .dropdown-menu > li > a {
        padding-right: 8px !important;
        padding-left: 8px !important;
        font-size: 13.5px !important;
        line-height: 40px !important;
    }

    /* Once scrolling starts, reclaim more vertical space. */
    body.single-product #site-header.is_stuck {
        height: 104px !important;
        min-height: 104px !important;
    }
    body.single-product #site-header.is_stuck #site-header-inner {
        height: 104px !important;
        min-height: 104px !important;
        padding: 6px 0 !important;
    }
    body.single-product #site-header.is_stuck #site-logo,
    body.single-product #site-header.is_stuck #site-logo #site-logo-inner {
        height: 64px !important;
    }
    body.single-product #site-header.is_stuck #site-logo img {
        max-height: 58px !important;
    }
    body.single-product #site-header.is_stuck .dgwt-wcas-search-wrapp {
        height: 48px !important;
    }
    body.single-product #site-header.is_stuck #site-navigation-wrap,
    body.single-product #site-header.is_stuck #site-navigation,
    body.single-product #site-header.is_stuck #site-navigation-wrap .dropdown-menu {
        height: 88px !important;
    }
    body.single-product #site-header.is_stuck #site-navigation-wrap .dropdown-menu > li > a {
        line-height: 36px !important;
    }

    /* The title belongs with the buying information, not in a detached band. */
    body.single-product .page-header {
        display: none !important;
    }
    body.single-product #main > .container {
        padding-top: 32px !important;
    }
    body.single-product #content-wrap {
        width: calc(100% - 40px) !important;
        max-width: 1180px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    /* Stable product hero: gallery on the left, one purchase card on the right. */
    body.single-product div.product {
        display: grid !important;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
        column-gap: 42px !important;
        align-items: start !important;
    }
    body.woocommerce.single-product #content-wrap div.product div.images.woocommerce-product-gallery {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        float: none !important;
        flex-basis: auto !important;
        /* A sticky grid item is contained by the whole .product element, not
           by its first grid row. It therefore floated over tabs/description.
           Keep the gallery inside the hero row instead. */
        position: relative !important;
        top: auto !important;
    }
    body.single-product div.product > .summary {
        grid-column: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 26px 26px !important;
        background: var(--bp-surface) !important;
        border: 1px solid var(--bp-line) !important;
        border-radius: 18px !important;
        box-shadow: 0 14px 36px -30px rgba(22,25,29,.55) !important;
    }
    body.single-product div.product > .clear-after-summary,
    body.single-product div.product > .woocommerce-tabs,
    body.single-product div.product > .related.products,
    body.single-product div.product > .bp-reviews {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
    body.woocommerce.single-product div.product .summary h2.product_title {
        display: block !important;
        order: 0 !important;
        max-width: none !important;
        margin: 0 0 14px !important;
        font-size: 27px !important;
        line-height: 1.22 !important;
        letter-spacing: -.025em !important;
    }
    body.single-product .summary > .bp-trust {
        order: 1 !important;
        margin: 0 0 12px !important;
    }
    body.single-product .summary > form.cart,
    body.single-product .summary > .woocommerce-product-details__short-description {
        background: #f8f9fb !important;
        border-color: #dde3e9 !important;
    }
    body.single-product .summary > form.cart {
        border-radius: 14px !important;
    }

    /* Two balanced columns reduce scanning distance in the add-on list. */
    body.single-product .dmm-phones-options {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 14px !important;
    }
    body.single-product .dmm-phones-options-title {
        grid-column: 1 / -1 !important;
    }

    /* The phone action stays available without covering the product image. */
    body.single-product .hotline-phone-ring-wrap {
        width: 62px !important;
        height: 62px !important;
        overflow: visible !important;
    }
    body.single-product .hotline-phone-ring-circle,
    body.single-product .hotline-phone-ring-circle-fill {
        display: none !important;
    }
    body.single-product .hotline-phone-ring-img-circle {
        top: 5px !important;
        left: 5px !important;
        width: 52px !important;
        height: 52px !important;
    }
    body.single-product .hotline-bar {
        opacity: 0 !important;
        transform: translateX(-18px) !important;
        pointer-events: none !important;
        transition: opacity .18s ease, transform .18s ease !important;
    }
    body.single-product .hotline-phone-ring-wrap:hover .hotline-bar,
    body.single-product .hotline-phone-ring-wrap:focus-within .hotline-bar {
        opacity: 1 !important;
        transform: translateX(0) !important;
        pointer-events: auto !important;
    }

    /* Preview-only badge must not sit on top of the sticky purchase bar. */
    body.single-product.bp-sticky-on .dmm-redesign-badge {
        bottom: 82px;
    }
}

@media (min-width: 960px) and (max-width: 1100px) {
    body.single-product div.product {
        column-gap: 28px !important;
    }
    body.single-product div.product > .summary {
        padding: 22px !important;
    }
    body.woocommerce.single-product div.product .summary h2.product_title {
        font-size: 25px !important;
    }
    body.single-product #site-header .dgwt-wcas-search-wrapp {
        max-width: 370px !important;
    }
    body.single-product #site-header #site-navigation-wrap .dropdown-menu > li > a {
        padding-right: 6px !important;
        padding-left: 6px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 767px) {
    /* Compact segmented tabs instead of three oversized vertical rows. */
    .single-product .woocommerce-tabs ul.tabs.wc-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        margin: 0 0 18px !important;
        padding: 4px !important;
        border: 1px solid var(--bp-line) !important;
        border-radius: 12px;
        background: var(--bp-ground);
    }
    .single-product .woocommerce-tabs ul.tabs.wc-tabs::before,
    .single-product .woocommerce-tabs ul.tabs.wc-tabs::after,
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li::before,
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li::after {
        content: none !important;
    }
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li {
        display: flex !important;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 48px;
        padding: 7px 4px !important;
        border-radius: 8px;
        font-size: 11.5px !important;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a,
    .single-product .woocommerce-tabs ul.tabs.wc-tabs li a[aria-selected="true"] {
        background: var(--bp-surface) !important;
        color: var(--bp-brand) !important;
        box-shadow: 0 1px 3px rgba(22,25,29,.12);
    }
}

/* =========================================================================
   18. SINGLE PRODUCT — ΣΧΕΤΙΚΑ ΠΡΟΪΟΝΤΑ
   ========================================================================= */
body.single-product div.product > .related.products {
    clear: both;
    width: 100%;
    margin: 34px 0 10px !important;
    padding: 26px 0 0 !important;
    border-top: 1px solid var(--bp-line);
}
body.single-product .related.products > h2 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.015em;
    text-transform: none !important;
    text-align: left !important;
    color: var(--bp-ink) !important;
}
body.single-product .related.products > h2::before,
body.single-product .related.products > h2::after {
    content: none !important;
}
body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0 !important;
    padding: 0 !important;
}
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
    content: none !important;
}
body.single-product .related.products ul.products li.product {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column;
}
body.single-product .related.products li.product > .product-inner {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
}
body.single-product .related.products .woo-entry-inner {
    flex: 1 1 auto;
    margin: 0 !important;
    background: var(--bp-surface);
}
body.single-product .related.products .woo-entry-inner:hover {
    border-color: #cdd3da;
    box-shadow: var(--bp-shadow);
}

@media (max-width: 1100px) {
    body.single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    body.single-product div.product > .related.products {
        margin-top: 26px !important;
        padding-top: 20px !important;
    }
    body.single-product .related.products > h2 { font-size: 18px !important; }
    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}
