/* qvwatch — Laravel Theme Stylesheet */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:#fff;color:#1a1a1a;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:#4B1892;text-decoration:none}
a:hover{text-decoration:underline}
ul{list-style:none}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.25}
.container{max-width:1280px;margin:0 auto;padding:0 1.25rem}
.site-header{position:sticky;top:0;z-index:100;background:hsl(271,63%,30%);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.header-top{background:hsl(271,63%,20%);font-size:.78rem;color:rgba(255,255,255,.75);padding:.35rem 0;text-align:center}
.header-main{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;max-width:1280px;margin:0 auto;flex-wrap:wrap;gap:.5rem}
.logo{display:flex;align-items:center;gap:.5rem;color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}
.logo-icon{width:32px;height:32px;border:2px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}
nav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
nav a{color:rgba(255,255,255,.85);font-size:.82rem;font-weight:500;padding:.45rem .8rem;border-radius:6px;transition:background .2s;letter-spacing:.04em;text-transform:uppercase;display:inline-block}
nav a:hover,nav a.active{background:rgba(255,255,255,.15);text-decoration:none;color:#fff}
nav a.contact{background:#fff;color:#4B1892 !important;font-weight:700;margin-left:.5rem}
.hero{background:hsl(271,63%,30%);color:#fff;text-align:center;padding:2rem 1.25rem}
@media(min-width:768px){.hero{padding:3.5rem 1.25rem}}
.hero h1{font-size:clamp(1.75rem,4vw,2.75rem);margin-bottom:.75rem}
.hero p{max-width:560px;margin:0 auto;color:rgba(255,255,255,.8);font-size:1rem}
.shop-section{padding:2rem 0 4rem}
.toolbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}
.results-count{font-size:.85rem;color:#888}
.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:640px){.products-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.products-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.product-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.product-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}
.card-img{position:relative;background:#f9f9f9;aspect-ratio:1;overflow:hidden;display:block}
.card-img img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:.5rem;left:.5rem;padding:.18rem .5rem;border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.badge-in{background:#16a34a;color:#fff}
.badge-out{background:#888;color:#fff}
.badge-inc{background:#4B1892;color:#fff}
.card-body{padding:.85rem}
.brand-label{font-size:.68rem;font-weight:700;color:#4B1892;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem}
.watch-name{font-family:'Playfair Display',Georgia,serif;font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.3rem;line-height:1.3}
.watch-meta{font-size:.73rem;color:#888;margin-bottom:.4rem;display:flex;gap:.75rem}
.cond-badge{display:inline-block;padding:.15rem .5rem;background:hsl(271,63%,96%);color:#4B1892;border-radius:999px;font-size:.68rem;font-weight:600;margin-bottom:.6rem}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.price{font-size:1.05rem;font-weight:700;color:#1a1a1a}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;transition:opacity .2s;text-decoration:none}
.btn-p{background:#4B1892;color:#fff}
.btn-p:hover{opacity:.85;text-decoration:none;color:#fff}
.btn-lg{padding:.9rem 1.5rem;font-size:.88rem;width:100%;display:block;text-align:center;margin-bottom:1rem}
.detail-layout{display:block;padding:2rem 0 4rem}
@media(min-width:768px){.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}}
.gallery-main{background:#f9f9f9;border-radius:8px;overflow:hidden;aspect-ratio:1;margin-bottom:.75rem;position:relative}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.breadcrumb{font-size:.73rem;color:#888;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}
.breadcrumb a{color:#888}
.brand-h{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#4B1892;text-transform:uppercase;margin-bottom:.4rem}
.model-h{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,4vw,2.2rem);color:#1a1a1a;margin-bottom:.3rem}
.ref-h{font-size:.85rem;color:#888;margin-bottom:1rem}
.spec-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.spec-tag{padding:.3rem .75rem;border:1px solid #e0e0e0;border-radius:999px;font-size:.78rem;color:#444}
.spec-tag.exc{border-color:#4B1892;color:#4B1892}
.spec-tag.stk{background:#f0fdf4;border-color:#16a34a;color:#16a34a}
.price-lg{font-size:2rem;font-weight:700;margin-bottom:1.25rem}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.5rem}
.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#444}
.trust-icon{color:#4B1892}
.specs-tbl{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;border-top:1px solid #e0e0e0;padding-top:1.25rem}
.spec-lbl{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:.2rem}
.spec-val{font-size:.9rem;font-weight:500}
.brands-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:2rem 0 4rem}
@media(min-width:480px){.brands-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.brands-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.brands-grid{grid-template-columns:repeat(5,1fr)}}
.brand-card{border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem 1rem;text-align:center;transition:box-shadow .2s,transform .2s;background:#fff;display:block;color:#1a1a1a}
.brand-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px);text-decoration:none}
.brand-icon{width:48px;height:48px;background:hsl(271,63%,96%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:#4B1892;font-size:1.2rem;font-weight:700}
.brand-name{font-weight:600;color:#1a1a1a;font-size:.9rem}
.brand-cnt{font-size:.75rem;color:#888;margin-top:.25rem}
.trade-section{padding:2rem 0 4rem}
.steps{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}
@media(min-width:768px){.steps{flex-direction:row}}
.step{display:flex;align-items:flex-start;gap:1rem}
.step-icon{width:48px;height:48px;background:#4B1892;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.step-title{font-weight:700;margin-bottom:.25rem}
.form-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:2rem;margin-top:2rem}
.form-row{display:grid;gap:1rem;margin-bottom:1rem}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#444}
.form-group input,.form-group select,.form-group textarea{padding:.65rem .85rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;background:#fff;width:100%}
.form-group textarea{min-height:120px;resize:vertical}
.note-box{background:hsl(271,63%,96%);border:1px solid hsl(271,63%,80%);border-radius:8px;padding:1rem 1.25rem;margin-bottom:2rem;font-size:.9rem}
.incoming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:2rem 0 4rem}
@media(min-width:640px){.incoming-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.incoming-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.site-footer{background:hsl(271,63%,30%);color:rgba(255,255,255,.85);padding:3rem 1.25rem 2rem;margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1280px;margin:0 auto}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.f-logo{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;color:#fff;font-weight:700;margin-bottom:.75rem}
.f-tag{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:1rem}
.f-contact a{color:rgba(255,255,255,.75)}
.f-nav h4{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.85rem}
.f-nav ul{display:flex;flex-direction:column;gap:.5rem}
.f-nav a{font-size:.85rem;color:rgba(255,255,255,.75)}
.f-nav a:hover{color:#fff;text-decoration:none}
.f-bottom{max-width:1280px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:rgba(255,255,255,.5)}
.f-bottom a{color:rgba(255,255,255,.5)}
.watch-meta{font-size:.73rem;color:#888;margin-bottom:.4rem;display:flex;flex-wrap:wrap;gap:2px 8px;}
.meta-item{display:inline-block;line-height:1.6;white-space:nowrap;}
.menu-dropdown{
    position:relative;
}

.price-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
}

.old-price{
    color:#999;
    text-decoration:line-through;
    font-size:.9rem;
}

.price{
    color:#111;
    font-size:1.1rem;
    font-weight:700;
}

.breadcrumb{
    margin-bottom:1rem;
}

.breadcrumb ol{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.5rem;

    padding:0;
    margin:0;

    list-style:none;
}

.breadcrumb li{
    display:flex;
    align-items:center;

    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.08em;

    color:#777;
}

.breadcrumb li:not(:last-child)::after{
    content:"/";
    color:#bbb;
}

.breadcrumb a{
    color:#777;
    text-decoration:none;
    transition:.2s;
}

.breadcrumb a:hover{
    color:rgba(255,255,255,.85);
}

.breadcrumb li[aria-current="page"]{
    color:#888;
}

/* =========================
   MOBILE PRODUCT CARD FIX
   ========================= */

@media (max-width: 768px) {
    .products-grid,
    .watch-grid,
    .product-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0 1rem;
    }

    .product-card {
        width: 100%;
        min-width: 0;
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        border: 1px solid #ececec;
        box-shadow: 0 4px 12px rgba(0,0,0,.04);
    }

    /* image */
    .product-card .card-img {
        aspect-ratio: 1 / 1;
        overflow: hidden;
        background: #f8f8f8;
    }

    .product-card .card-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        padding: .75rem;
    }

    /* badge */
    .product-card .badge {
        font-size: .62rem;
        padding: .38rem .55rem;
        border-radius: 10px;
        font-weight: 700;
        letter-spacing: .04em;
    }

    /* body */
    .product-card .card-body {
        padding: .85rem;
    }

    /* brand */
    .product-card .brand-label {
        font-size: .7rem;
        letter-spacing: .08em;
        font-weight: 700;
        margin-bottom: .35rem;
        color: #4c1d95;
    }

    /* name */
    .product-card .watch-name {
        font-size: 1.1rem;
        line-height: 1.25;
        font-weight: 700;
        margin-bottom: .7rem;

        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;

        min-height: 2.7rem;
    }

    /* meta */
    .product-card .watch-meta {
        display: flex;
        flex-direction: column;
        gap: .28rem;
        margin-bottom: .75rem;
    }

    .product-card .meta-item {
        font-size: .74rem;
        line-height: 1.35;
        color: #6b7280;

        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* condition badge */
    .product-card .cond-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        font-size: .72rem;
        font-weight: 700;

        padding: .35rem .7rem;
        border-radius: 999px;

        margin-bottom: .8rem;
    }

    /* footer */
    .product-card .card-footer {
        display: flex;
        flex-direction: column;
        gap: .7rem;
        align-items: stretch;
    }

    /* prices */
    .product-card .price-wrap {
        display: flex;
        flex-direction: column;
        gap: .15rem;
    }

    .product-card .old-price {
        font-size: .78rem;
        text-decoration: line-through;
        color: #9ca3af;
    }

    .product-card .price {
        font-size: 1.25rem;
        font-weight: 800;
        line-height: 1.1;
        word-break: break-word;
    }

    /* button */
    .product-card .btn {
        width: 100%;
        justify-content: center;
        text-align: center;

        padding: .78rem .9rem;
        border-radius: 12px;

        font-size: .82rem;
        font-weight: 700;
        letter-spacing: .04em;
    }

    .detail-layout {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        padding: 0;
    }

    /* gallery */
    .gallery-main {
        border-radius: 0;
        overflow: hidden;
        background: #f8f8f8;
    }

    .gallery-main img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
    }

    /* stock badge */
    .gallery-main .badge {
        top: .75rem !important;
        left: .75rem !important;

        font-size: .68rem;
        padding: .45rem .7rem;
        border-radius: 10px;
        font-weight: 700;
    }

    /* info wrapper */
    .detail-layout > div:last-child {
        padding: 0 1rem 2rem;
    }

    /* breadcrumb */
    .breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
        margin-bottom: 1rem;
        padding-bottom: .25rem;

        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    .breadcrumb ol {
        display: flex;
        align-items: center;
        gap: .55rem;
        flex-wrap: nowrap;
    }

    .breadcrumb li,
    .breadcrumb a {
        font-size: .78rem;
    }

    /* headings */
    .brand-h {
        font-size: .9rem;
        letter-spacing: .12em;
        margin-bottom: .4rem;
    }

    .model-h {
        font-size: 2.25rem;
        line-height: 1.05;
        margin-bottom: .5rem;
        letter-spacing: -.03em;
    }

    .ref-h {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    /* spec badges */
    .spec-badges {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
        margin-bottom: 1.5rem;
    }

    .spec-tag {
        font-size: .82rem;
        padding: .7rem 1rem;
        border-radius: 999px;
        line-height: 1;
    }

    /* price */
    .price-lg {
        font-size: 2.2rem !important;
        line-height: 1;
        margin: .4rem 0;
        word-break: break-word;
    }

    .old-price .price-lg {
        font-size: 1.2rem !important;
        opacity: .55;
    }

    /* button */
    .btn-lg {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;

        padding: 1rem;
        margin-top: 1.2rem;

        border-radius: 14px;

        font-size: .9rem;
        font-weight: 700;
        letter-spacing: .05em;
    }

    /* trust section */
    .trust {
        display: grid;
        grid-template-columns: 1fr;
        gap: .75rem;

        margin-top: 1.5rem;
    }

    .trust-item {
        font-size: .88rem;
        padding: .9rem 1rem;

        border-radius: 14px;
        background: #fafafa;
        border: 1px solid #ececec;
    }

    /* specs table */
    .specs-tbl {
        margin-top: 1.5rem;
        border-top: 1px solid #ececec;
    }

    .specs-tbl > div {
        display: flex;
        flex-direction: column;

        gap: .35rem;

        padding: .9rem 0;
        border-bottom: 1px solid #f1f1f1;
    }

    .spec-lbl {
        font-size: .74rem;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #777;
    }

    .spec-val {
        font-size: .95rem;
        line-height: 1.5;
        word-break: break-word;
    }

    /* description */
    .detail-layout p {
        font-size: .95rem;
        line-height: 1.75;
    }

    .breadcrumb {
        margin-bottom: .85rem;
    }

    .breadcrumb ol {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .3rem;
    }

    .breadcrumb li,
    .breadcrumb a {
        font-size: .68rem;
        letter-spacing: .04em;
        line-height: 1.3;
    }

    .breadcrumb li::after {
        margin-left: .3rem;
    }

    .detail-layout {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 0;
    }

    /* image */
    .gallery-main {
        position: relative;
        background: #f7f7f7;
        overflow: hidden;
    }

    .gallery-main img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
    }

    .gallery-main .badge {
        top: .75rem !important;
        left: .75rem !important;

        font-size: .7rem;
        padding: .45rem .7rem;
        border-radius: 10px;
    }

    /* content */
    .detail-layout > div:last-child {
        padding: 0 1rem 2rem;
    }

    /* breadcrumb */
    .breadcrumb {
        margin-bottom: .85rem;
    }

    .breadcrumb ol {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .25rem;
    }

    .breadcrumb li,
    .breadcrumb a {
        font-size: .68rem;
        line-height: 1.25;
        letter-spacing: .03em;
    }

    /* brand */
    .brand-h {
        font-size: .82rem;
        letter-spacing: .12em;
        margin-bottom: .35rem;
    }

    /* title */
    .model-h {
        font-size: 2.2rem;
        line-height: 1.02;
        letter-spacing: -.04em;
        margin-bottom: .45rem;
    }

    .ref-h {
        font-size: .95rem;
        margin-bottom: 1rem;
    }

    /* tags */
    .spec-badges {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
        margin-bottom: 1.4rem;
    }

    .spec-tag {
        font-size: .78rem;
        padding: .65rem .95rem;
        border-radius: 999px;
        line-height: 1;
    }

    /* prices */
    .price-lg {
        font-size: 2rem !important;
        line-height: 1;
        margin: .3rem 0 .6rem;
        word-break: break-word;
    }

    .old-price .price-lg {
        font-size: 1.1rem !important;
        opacity: .55;
    }

    /* CTA */
    .btn-lg {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;

        margin-top: 1rem;
        padding: 1rem;

        border-radius: 14px;

        font-size: .85rem;
        font-weight: 700;
        letter-spacing: .05em;
    }

    /* trust */
    .trust {
        display: grid;
        grid-template-columns: 1fr;
        gap: .7rem;

        margin-top: 1.5rem;
    }

    .trust-item {
        display: flex;
        align-items: center;
        gap: .6rem;

        padding: .9rem 1rem;

        border: 1px solid #ececec;
        border-radius: 14px;

        font-size: .88rem;
        background: #fafafa;
    }

    /* specs */
    .specs-tbl {
        margin-top: 1.5rem;
        border-top: 1px solid #ececec;
    }

    .specs-tbl > div {
        display: flex;
        flex-direction: column;

        gap: .3rem;

        padding: .9rem 0;

        border-bottom: 1px solid #f1f1f1;
    }

    .spec-lbl {
        font-size: .72rem;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #777;
    }

    .spec-val {
        font-size: .95rem;
        line-height: 1.5;
        word-break: break-word;
    }

    /* description */
    .detail-layout p {
        font-size: .95rem;
        line-height: 1.75;
    }

    .incoming-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem;
        padding: 1rem;
    }
}