/* ===================================
    Store – culori conform docs/colors.md (Tartuffo)
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700;800;900&display=swap');
/* variable – tokens docs/colors.md */
:root {
    --truffle-brown: #4A2F23;
    --cocoa-brown: #7A5A45;
    --warm-ivory: #F6F1EA;
    --stone-beige: #E6DED3;
    --white-truffle-cream: #EFE3CF;
    --sage-green: #7E9B8A;
    --sage-hover: #6A8576;
    --light-olive: #B9C7B0;
    --wine-red: #9C3D3D;
    --white: #FFFFFF;
    --base-color: var(--truffle-brown);
    --dark-gray: var(--truffle-brown);
    --medium-gray: var(--cocoa-brown);
    --light-orange: var(--light-olive);
    --seashell-white: var(--white-truffle-cream);
    --brown: var(--cocoa-brown);
    --chablis-red: var(--stone-beige);
    --cinderella-red: var(--white-truffle-cream);
    --light-medium-gray: var(--warm-ivory);
    --alt-font: 'Jost', sans-serif;
    --primary-font: 'Jost', sans-serif;
}
/* reset */
body {
    font-size: 18px;
}
section {
    padding-top: 100px;
    padding-bottom: 100px;
}
a:hover {
    color: var(--truffle-brown);
}
.input-small, .textarea-small, .select-small {
    font-size: 14px;
}
/* Primary CTA pe fundal deschis (hero, card): Sage green + alb (ansamblu referință) */
.btn-base-color,
.btn-sage {
    background-color: var(--sage-green) !important;
    color: var(--white) !important;
    border: none;
}
.btn-base-color:hover,
.btn-sage:hover {
    background-color: var(--sage-hover) !important;
    color: var(--white) !important;
    border: none;
}
/* Secondary / outline: Truffle Brown text, hover Light Olive */
.btn-transparent-base-color {
    color: var(--truffle-brown);
    background: transparent;
}
.btn-transparent-base-color:hover {
    background-color: var(--light-olive);
    color: var(--truffle-brown);
}
/* header top bar – fundal deschis Stone beige, text Truffle Brown (ansamblu referință) */
.bg-stone-beige {
    background-color: var(--stone-beige);
}
.header-top-bar.bg-stone-beige a {
    color: var(--cocoa-brown);
}
.header-top-bar.bg-stone-beige a:hover {
    color: var(--truffle-brown);
}
/* header */
.header-icon .icon > a {
    font-size: 16px;
    padding-left: 30px;
}
header .navbar-brand {
    padding: 20px 0;
}
header .navbar-brand img {
    max-height: 50px;
}
.navbar > .container-fluid, .header-top-bar > .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
}
.header-icon {
    padding-right: 20px;
}
.navbar .navbar-nav .nav-link {
    font-size: 16px;
    line-height: 24px;
}
.center-logo .navbar-nav .nav-link,
header.sticky .center-logo .navbar-nav .nav-link {
    padding: 55px 34px;
}
.header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
    font-weight: 500;
}
.header-with-topbar + .top-space-margin {
    margin-top: 129px;
}
.header-cart-icon .cart-count {
    background-color: var(--truffle-brown);
}
.navbar .navbar-nav .dropdown .dropdown-menu .mega-menu .btn-hover-animation i {
    top: 1px;
}
/* navbar */
.navbar .navbar-nav .submenu-content ul .sub-title {
    font-size: 17px;
}
.navbar .navbar-nav .dropdown .dropdown-menu {
    padding-top: 8px;
    padding-bottom: 8px;
}
.navbar .navbar-nav .dropdown .dropdown-menu a {
    font-size: 17px;
}
.navbar .navbar-nav .simple-dropdown .dropdown-menu {
    width: 190px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.header-cart-icon .header-cart .cart-item-list {
    border-radius: 0;
}
/* text color */
.text-light-orange {
    color: var(--light-orange);
}
.text-seashell-white {
    color: var(--seashell-white);
}
.text-brown {
    color: var(--brown);
}
.text-cinderella-red {
    color: var(--cinderella-red);
}
/* bg color */
.bg-seashell-white {
    background-color: var(--base-color);
}
.bg-light-olive {
    background-color: var(--light-olive);
}
.bg-light-medium-gray {
    background-color: var(--light-medium-gray) !important;
    padding-top: 50px;
    padding-bottom: 20px;
}
.bg-chablis-red {
    background-color: var(--chablis-red);
}
.bg-gradient-very-light-gray {
    background-image: linear-gradient(to bottom, var(--warm-ivory), var(--stone-beige), var(--white-truffle-cream), #ffffff);
}
/* page title */
.page-title-extra-large h1 {
    font-size: 1.25rem;
    line-height: 1.25rem;
}
/* btn */
.btn {
    font-weight: 500;
    letter-spacing: -0.5px;
}
.btn.btn-extra-large {
    padding: 16px 41px 17px;
    font-size: 18px;
}
.btn.btn-large {
    padding: 13px 30px;
    font-size: 16px;
}
.btn.btn-medium {
    padding: 12px 30px 11px;
    font-size: 14px;
}
.btn.btn-small {
    font-size: 14px;
    padding: 10px 25px 9px;
}
.btn.btn-very-small {
    font-size: 12px;
    padding: 7px 21px 7px;
}
.btn.btn-link {
    padding: 0 0 2px;
}
/* Ghost: Truffle Brown text, hover White Truffle Cream (docs/colors.md) */
.btn.btn-transparent-base-color {
    color: var(--truffle-brown);
}
.btn.btn-transparent-base-color:hover {
    background-color: var(--white-truffle-cream);
    color: var(--truffle-brown);
}
/* tab style 04 */
.tab-style-04 .nav-tabs .nav-item {
    padding: 0 42px;
}
.tab-style-04 .nav-tabs .nav-item .nav-link {
    line-height: 50px;
}
/* tooltip */
.tooltip.show {
    opacity: 1;
}
.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before, .bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--dark-gray);
    top: -2px;
}
.tooltip .tooltip-inner {
    background-color: var(--dark-gray);
    border-radius: 3px;
    font-size: 10px;
    text-transform: uppercase;
    padding: 5px 10px;
    font-weight: 500;
}
/* tab style 07 */
.tab-style-07 .nav-tabs .nav-item .nav-link {
    padding: 20px 30px;
}
.tab-style-07 .nav-tabs .nav-item .nav-link.active span, .tab-style-07 .nav-tabs .nav-item .nav-link:hover span {
    color: var(--white);
}
/* progress bar 02 */
.progress-bar-style-02 .progress {
    height: 10px; 
}
/* newsletter style 04 */
.newsletter-style-04 .btn {
    font-size: 18px;
}
/* CTA section: imagine fundal + overlay cafeniu ~80% */
.cta-section-with-bg {
    background-image: url('/assets/img/cta.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.cta-section-with-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--dark-gray);
    opacity: 0.8;
    z-index: 0;
}
.cta-section-with-bg .container {
    z-index: 1;
}
/* google map */
#map [aria-roledescription="map"] {  left: -150px !important;}
/* contact form style 03 */
.contact-form-style-03 {
    margin-bottom: -250px;
}
/* product add-to-cart form – full width in product info column */
.product-add-form {
    width: 100%;
}
/* Profile form – blocuri clare, spacing compact */
.profile-form-wrapper .profile-form-block {
    border: 1px solid rgba(0,0,0,0.06);
}
.profile-form-wrapper .form-control,
.profile-form-wrapper .form-select {
    background-color: var(--white);
}
/* Brands / clients section – centrare elemente */
.clients-style-06 {
    justify-content: center;
}
.clients-style-06 .client-box {
    display: flex;
    justify-content: center;
    align-items: center;
}
.clients-style-06 .client-box a,
.clients-style-06 .client-box img {
    display: block;
}
/* Magnific Popup – overlay negru cu transparență */
.mfp-bg {
    background: #000 !important;
    opacity: 0.85;
}
.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.85;
}
/* Image gallery – white background behind image */
.mfp-gallery .mfp-image-holder .mfp-figure:after,
.mfp-image-holder .mfp-figure:after {
    background: var(--white);
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.12);
}
/* tag cloud */
.tag-cloud a {
    font-size: 15px;
}
.tag-cloud a.likes-count {
    font-size: 13px;
}
/* blog modern */
.blog-modern figure .post-content-wrapper {
    bottom: -54px;
}
/* pagination style 01 */
.pagination-style-01 .page-item.active .page-link, .pagination-style-01 .page-item .page-link:hover {
    background: var(--dark-gray);
    color: var(--white);
}
.pagination-style-01 .page-item:first-child .page-link, .pagination-style-01 .page-item:last-child .page-link {
    background: transparent;
    box-shadow: none !important;
    color: var(--medium-gray);
}
.pagination-style-01 .page-item:first-child .page-link:hover, .pagination-style-01 .page-item:last-child .page-link:hover {
    color: var(--dark-gray);
}
/* newsletter style 04 */
.newsletter-style-04 input {
    padding-right: 100px !important;
}
/* map */
.google-maps-link a {
    color: var(--white);
}
/* footer */
footer {
    padding-top: 80px;
}
.footer-dark p, .footer-dark a {
    color: var(--brown);
}
.footer-dark a:hover, .footer-navbar li a:hover {
    color: var(--truffle-brown);
}
footer .elements-social li {
    margin: 0 1px 5px 0;
}
footer .footer-logo img {
    max-height: 50px;
}
footer ul li {
    margin-bottom: 0;
}
/* social */
footer .social-icon-style-09 .small-icon a {
    width: 50px;
    height: 50px;
}
footer .social-icon-style-09 ul li a span {
    background-color: var(--truffle-brown);
}
/* blog comment */
.blog-comment li .btn-reply:hover {
    color: var(--dark-gray);
}
.shop-image .lable.recommended {
    background-color: var(--light-olive);
    color: #fff;
}
/* revolution slider */
.wrapper {padding: 0 20%; position: relative;}
.tparrows.tp-rightarrow:before { content: "prev";}
.tparrows.tp-leftarrow:before { content: "next";}
.uranus.tparrows:before {white-space: nowrap; text-transform: uppercase; font-family: 'Jost', sans-serif; font-weight: 500; font-size: 16px; letter-spacing: 6px; line-height: 70px; transform-origin: 0 0; transform: rotate(-90deg); bottom: 0; margin-top: 110px; color: var(--truffle-brown);}
.uranus.tparrows {width: 70px; height: 50%; display: flex; vertical-align: middle; align-items: center; border-style: solid; border-color: rgba(0,0,0,0.1); border-width: 1px 0px 0px 1px}
.uranus.tparrows.tp-leftarrow { border-top: 0; }
.shop-btn { position: absolute!important; bottom: 30px; left: 50%; transform: translateX(-50%) !important;}
.title-text {padding: 100px !important;}
@media (min-width: 1921px){
    .title-text { padding: 0 200px!important; font-size: 200px !important; line-height: 200px !important;}
}
@media (max-width: 1399px){
    .navbar .navbar-nav .nav-link { padding: 10px 17px; }
}
@media (max-width: 1250px){
    .title-text {padding: 0px !important;}
    .navbar .navbar-nav .nav-link { padding: 10px 14px; }
}
@media (max-width: 1199px){
    section { padding-top: 85px; padding-bottom: 85px; }
    .btn.btn-small { padding: 10px 15px 9px; }
    .btn.btn-extra-large { font-size: 16px; }
    .search-form-wrapper .search-form-box { width: 60%;}
    .title-text {padding: 0px !important;}
    .btn.btn-switch-text.btn-large > span { padding: 16px 30px; }
    footer .social-icon-style-09 .small-icon a { width: 40px; height: 40px;}
}
@media (max-width: 1023px){
    .shop-btn { position: relative!important; bottom: 0px;}
}
@media (max-width: 991px){
    section { padding-top: 70px; padding-bottom: 70px; }
    /* tab-style-04: full viewport width, border-bottom, better mobile UI */
    #tab .tab-style-04 {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }
    .tab-style-04 .nav-tabs {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: stretch;
    }
    .tab-style-04 .nav-tabs .nav-item {
        flex: 1 1 0;
        min-width: 0;
        padding: 0;
        border-bottom: 1px solid var(--stone-beige, #E6DED3);
    }
    .tab-style-04 .nav-tabs .nav-item .nav-link {
        display: block;
        width: 100%;
        text-align: center;
        padding: 12px 8px;
        line-height: 1.4;
        border: none !important;
        border-radius: 0;
    }
    .tab-style-04 .nav-tabs .nav-item .nav-link.active {
        border-bottom: 2px solid var(--truffle-brown) !important;
        margin-bottom: -1px;
    }
    .tab-style-07 .nav-tabs .nav-item .nav-link { padding: 20px; }
    .navbar .btn.btn-hover-animation:hover .btn-text { -webkit-transform: translateX(0); transform: translateX(0); }
    .navbar .btn.btn-hover-animation .btn-icon { display: none; }
    .navbar .navbar-nav .dropdown .dropdown-menu a, .navbar-modern-inner .navbar-nav .dropdown .dropdown-menu a, .navbar-full-screen-menu-inner .navbar-nav .dropdown .dropdown-menu a { line-height: 20px; }
    .navbar .navbar-nav .dropdown .dropdown-menu a { border-color: transparent; }
    .navbar > .container-fluid, .header-top-bar > .container-fluid { padding-left: 0; padding-right: 0; }
    /* google map */
    #map [aria-roledescription="map"] {  left: 0px !important;}    
    .contact-form-style-03 { margin-bottom: 50px; } 
}
@media (max-width: 767px){
    .search-form-wrapper .search-form-box { width: 85%; }
    .wrapper {padding: 0 12%; margin: 0;}
    .column-layer { height: 50vh !important; display: flex !important;}
    section { padding-top: 50px; padding-bottom: 50px; }
    .shop-modern .swiper-button-prev, .shop-modern .swiper-rtl .swiper-button-next { left: -15px; right: auto;}
    .shop-modern .swiper-button-next, .shop-modern .swiper-rtl .swiper-button-prev { right: -15px; left: auto; }
    .tab-style-04 .nav-tabs .nav-item .nav-link { line-height: 36px; }
    footer { padding-top: 50px; }
}
@media (max-width: 479px){
    .uranus.tparrows:before {line-height: 40px;font-size: 14px; }
    .uranus.tparrows {width: 40px; }
}
@media (max-width: 900px) and (max-width: 870px) and (orientation: landscape) {
    .column-layer { height: 700px !important;}
    .uranus.tparrows {height: 70vh;}
}
@media  (max-width: 991px) and (orientation: landscape) {
    .column-layer { height: 70vh !important;}
    .uranus.tparrows {height: 70vh;}
    .content-row {padding: 120px 120px 120px 150px;}
}
@media (min-width: 992px) and (max-width: 1199px) {
    .header-icon { padding-right: 15px; }
    .navbar .navbar-nav .nav-link { font-size: 17px; padding: 10px 7px;}
    .header-icon .icon > a { font-size: 16px; padding-left: 18px; }
}

/* Catalog grid – CSS Grid so products never overlap (no dependency on Isotope) */
.shop-boxed.shop-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-left: 0;
    margin-right: 0;
}
.shop-boxed.shop-wrapper > li.grid-sizer {
    display: none;
}
/* Override theme’s .grid li { width: 25% } so cards fill the grid cell, not 25% of it */
.shop-boxed.shop-wrapper > li.grid-item {
    width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}
