/* ============================================================
   HERA FLEX — instacar.css v3
   Χρώματα: #ff4f0a (πορτοκαλί), #000 (μαύρο), #fff (λευκό)
   ============================================================ */

:root {
    --hf-orange:  #ff4f0a;
    --hf-black:   #000;
    --hf-dark:    #1a1a1a;
    --hf-gray:    #666;
    --hf-lgray:   #999;
    --hf-light:   #f7f7f7;
    --hf-border:  #e0e0e0;
    --hf-white:   #fff;
    --hf-radius:  5px;
    --hf-shadow:  0 2px 16px rgba(0,0,0,.07);
}

.mc-car-wrap { max-width:1200px; margin:0 auto; padding:0 20px 60px; }

/* ── Breadcrumb ── */
.mc-breadcrumb { font-size:.82rem; color:var(--hf-gray); margin-bottom:20px; padding:10px 0; }
.mc-breadcrumb a { color:var(--hf-gray); text-decoration:none; }
.mc-breadcrumb a:hover { color:var(--hf-orange); }
.mc-bc-sep { margin:0 6px; color:#bbb; }

/* ── Header ── */
.mc-car-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.mc-car-head-left { flex:1; }
.mc-car-head-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.mc-car-title { font-size:1.9rem; font-weight:800; color:var(--hf-black); margin:0 0 4px; line-height:1.2; }
.mc-car-brand { display:inline-block; font-size:.85rem; color:var(--hf-gray); margin-bottom:8px; }
.mc-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.mc-badge { display:inline-block; padding:3px 10px; background:var(--hf-orange); color:#fff; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; border-radius:var(--hf-radius); }
.mc-avail-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:var(--hf-radius); font-size:.78rem; font-weight:600; }
.mc-avail-in  { background:#e8f5e9; color:#2e7d32; }
.mc-avail-out { background:#fff8e1; color:#f57f17; }
.mc-delivery-time { font-size:.78rem; color:var(--hf-gray); }

/* ── Hero specs with icons ── */
.mc-hero-specs {
    display:flex;
    flex-wrap:wrap;
    gap:0;
    margin-bottom:24px;
    background:var(--hf-light);
    border:1px solid var(--hf-border);
    border-radius:var(--hf-radius);
    overflow:hidden;
}
.mc-hero-spec {
    display:flex;
    align-items:center;
    gap:7px;
    padding:11px 18px;
    font-size:.83rem;
    font-weight:600;
    color:var(--hf-dark);
    border-right:1px solid var(--hf-border);
}
.mc-hero-spec:last-child { border-right:none; }
.mc-hero-spec i {
    color:var(--hf-orange);
    font-size:.95rem;
    width:16px;
    text-align:center;
}

/* ── Main grid ── */
.mc-car-grid { display:grid; grid-template-columns:1fr 390px; gap:32px; align-items:start; margin-bottom:48px; }
.mc-car-gallery { position:relative; }
.mc-car-gallery .woocommerce-product-gallery { border-radius:var(--hf-radius); overflow:hidden; }

/* WooCommerce gallery thumbnails — horizontal, no numbering */
.mc-car-gallery .flex-control-thumbs,
.mc-car-gallery .flex-control-thumbs li { list-style:none!important; counter-reset:none!important; }
.mc-car-gallery .flex-control-thumbs::before,
.mc-car-gallery .flex-control-thumbs li::before { display:none!important; content:none!important; }
.mc-car-gallery .flex-control-thumbs {
    display:flex!important; flex-wrap:nowrap; overflow-x:auto; gap:8px;
    padding:8px 0 4px; margin:0;
    scrollbar-width:thin; scrollbar-color:var(--hf-border) transparent;
}
.mc-car-gallery .flex-control-thumbs::-webkit-scrollbar { height:4px; }
.mc-car-gallery .flex-control-thumbs::-webkit-scrollbar-thumb { background:var(--hf-border); border-radius:2px; }
.mc-car-gallery .flex-control-thumbs li { flex-shrink:0; width:80px; height:60px; margin:0; }
.mc-car-gallery .flex-control-thumbs li img {
    width:100%; height:100%; object-fit:cover; cursor:pointer;
    border-radius:var(--hf-radius); border:2px solid transparent;
    transition:border-color .15s, opacity .15s; opacity:.7;
}
.mc-car-gallery .flex-control-thumbs li img:hover { opacity:1; }
.mc-car-gallery .flex-control-thumbs li img.flex-active { border-color:var(--hf-orange); opacity:1; }
.mc-car-gallery .stm-gallery-counter,
.mc-car-gallery .woocommerce-product-gallery__trigger { display:none!important; }

/* ── Price card ── */
.mc-price-card {
    background:var(--hf-white); border:1.5px solid var(--hf-border);
    border-radius:var(--hf-radius); padding:24px;
    box-shadow:var(--hf-shadow); position:sticky; top:80px;
}

/* VAT toggle */
.mc-vat-toggle { display:flex; align-items:center; gap:10px; margin-bottom:16px; justify-content:center; }
.mc-vat-label { font-size:.78rem; color:var(--hf-lgray); font-weight:500; transition:color .2s; }
.mc-vat-label.mc-vat-active { color:var(--hf-orange)!important; font-weight:700; }
.mc-toggle-switch { position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; }
.mc-toggle-switch input { opacity:0; width:0; height:0; }
.mc-toggle-slider { position:absolute; inset:0; background:#ccc; border-radius:24px; cursor:pointer; transition:background .2s; }
.mc-toggle-slider::before { content:''; position:absolute; width:18px; height:18px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:transform .2s; }
.mc-toggle-switch input:checked + .mc-toggle-slider { background:var(--hf-orange); }
.mc-toggle-switch input:checked + .mc-toggle-slider::before { transform:translateX(20px); }

/* Price */
.mc-price-top { text-align:center; margin-bottom:16px; line-height:1; }
.mc-price-from { font-size:.75rem; color:var(--hf-gray); display:block; margin-bottom:2px; }
.mc-price-amount { font-size:2.2rem; font-weight:800; color:var(--hf-orange); }
.mc-price-amount .woocommerce-Price-currencySymbol { font-size:1.4rem; }
.mc-price-suffix { font-size:.88rem; color:var(--hf-gray); margin-left:2px; }

/* Duration */
.mc-duration { margin-bottom:16px; }
.mc-duration label { display:block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--hf-gray); margin-bottom:5px; }
.mc-duration select { width:100%; padding:9px 12px; border:1.5px solid var(--hf-border); border-radius:var(--hf-radius); font-size:.88rem; font-family:inherit; color:var(--hf-dark); background:#fff; cursor:pointer; transition:border-color .15s; }
.mc-duration select:focus { outline:none; border-color:var(--hf-orange); }

/* Prepayment slider */
.mc-prepay-wrap { background:var(--hf-light); border-radius:var(--hf-radius); padding:14px; margin-bottom:16px; }
.mc-prepay-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.mc-prepay-label { font-size:.78rem; font-weight:700; color:var(--hf-dark); }
.mc-prepay-value { font-size:1rem; font-weight:700; color:var(--hf-orange); }
.mc-range-slider { width:100%; -webkit-appearance:none; appearance:none; height:4px; background:var(--hf-border); border-radius:2px; outline:none; margin-bottom:6px; cursor:pointer; }
.mc-range-slider::-webkit-slider-thumb { -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:var(--hf-orange); cursor:pointer; border:3px solid #fff; box-shadow:0 1px 5px rgba(0,0,0,.2); }
.mc-range-slider::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:var(--hf-orange); cursor:pointer; border:3px solid #fff; }
.mc-prepay-minmax { display:flex; justify-content:space-between; font-size:.7rem; color:var(--hf-lgray); }
.mc-prepay-note { font-size:.7rem; color:var(--hf-lgray); margin:6px 0 0; line-height:1.5; }

/* Deposit */
.mc-deposit-box { background:var(--hf-light); border-radius:var(--hf-radius); padding:12px 14px; margin-bottom:16px; }
.mc-deposit-row { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.mc-deposit-label { font-size:.78rem; font-weight:600; color:var(--hf-dark); }
.mc-deposit-amount { font-size:.92rem; font-weight:700; color:var(--hf-dark); text-align:right; }
.mc-deposit-note { font-size:.7rem; color:var(--hf-lgray); margin:4px 0 0; }

/* Perks */
.mc-price-perks { list-style:none; margin:0 0 14px; padding:0; }
.mc-price-perks li { font-size:.78rem; color:var(--hf-dark); padding:4px 0 4px 18px; position:relative; }
.mc-price-perks li::before { content:'✓'; position:absolute; left:0; color:var(--hf-orange); font-weight:700; }

/* KM info */
.mc-km-info { display:flex; flex-direction:column; gap:2px; font-size:.75rem; color:var(--hf-lgray); margin-bottom:16px; padding:10px 0; border-top:1px solid var(--hf-border); }
.mc-km-info i { color:var(--hf-orange); margin-right:4px; }
.mc-km-extra { color:#bbb; }

/* CTAs */
.mc-cta-btn { display:block; text-align:center; padding:12px 20px; border-radius:var(--hf-radius); font-size:.9rem; font-weight:700; text-decoration:none!important; transition:all .2s; margin-bottom:8px; cursor:pointer; font-family:inherit; border:2px solid transparent; }
.mc-cta-primary { background:var(--hf-orange); color:#fff!important; border-color:var(--hf-orange); }
.mc-cta-primary:hover { background:#d07200; border-color:#d07200; color:#fff!important; }
.mc-cta-ghost { background:transparent; color:var(--hf-dark)!important; border-color:var(--hf-border); }
.mc-cta-ghost:hover { border-color:var(--hf-orange); color:var(--hf-orange)!important; }

/* ── Sections ── */
.mc-section { margin-bottom:48px; }
.mc-section-title {
    font-size:1.15rem; font-weight:800; color:var(--hf-black);
    margin:0 0 20px; padding-bottom:10px;
    border-bottom:3px solid var(--hf-orange); display:inline-block;
}

/* ── Short description ── */
.mc-short-desc-body {
    font-size:.95rem; line-height:1.8; color:var(--hf-dark);
    padding:20px; background:var(--hf-light);
    border-left:4px solid var(--hf-orange); border-radius:var(--hf-radius);
}

/* ── Summary ── */
.mc-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.mc-summary-card { background:var(--hf-white); border:1.5px solid var(--hf-border); border-radius:var(--hf-radius); padding:20px; display:flex; flex-direction:column; gap:5px; }
.mc-summary-card.mc-summary-highlight { border-color:var(--hf-orange); background:#fff8f0; }
.mc-summary-icon { font-size:1.3rem; }
.mc-summary-label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--hf-lgray); }
.mc-summary-val { font-size:1.05rem; font-weight:700; color:var(--hf-black); }
.mc-summary-highlight .mc-summary-val { color:var(--hf-orange); font-size:1.15rem; }
.mc-summary-sub { font-size:.67rem; color:var(--hf-lgray); }

/* ── Tabs ── */
.mc-tabs { border:1.5px solid var(--hf-border); border-radius:var(--hf-radius); overflow:hidden; }
.mc-tab-nav { display:flex; background:var(--hf-light); border-bottom:1.5px solid var(--hf-border); overflow-x:auto; scrollbar-width:none; }
.mc-tab-nav::-webkit-scrollbar { display:none; }
.mc-tab-btn {
    padding:13px 22px; font-size:.82rem; font-weight:600;
    color:var(--hf-gray)!important;
    background:transparent!important; border:none;
    border-bottom:3px solid transparent;
    cursor:pointer; white-space:nowrap; font-family:inherit;
    transition:all .15s; margin-bottom:-1.5px;
    -webkit-appearance:none;
}
.mc-tab-btn:hover { color:var(--hf-orange)!important; }
.mc-tab-btn.active {
    color:var(--hf-orange)!important;
    background:var(--hf-white)!important;
    border-bottom-color:var(--hf-orange)!important;
    font-weight:700;
}
.mc-tab-panel { display:none; padding:0; background:var(--hf-white); }
.mc-tab-panel.active { display:block; }
.mc-specs-table { width:100%; border-collapse:collapse; }
.mc-specs-table tr:nth-child(even) { background:var(--hf-light); }
.mc-specs-table th, .mc-specs-table td { padding:11px 16px; font-size:.85rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--hf-border); }
.mc-specs-table th { font-weight:600; color:var(--hf-dark); width:40%; }
.mc-specs-table td { color:var(--hf-gray); }
.mc-specs-table tr:last-child th, .mc-specs-table tr:last-child td { border-bottom:none; }

/* ── Equipment ── */
.mc-equip-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px; }
.mc-equip-subtitle { font-size:.9rem; font-weight:700; color:var(--hf-dark); margin:0 0 14px; display:flex; align-items:center; gap:8px; }
.mc-equip-subtitle i { color:var(--hf-orange); }
.mc-equip-list { list-style:none; margin:0; padding:0; }
.mc-equip-list li { font-size:.82rem; color:var(--hf-dark); padding:6px 0 6px 18px; position:relative; border-bottom:1px solid var(--hf-border); }
.mc-equip-list li:last-child { border-bottom:none; }
.mc-equip-list li::before { content:'✓'; position:absolute; left:0; top:7px; color:var(--hf-orange); font-weight:700; font-size:.75rem; }

/* ── Description ── */
.mc-desc-body { font-size:.9rem; line-height:1.8; color:var(--hf-dark); }
.mc-desc-body p { margin-bottom:1em; }

/* ── CF7 Enquiry — minimal clean styling ── */
.mc-enquiry { max-width:700px; }
.mc-enquiry .wpcf7-form { }
.mc-enquiry .wpcf7-form p { margin-bottom:14px; }
.mc-enquiry .wpcf7-form label { display:block; font-size:.78rem; font-weight:700; color:var(--hf-dark); margin-bottom:5px; }
.mc-enquiry .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.mc-enquiry .wpcf7-form textarea,
.mc-enquiry .wpcf7-form select {
    width:100%!important; padding:10px 12px!important;
    border:1.5px solid var(--hf-border)!important; border-radius:var(--hf-radius)!important;
    font-size:.88rem!important; font-family:inherit!important;
    color:var(--hf-dark)!important; background:#fff!important;
    box-sizing:border-box!important; transition:border-color .15s!important;
    box-shadow:none!important;
}
.mc-enquiry .wpcf7-form input:not([type=submit]):focus,
.mc-enquiry .wpcf7-form textarea:focus { outline:none!important; border-color:var(--hf-orange)!important; }
.mc-enquiry .wpcf7-form textarea { min-height:120px; resize:vertical; }
.mc-enquiry .wpcf7-form input[type=submit] {
    background:var(--hf-orange)!important; color:#fff!important;
    border:none!important; padding:13px 36px!important;
    font-size:.92rem!important; font-weight:700!important;
    cursor:pointer!important; border-radius:var(--hf-radius)!important;
    transition:background .2s!important; font-family:inherit!important;
    width:auto!important;
}
.mc-enquiry .wpcf7-form input[type=submit]:hover { background:#d07200!important; }
/* Hide CF7 hidden fields */
.mc-enquiry .wpcf7-form input[type=hidden],
.mc-enquiry .wpcf7-form p:has(input[type=hidden]) { display:none!important; }

/* ── Related ── */
.mc-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mc-related-card { display:block; background:var(--hf-white); border:1.5px solid var(--hf-border); border-radius:var(--hf-radius); overflow:hidden; text-decoration:none!important; transition:all .2s; }
.mc-related-card:hover { border-color:var(--hf-orange); box-shadow:var(--hf-shadow); transform:translateY(-3px); }
.mc-related-card img { width:100%; height:160px; object-fit:cover; display:block; }
.mc-related-name { display:block; font-size:.85rem; font-weight:700; color:var(--hf-black); padding:10px 14px 4px; }
.mc-related-price { display:block; font-size:.82rem; color:var(--hf-orange); padding:0 14px 14px; font-weight:600; }
.mc-related-suffix { font-weight:400; font-size:.75rem; color:var(--hf-lgray); }

/* ── Responsive ── */
@media (max-width:1024px) {
    .mc-car-grid { grid-template-columns:1fr; }
    .mc-price-card { position:static; }
    .mc-summary-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    .mc-car-title { font-size:1.5rem; }
    .mc-hero-specs { display:grid; grid-template-columns:repeat(3,1fr); }
    .mc-hero-spec { border-right:1px solid var(--hf-border); border-bottom:1px solid var(--hf-border); padding:10px 12px; font-size:.78rem; }
    .mc-summary-grid { grid-template-columns:1fr; }
    .mc-related-grid { grid-template-columns:1fr; }
    .mc-equip-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
    .mc-hero-specs { grid-template-columns:repeat(2,1fr); }
}

/* ── Gallery main image fix ── */
.mc-car-gallery .woocommerce-product-gallery {
    border-radius: var(--hf-radius);
    /* NO overflow:hidden — would clip the main image */
}
.mc-car-gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    border-radius: var(--hf-radius);
    overflow: hidden;
}
.mc-car-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image {
    margin: 0;
}
.mc-car-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.mc-car-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
    border-radius: var(--hf-radius);
}
/* Flex viewport (FlexSlider main container) */
.mc-car-gallery .flex-viewport {
    border-radius: var(--hf-radius);
    overflow: hidden;
}

/* ── Photo notice (#10) ── */
.mc-photo-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #fff8f0;
    border: 1px solid #ff4f0a;
    border-radius: 5px;
    font-size: .82rem;
    color: #333;
    margin-bottom: 16px;
}
.mc-photo-notice i { color: #ff4f0a; flex-shrink: 0; }

/* ── Duration CARDS (#8) ── */
.mc-duration-label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #999;
    margin-bottom: 8px;
}
.mc-duration-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}
.mc-duration-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 6px;
    border: 1.5px solid #e0e0e0;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
    text-align: center;
}
.mc-duration-card:hover {
    border-color: #ff4f0a;
    background: #fff8f5;
}
.mc-duration-card.active {
    border-color: #ff4f0a;
    background: #fff8f5;
    box-shadow: 0 0 0 1px #ff4f0a;
}
.mc-dc-months {
    font-size: 1.1rem;
    font-weight: 800;
    color: #000;
    line-height: 1;
}
.mc-duration-card.active .mc-dc-months { color: #ff4f0a; }
.mc-dc-unit {
    font-size: .65rem;
    color: #999;
    text-transform: lowercase;
}
.mc-dc-price {
    font-size: .72rem;
    font-weight: 700;
    color: #666;
    line-height: 1;
    margin-top: 4px;
}
.mc-duration-card.active .mc-dc-price { color: #ff4f0a; }
.mc-dc-suffix { font-size: .6rem; color: #999; }

/* ── White backgrounds (#9) ── */
.mc-prepay-wrap {
    background: #fff !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 5px !important;
    padding: 14px !important;
    margin-bottom: 16px !important;
}
.mc-deposit-box {
    background: #fff !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 5px !important;
    padding: 12px 14px !important;
    margin-bottom: 16px !important;
}

/* ── Delivery time icon (#6) ── */
.mc-delivery-time i { color: #ff4f0a; margin-right: 4px; font-size: .85rem; }


/* Duration cards — inactive color #525252 */
.mc-duration-card:not(.active) {
    background: #525252 !important;
    border-color: #525252 !important;
}
.mc-duration-card:not(.active) .mc-dc-months {
    color: #fff !important;
}
.mc-duration-card:not(.active) .mc-dc-unit,
.mc-duration-card:not(.active) .mc-dc-price,
.mc-duration-card:not(.active) .mc-dc-suffix {
    color: rgba(255,255,255,0.75) !important;
}
.mc-duration-card:not(.active):hover {
    background: #444 !important;
    border-color: #ff4f0a !important;
}


/* Κενό μέσα στο product page */
.mc-car-wrap {
    padding-top: 24px !important;
}

@media (max-width: 768px) {
    .mc-car-grid { grid-template-columns: 1fr !important; }
    .mc-price-card { 
        width: 100% !important; 
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .mc-vat-toggle { flex-wrap: wrap !important; justify-content: center !important; }
    .mc-duration-cards { grid-template-columns: repeat(4, 1fr) !important; }
    .mc-summary-grid { grid-template-columns: 1fr !important; }
}


.mc-summary-grid {
    grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 768px) {
    .mc-summary-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    .mc-summary-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ── Mobile: Price card full width, δεν κόβεται ── */
@media (max-width: 1024px) {
    .mc-car-grid {
        grid-template-columns: 1fr !important;
    }
    .mc-price-card {
        position: static !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    /* Τιμή στο top να μη σπάει */
    .mc-price-top {
        white-space: nowrap !important;
    }
    /* Duration cards: 4 σε μια γραμμή στο tablet */
    .mc-duration-cards {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* ── Mobile: Duration cards 2x2 ── */
@media (max-width: 480px) {
    .mc-duration-cards {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Fix: gallery παίρνει width από grid column όχι από Motors container */
.mc-car-gallery {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.mc-car-gallery .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
}

/* FlexSlider: force recalculate στο σωστό container */
.mc-car-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
}

.mc-car-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
}