/**
 * LOVEU Products / product.php — V1.1
 * Replaces original product.css, keeping the existing sidebar + grid,
 * SEO category landing layouts, CMS data, pagination and inquiry triggers.
 * All selectors scoped to body.loveu-products. No Header/Footer overrides.
 */
body.loveu-products {
    --loveu-product-navy: var(--loveu-navy, #10336d);
    --loveu-product-ink: #242a34;
    --loveu-product-muted: #737a86;
    --loveu-product-line: #e5e8ec;
    --loveu-product-surface: #f7f8fa;
    background: #fff;
}
body.loveu-products .loveu-products-main { min-width:0; background:#fff; padding-bottom:clamp(3.5rem, 5.5vw, 5.5rem); }
body.loveu-products .loveu-products-main a { text-decoration:none; }
body.loveu-products .page-banner { display:block; width:100%; max-height:clamp(150px,21vw,290px); overflow:hidden; background:var(--loveu-product-surface); }
body.loveu-products .page-banner img { display:block; width:100%; height:auto; max-height:clamp(150px,21vw,290px); object-fit:cover; object-position:center; }
body.loveu-products .bread-path { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; margin:0; padding:clamp(1.35rem, 2.3vw, 2.2rem) 0; font-size:.875rem; line-height:1.6; color:#7d8490; }
body.loveu-products .bread-path .breadcrumbs { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.5rem; min-width:0; }
body.loveu-products .bread-path a { font-size:inherit; color:#747b87; }
body.loveu-products .bread-path a:hover { color:var(--loveu-product-navy); }
body.loveu-products .bread-path .iconfont { font-size:.875rem; font-weight:normal; line-height:1; color:#a5abb4; }
body.loveu-products .bread-path .iconfont:first-child { color:var(--loveu-product-navy); }

/* The original layout's sidebar and content areas are unchanged in order. */
body.loveu-products .products-page-section { padding-top:0; padding-bottom:0; }
body.loveu-products .products-page-section > .container-fluid {
    padding:0; margin:0; display:grid; grid-template-columns:minmax(218px, 24%) minmax(0, 1fr);
    gap:clamp(1.5rem, 2.5vw, 2.6rem); align-items:start;
}
body.loveu-products .side_left { float:none; width:auto; min-width:0; }
body.loveu-products .content_right { min-width:0; padding-left:0; }
body.loveu-products .content_right .cont { padding:0; }
body.loveu-products .category_mod { width:100%; background:#fff; border:1px solid var(--loveu-product-line); }
body.loveu-products .category_mod > .title { margin:0; padding:1.2rem 1.2rem; min-height:3.9rem; display:flex; align-items:center; color:#fff; background:var(--loveu-product-navy); font-size:1.02rem; font-weight:600; line-height:1.35; letter-spacing:.025em; }
body.loveu-products .category_mod .content { margin:0; padding:.4rem .85rem .8rem; width:100%; background:#fff; }
body.loveu-products .category_mod .content ul { list-style:none; margin:0; padding:0; }
body.loveu-products .category_mod .content > ul > li { margin:0; padding:0; border-bottom:1px solid var(--loveu-product-line); background:transparent; }
body.loveu-products .category_mod .content > ul > li:last-child { border-bottom:none; }
body.loveu-products .category_mod .content > ul > li > a { display:block; min-height:3.2rem; padding:.85rem .75rem; font-size:.9rem; font-weight:500; line-height:1.5; color:#4f5968; white-space:normal; overflow-wrap:anywhere; border-left:3px solid transparent; }
body.loveu-products .category_mod .content > ul > li > a:hover,
body.loveu-products .category_mod .content > ul > li.current > a { color:var(--loveu-product-navy); background:#f3f6fa; border-left-color:var(--loveu-product-navy); }
body.loveu-products .category_mod .content .subclass { margin:0 0 .6rem; padding:0 0 0 .7rem; }
body.loveu-products .category_mod .content .subclass ul { border-left:1px solid var(--loveu-product-line); margin:0 0 0 .55rem; }
body.loveu-products .category_mod .content .subclass li { padding:0; margin:0; background:transparent; border:0; }
body.loveu-products .category_mod .content .subclass li a { display:block; color:#7b8491; padding:.55rem .8rem; font-size:.875rem; line-height:1.55; }
body.loveu-products .category_mod .content .subclass li.current a,
body.loveu-products .category_mod .content .subclass li a:hover { color:var(--loveu-product-navy); font-weight:500; background:#f6f8fb; }
body.loveu-products .category_mod .content li s { display:none; }

/* Right list: retain original heading / total, 3-up grid and two action buttons. */
body.loveu-products .content_right .ny_h2 { display:flex; align-items:baseline; flex-wrap:wrap; gap:.65rem; margin:0 0 1.65rem; padding:.15rem 0 1rem; border-bottom:1px solid var(--loveu-product-line); font-size:clamp(1.65rem, 2.5vw, 2.15rem); line-height:1.3; color:var(--loveu-product-ink); font-weight:600; }
body.loveu-products .content_right .ny_h2 span { color:#8b919a; font-size:.875rem; font-weight:400; letter-spacing:0; }
body.loveu-products .content_right .cp_box2.container,
body.loveu-products .mp-product-box .cp_box2.container { width:100%; max-width:none; padding:0; margin:0; }
body.loveu-products .cp_box2 > .row { --bs-gutter-x:clamp(1rem, 2vw, 1.65rem); --bs-gutter-y:1.2rem; }
body.loveu-products .prolist_box { margin:0 0 1.55rem; min-width:0; }
body.loveu-products .prolist_box .box_li { height:100%; padding:0; background:#fff; border:1px solid var(--loveu-product-line); border-radius:.55rem; overflow:hidden; transition:border-color .2s, box-shadow .2s; }
body.loveu-products .prolist_box .box_li:hover { border-color:#cad2df; box-shadow:0 6px 22px rgba(9,35,73,.065); }
body.loveu-products .prolist_box .fl { float:none; width:100%; display:flex; flex-direction:column; height:100%; }
body.loveu-products .prolist_box .p_pic { width:100%; height:auto; aspect-ratio:1/1; position:relative; display:block; overflow:hidden; background:var(--loveu-product-surface); border:0; }
body.loveu-products .prolist_box .p_pic a { display:block; height:100%; width:100%; }
body.loveu-products .prolist_box .p_pic img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:cover; object-position:center; transition:transform .25s ease; }
@media(hover:hover) { body.loveu-products .prolist_box .box_li:hover .p_pic img { transform:scale(1.025); } }
body.loveu-products .prolist_box .p-info { margin:0; padding:1rem 1rem .65rem; flex:1; }
body.loveu-products .prolist_box .p-info a h2 { color:#303743; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.98rem; font-weight:500; line-height:1.55; min-height:3.05em; height:auto; margin:0; overflow-wrap:anywhere; }
body.loveu-products .prolist_box .p-info a:hover h2 { color:var(--loveu-product-navy); }
body.loveu-products .contant_btn_list { display:flex; gap:.55rem; align-items:stretch; margin:0; padding:0 .85rem 1rem; }
body.loveu-products .contant_btn_list a { width:auto; flex:1 1 0; min-width:0; }
body.loveu-products .contant_btn_list .btn { display:inline-flex; align-items:center; justify-content:center; gap:.15rem; min-height:2.55rem; padding:.55rem .35rem; border-radius:2rem; font-size:.875rem; font-weight:500; line-height:1.35; border:1px solid var(--loveu-product-navy); box-shadow:none; }
body.loveu-products .contant_btn_list .btn-outline-primary { color:var(--loveu-product-navy); background:#fff; }
body.loveu-products .contant_btn_list .btn-primary { color:#fff; background:var(--loveu-product-navy); }
body.loveu-products .contant_btn_list .btn-outline-primary:hover { background:var(--loveu-product-navy); color:#fff; }
body.loveu-products .contant_btn_list .btn-primary:hover { color:#fff; background:#092750; border-color:#092750; }
body.loveu-products .contant_btn_list .iconfont { font-size:.9rem; }
body.loveu-products .desc_pro { margin:1rem 0 0; padding:1.35rem 1.45rem; background:#f7f9fc; color:#616c7a; font-size:.9rem; line-height:1.9; border-left:3px solid #adc0df; }
body.loveu-products .content_right .m > .ny_h2 { margin:2.1rem 0 .8rem; font-size:1.6rem; }

/* Leave backend pagination HTML and URLs untouched. */
body.loveu-products .page-nav { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; justify-content:center; padding:.7rem 0; }
body.loveu-products .page-nav a,
body.loveu-products .page-nav span { display:inline-flex; justify-content:center; align-items:center; min-width:2.45rem; min-height:2.45rem; padding:.5rem .8rem; color:#536073; font-size:.875rem; line-height:1.35; border:1px solid var(--loveu-product-line); border-radius:.25rem; background:#fff; }
body.loveu-products .page-nav .current,
body.loveu-products .page-nav a:hover { color:#fff; background:var(--loveu-product-navy); border-color:var(--loveu-product-navy); }

/* Original product_intro (category marketing) branch remains as built; only typography + spacing updated. */
body.loveu-products .mp-cat-intro-box { background:#fff; padding:clamp(2rem,4vw,4.5rem) 0; }
body.loveu-products .mp-cat-intro-box h1 { font-size:clamp(2rem,3.6vw,3rem)!important; line-height:1.25; color:var(--loveu-product-navy); font-weight:600!important; }
body.loveu-products .mp-cat-intro-box p { color:#656e7b; font-size:.98rem; line-height:1.9; }
body.loveu-products .mp-cat-intro-box .btn-primary,
body.loveu-products .mp-faq-box .btn-primary { background:var(--loveu-product-navy); border-color:var(--loveu-product-navy); border-radius:2rem; }
body.loveu-products .mp-product-box { background:#f5f7fa; padding:clamp(2.2rem,4vw,4rem) 0!important; }
body.loveu-products .mp-product-box h2 { font-size:clamp(1.6rem,2.5vw,2.2rem)!important; line-height:1.4; color:var(--loveu-product-ink); }
body.loveu-products .mp-product-box > .container > .row > div > p { color:#747d8a; line-height:1.9; }
body.loveu-products .mp-media-box { padding:clamp(2rem,4vw,3.5rem) 0!important; }
body.loveu-products .mp-media-box .nav-tabs { border-color:var(--loveu-product-line); }
body.loveu-products .mp-media-box .nav-tabs .nav-link { color:#687386; font-size:1.05rem; }
body.loveu-products .mp-media-box .nav-tabs .nav-link.active { color:var(--loveu-product-navy); border-bottom-color:var(--loveu-product-navy); }
body.loveu-products .mp-media-box .ab-manu-swiper { width:100%; }
body.loveu-products .mp-media-box .swiper-slide { overflow:hidden; }
body.loveu-products .mp-media-box .swiper-slide img { display:block; width:100%; height:100%; object-fit:cover; }
body.loveu-products .mp-faq-box { background:#f6f8fa; padding:clamp(2rem,4vw,4rem) 0!important; }
body.loveu-products .mp-faq-box .l-content { color:#4c5665; font-size:.96rem; line-height:1.85; overflow-wrap:anywhere; }
body.loveu-products .mp-faq-box .l-content img,
body.loveu-products .mp-faq-box .l-content iframe { max-width:100%; height:auto; }
body.loveu-products .mp-faq-box .s-bar-box { background:#fff; border:1px solid #dee4ed; box-shadow:none; padding:5rem 1.4rem 1.5rem; }
body.loveu-products .mp-faq-box .s-bar-box .tt-bar { color:#fff; background:var(--loveu-product-navy); font-size:1.35rem; }
body.loveu-products .mp-faq-box .input_text,
body.loveu-products .mp-faq-box .textarea { font-size:.9rem; border:1px solid #d6deea; border-radius:.25rem; }

@media(max-width:991.98px) {
    body.loveu-products .products-page-section > .container-fluid { display:block; }
    body.loveu-products .side_left { width:100%; margin-bottom:1.6rem; }
    body.loveu-products .category_mod .content > ul { display:flex; gap:.3rem .7rem; flex-wrap:wrap; }
    body.loveu-products .category_mod .content > ul > li { flex:1 1 170px; border:0; }
    body.loveu-products .category_mod .content > ul > li > a { min-height:2.6rem; padding:.55rem .7rem; }
    body.loveu-products .category_mod .content .subclass { padding:0 .5rem .3rem; }
    body.loveu-products .category_mod .content .subclass ul { margin-left:0; }
    body.loveu-products .content_right .ny_h2 { font-size:1.65rem; }
    body.loveu-products .mp-faq-box .s-bar-box.sticky { position:static; }
}
@media(max-width:575.98px) {
    body.loveu-products .bread-path { font-size:.875rem; padding-top:1.35rem; }
    body.loveu-products .products-page-section > .container-fluid { margin-top:.3rem!important; }
    body.loveu-products .category_mod > .title { min-height:3.25rem; padding:.9rem 1rem; }
    body.loveu-products .category_mod .content { padding:.4rem .6rem .65rem; }
    body.loveu-products .category_mod .content > ul > li { flex:1 1 140px; }
    body.loveu-products .content_right .ny_h2 { margin-top:.25rem; font-size:1.5rem; }
    body.loveu-products .prolist_box .p-info { padding:.72rem .6rem .55rem; }
    body.loveu-products .prolist_box .p-info a h2 { font-size:.875rem; }
    body.loveu-products .contant_btn_list { flex-direction:column; gap:.4rem; padding:0 .55rem .65rem; }
    body.loveu-products .contant_btn_list .btn { width:100%; min-height:2.4rem; padding:.45rem .35rem; font-size:.875rem; }
    body.loveu-products .page-nav { gap:.3rem; }
    body.loveu-products .page-nav :is(a, span) { min-width:2.25rem; min-height:2.25rem; }
}
@media(prefers-reduced-motion:reduce) {
    body.loveu-products .prolist_box img,
    body.loveu-products .prolist_box .box_li { transition:none; }
}
/* Original category-landing product grid nests a Bootstrap row inside a width:100%
   container. Restore the half-gutter so the negative row margins cannot overflow
   the viewport at 320–390px, while keeping the original column arrangement. */
body.loveu-products .mp-product-box .cp_box2.container { padding-inline:.5rem; }
@media(min-width:1025px) {
    body.loveu-products .mp-faq-box .s-bar-box.sticky { top:92px; }
}


/* V1.1 — compact product inquiry modal for notebook/laptop viewports.
   Scoped to THIS product page; shared Footer, toolbar02, global modal styles
   and homepage inquiry form are not modified.
   The original common_modal.css reserves blank height for invisible validation
   messages, so undo that behavior within this modal only. */
body.loveu-products .loveu-quote-modal .modal-dialog {
    max-width: min(790px, calc(100% - 1.5rem));
    margin: .75rem auto;
    min-height: 0;
    height: calc(100% - 1.5rem);
}
body.loveu-products .loveu-quote-modal .modal-content {
    padding: 0; /* undo legacy .first-modal modal-content horizontal padding */
    max-height: calc(100vh - 1.5rem);
    max-height: calc(100dvh - 1.5rem);
    overflow: hidden;
}
body.loveu-products .loveu-quote-modal .modal-body {
    margin: 0; /* undo legacy .first-modal negative margins */
    padding: 1.3rem 1.65rem;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}
body.loveu-products .loveu-quote-modal__eyebrow { margin-bottom: .2rem; }
body.loveu-products .loveu-quote-modal h2 { margin-bottom: .3rem; }
body.loveu-products .loveu-quote-modal__intro { margin-bottom: .65rem; }
body.loveu-products .loveu-quote-modal__product {
    padding: .4rem .6rem;
    margin-bottom: .65rem;
    min-height: 3.5rem;
}
body.loveu-products .loveu-quote-modal__product img {
    width: 2.85rem;
    height: 2.85rem;
    flex: none;
}
body.loveu-products .loveu-quote-modal__form .row.g-3 {
    --bs-gutter-x: .95rem;
    --bs-gutter-y: .65rem;
}
/* Restore Bootstrap validation display; empty error placeholders must take 0px. */
body.loveu-products .loveu-quote-modal__form .col-sm-6 { margin-bottom: 0; }
body.loveu-products .loveu-quote-modal__form .invalid-feedback {
    display: none;
    visibility: visible;
    margin: .2rem 0 0;
    padding: 0;
    font-size: .875rem;
}
body.loveu-products .loveu-quote-modal__form.was-validated :invalid ~ .invalid-feedback,
body.loveu-products .loveu-quote-modal__form .is-invalid ~ .invalid-feedback {
    display: block;
}
body.loveu-products .loveu-quote-modal__form label { margin-bottom: .25rem; }
body.loveu-products .loveu-quote-modal__form .form-control {
    min-height: 2.5rem;
    padding: .5rem .7rem;
}
body.loveu-products .loveu-quote-modal__form textarea.form-control {
    min-height: 4.5rem;
    height: 5.25rem;
    resize: vertical;
}
body.loveu-products .loveu-quote-modal__submit {
    min-height: 2.7rem;
    padding: .55rem 1rem;
}
@media (max-height: 800px) and (min-width: 576px) {
    body.loveu-products .loveu-quote-modal .modal-body { padding: 1rem 1.4rem; }
    body.loveu-products .loveu-quote-modal__eyebrow { margin-bottom: .1rem; }
    body.loveu-products .loveu-quote-modal h2 { font-size: 1.75rem; margin-bottom: .1rem; }
    body.loveu-products .loveu-quote-modal__intro { margin-bottom: .45rem; }
    body.loveu-products .loveu-quote-modal__product { min-height: 3.1rem; margin-bottom: .45rem; }
    body.loveu-products .loveu-quote-modal__product img { width: 2.6rem; height: 2.6rem; }
    body.loveu-products .loveu-quote-modal__form .row.g-3 { --bs-gutter-y: .45rem; }
    body.loveu-products .loveu-quote-modal__form textarea.form-control { min-height: 3.8rem; height: 4.25rem; }
}
@media (max-width: 575.98px) {
    body.loveu-products .loveu-quote-modal .modal-dialog {
        max-width: calc(100% - 1rem);
        margin: .5rem auto;
        height: calc(100% - 1rem);
    }
    body.loveu-products .loveu-quote-modal .modal-content {
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
    }
    body.loveu-products .loveu-quote-modal .modal-body { padding: 1rem .9rem; }
    body.loveu-products .loveu-quote-modal__form .row.g-3 { --bs-gutter-y: .5rem; }
}