.shop-boxed.shop-wrapper .grid-item {
    display: flex;
    height: 100%;
}
@media (max-width: 1399px) {
    .shop-boxed.shop-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 1199px) {
    .shop-boxed.shop-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 991px) {
    .shop-boxed.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .shop-boxed.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}
@media (max-width: 575px) {
    .shop-boxed.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* Home page product grids (recommended / new products) – same CSS Grid, 2 columns on mobile */
.shop-modern.shop-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-left: 0;
    margin-right: 0;
}
.shop-modern.shop-wrapper > li.grid-sizer {
    display: none;
}
.shop-modern.shop-wrapper > li.grid-item {
    width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}
.shop-modern.shop-wrapper .grid-item {
    display: flex;
    height: 100%;
}
@media (max-width: 1399px) {
    .shop-modern.shop-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 1199px) {
    .shop-modern.shop-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 991px) {
    .shop-modern.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .shop-modern.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}
@media (max-width: 575px) {
    .shop-modern.shop-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* Home product cards – same border/radius as catalog */
.shop-modern .shop-box {
    padding: 10px;
    border: 1px solid var(--stone-beige);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.25s ease;
}
.shop-modern .shop-box:hover {
    border-color: var(--cocoa-brown);
}

.shop-boxed .shop-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 10px;
    border: 1px solid var(--stone-beige);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.25s ease;
}
.shop-boxed .shop-box:hover {
    border: 1px solid var(--cocoa-brown);
}
/* Zona imaginii cu raport fix – textul rămâne sub imagine, nu se suprapune */
.shop-boxed .shop-box .shop-image {
    flex: 0 0 auto;
    overflow: hidden;
}
.shop-boxed .shop-box .shop-image a {
    display: block;
    position: relative;
    padding-bottom: 100%;
    height: 0;
    overflow: hidden;
}
.shop-boxed .shop-box .shop-image a img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.shop-boxed .shop-box .shop-image .product-overlay,
.shop-boxed .shop-box .shop-image .shop-hover,
.shop-boxed .shop-box .shop-image .lable {
    position: absolute;
}
.shop-boxed .shop-box .shop-footer {
    flex: 0 0 auto;
    margin-top: auto;
}
.shop-boxed .shop-box .shop-footer a.text-dark-gray.fs-17.alt-font.fw-600 {
    display: grid;
    line-height: 17px !important;
}

/* Catalog sidebar – active filter state */
.shop-sidebar .shop-filter li.active .product-cb {
    border-color: var(--dark-gray);
}
.shop-sidebar .shop-filter li.active .product-cb:after {
    opacity: 1;
}
.shop-sidebar .shop-filter li.active a {
    font-weight: 600;
    color: var(--dark-gray);
}

/* Checkout order table – price column 20% smaller so product column fits */
.your-order-table {
    table-layout: fixed;
}
.your-order-table th:first-child,
.your-order-table td:first-child {
    width: 68%;
}
.your-order-table th:last-child,
.your-order-table td:last-child {
    width: 32%;
}

/* About page – allergens section: list bullets (disc) and numbering (override theme's ul li { list-style: none }) */
.about-allergens-text ul {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}
.about-allergens-text ul li {
    list-style: disc outside none !important;
    margin-bottom: 0.25rem;
}
.about-allergens-text ol {
    list-style-type: decimal;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}
.about-allergens-text ol li {
    list-style: decimal outside none !important;
    margin-bottom: 0.25rem;
}

/* Photo gallery (image-gallery-style-02): top spacing, hover overlay, rounded corners */
.image-gallery-style-02.gallery-wrapper {
    margin-top: 20px;
}
.image-gallery-style-02 .gallery-box .gallery-image {
    border-radius: 12px;
    overflow: hidden;
}
.image-gallery-style-02 .gallery-box .gallery-image .gallery-hover.move-bottom-top {
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    height: auto;
    border-radius: 12px;
}

/* Video gallery: play icon – round and semi-transparent */
.video-play-icon-box {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: rgba(74, 47, 35, 0.75) !important; /* truffle-brown, semi-transparent */
}
.video-play-icon-box i {
    font-size: 36px;
}

/* Video gallery: title link – smaller font and line-height */
.blog-classic-02 .blog-content h4 a.text-dark-gray.video-modal-popup {
    font-size: 18px;
    line-height: 16px;
}

/* ===================================
   Cart Summary Card
====================================== */
.cart-summary-card {
    background: #f9f9f9;
    border-radius: 6px;
    padding: 40px;
}
.cart-summary-header {
    border-bottom: 2px solid var(--truffle-brown);
    padding-bottom: 16px;
    margin-bottom: 4px;
}
.cart-summary-header .cart-summary-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--truffle-brown);
    letter-spacing: -0.3px;
    display: block;
}
.cart-summary-rows {
    display: flex;
    flex-direction: column;
}
.cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #e8e1d9;
}
.cart-summary-row .csr-label {
    font-size: 14px;
    color: var(--cocoa-brown);
    flex-shrink: 0;
}
.cart-summary-row .csr-value {
    font-size: 14px;
    color: var(--truffle-brown);
    text-align: right;
    word-break: break-word;
}
.shipping-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.shipping-options .shipping-option-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid #ddd6ce;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    color: var(--truffle-brown);
    background: #fff;
    transition: border-color 0.2s ease, color 0.2s ease;
    margin-bottom: 0;
    font-weight: 400;
}
.shipping-options .shipping-option-pill:hover {
    border-color: var(--truffle-brown);
}
.shipping-options .shipping-option-pill input[type="radio"] {
    width: auto;
    height: auto;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--truffle-brown);
}
.cart-summary-city {
    padding: 14px 0;
    border-bottom: 1px solid #e8e1d9;
}
.cart-summary-city .csr-label {
    font-size: 13px;
    color: var(--cocoa-brown);
    display: block;
    margin-bottom: 8px;
}
.cart-summary-total-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    padding-top: 18px;
}
.cart-summary-total-row .cst-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--truffle-brown);
}
.cart-summary-total-row .cst-value {
    text-align: right;
}
.cart-summary-total-row .cst-value .cst-amount {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--truffle-brown);
    line-height: 1.2;
}
.cart-summary-total-row .cst-value .cst-vat {
    display: block;
    color: var(--cocoa-brown);
    font-size: 12px;
    margin-top: 3px;
}
@media (max-width: 1199px) {
    .cart-summary-card { padding: 30px; }
}
@media (max-width: 991px) {
    .cart-summary-card { padding: 25px; }
}

/* ===================================
   Checkout – Person type toggle
====================================== */
.person-type-toggle {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.person-type-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid #ddd6ce;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--truffle-brown);
    background: #fff;
    transition: border-color 0.2s ease, background 0.2s ease;
    margin-bottom: 0;
}
.person-type-pill:hover {
    border-color: var(--truffle-brown);
}
.person-type-pill input[type="radio"] {
    width: auto;
    height: auto;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--truffle-brown);
}
.person-type-pill:has(input:checked) {
    border-color: var(--truffle-brown);
    background: var(--warm-ivory);
}
.company-fields-card {
    background: #f9f6f2;
    border: 1px solid #e8e1d9;
    border-radius: 6px;
    padding: 25px;
}

/* ===================================
   Checkout Summary – product list
====================================== */
.checkout-product-list {
    border-bottom: 1px solid #e8e1d9;
    margin-bottom: 0;
}
.checkout-product-list-header {
    display: flex;
    justify-content: space-between;
    padding: 14px 0 10px;
    border-bottom: 1px solid #e8e1d9;
}
.checkout-product-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0ece7;
}
.checkout-product-row:last-child {
    border-bottom: 0;
}
.checkout-product-name {
    font-size: 13px;
    color: var(--truffle-brown);
    font-weight: 500;
    flex: 1;
    line-height: 1.4;
    text-decoration: none;
}
.checkout-product-name:hover {
    color: var(--cocoa-brown);
}
.checkout-product-qty {
    display: inline-block;
    margin-left: 4px;
    color: var(--cocoa-brown);
    font-weight: 400;
}
.checkout-city-display {
    margin-top: 8px;
    padding: 5px 10px;
    background: #fff;
    border: 1px solid #ddd6ce;
    border-radius: 4px;
    font-size: 12px;
    color: var(--truffle-brown);
    font-weight: 500;
}
.checkout-product-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--truffle-brown);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Cart table – wider price/subtotal columns */
.cart-products .product-price,
.cart-products .product-subtotal {
    min-width: 95px;
    white-space: nowrap;
}

/* =========================================
   Checkout form validation styles
   ========================================= */
.checkout-field-error {
    display: block;
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    min-height: 0;
}
.checkout-field-error:empty {
    display: none;
}
.checkout-input-invalid,
.checkout-input-invalid.form-select {
    border-color: #dc3545 !important;
    background-color: #fff9f9 !important;
}
.checkout-input-invalid:focus,
.checkout-input-invalid.form-select:focus {
    box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.2) !important;
}
.checkout-terms-error {
    display: block;
    color: #dc3545;
    font-size: 12px;
    margin-top: 6px;
}
.checkout-terms-error:empty {
    display: none;
}

/* Header: on mobile, align all menu items to the left */
@media (max-width: 991px) {
    .header-with-topbar .menu-order {
        justify-content: flex-start !important;
    }
    .header-with-topbar .navbar-collapse .navbar-nav {
        justify-content: flex-start !important;
        text-align: left;
        width: 100%;
        align-items: flex-start;
    }
    .header-with-topbar .navbar-collapse .navbar-nav .nav-item {
        text-align: left;
        align-self: flex-start;
    }
    /* Dropdown toggle: no position absolute on mobile */
    .navbar .navbar-nav .nav-item .dropdown-toggle,
    .navbar-full-screen-menu-inner .navbar-nav .nav-item .dropdown-toggle,
    .navbar-modern-inner .navbar-nav .nav-item .dropdown-toggle {
        position: static !important;
    }
    /* Dropdown toggle .show: no rotate */
    .navbar .navbar-nav .dropdown .dropdown-toggle.show,
    .navbar-full-screen-menu-inner .navbar-nav .dropdown .dropdown-toggle.show,
    .navbar-modern-inner .navbar-nav .dropdown .dropdown-toggle.show {
        transform: none !important;
    }
}