:root{
    --black:#050505;
    --surface:#0d0d0d;
    --surface-2:#141414;
    --line:#342b20;
    --white:#f5f1e9;
    --muted:#b5b0a8;
    --gold:#c18c43;
    --gold-light:#d6aa68;
    --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
    margin:0;
    background:var(--black);
    color:var(--white);
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.55;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}

/* Typography */
h1,h2,h3,h4,h5,h6{
    margin:0;
    color:var(--white);
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    line-height:1.08;
}
h1{font-size:clamp(42px,5vw,76px)}
h2{font-size:clamp(30px,3vw,46px)}
h3{font-size:clamp(20px,2vw,28px)}
h4{font-size:21px}
p{margin:0 0 1rem}
.eyebrow{
    margin:0 0 14px;
    color:var(--gold-light);
    font-size:11px;
    letter-spacing:2.6px;
    text-transform:uppercase;
}

/* Header */
.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(3,3,3,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid #242424;
}
.header-inner{
    width:min(var(--max),94%);
    min-height:80px;
    margin:auto;
    display:grid;
    grid-template-columns:300px 1fr 72px;
    align-items:center;
    gap:28px;
}
.brand{
    display:flex;
    align-items:center;
    height:80px;
    overflow:hidden;
}
.brand img{
    width:275px;
    height:auto;
    object-fit:contain;
}
.main-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:34px;
}
.main-nav a{
    position:relative;
    padding:30px 0 25px;
    font-size:11px;
    letter-spacing:1.6px;
    text-transform:uppercase;
}
.main-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:var(--gold);
    transform:scaleX(0);
    transition:.25s ease;
}
.main-nav a:hover::after,
.main-nav a.active::after{transform:scaleX(1)}
.social-link{
    text-align:right;
    color:var(--gold);
    font-size:27px;
}
.menu-toggle{
    display:none;
    padding:6px;
    border:0;
    background:none;
}
.menu-toggle span{
    display:block;
    width:27px;
    height:2px;
    margin:5px 0;
    background:white;
}

/* General layout */
.section{
    width:min(var(--max),94%);
    margin:auto;
    padding:45px 0;
}
.section-heading{
    margin-bottom:24px;
    text-align:center;
}
.section-heading h2,
.portfolio-heading h2{
    font-size:clamp(28px,2.8vw,42px);
    text-transform:uppercase;
    letter-spacing:.6px;
}

/* Hero */
.hero{
    width:min(var(--max),100%);
    min-height:540px;
    margin:auto;
    display:grid;
    grid-template-columns:39% 61%;
    background:#050505;
}
.hero-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:60px 52px;
    background:
        linear-gradient(90deg,#050505 0%,rgba(5,5,5,.97) 78%,rgba(5,5,5,.1) 100%),
        radial-gradient(circle at 85% 45%,#171109 0,transparent 48%);
}
.hero h1{
    font-size:clamp(43px,4.4vw,68px);
    line-height:.98;
}
.hero h1 em{
    color:var(--gold);
    font-style:normal;
}
.rule{
    width:42px;
    height:2px;
    margin:24px 0 18px;
    background:var(--gold);
}
.hero-text{
    color:var(--muted);
    font-size:15px;
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:18px;
}
.button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    padding:0 23px;
    border:1px solid #50483d;
    text-transform:uppercase;
    letter-spacing:1.4px;
    font-size:10px;
    font-weight:700;
    transition:.25s ease;
}
.button:hover{transform:translateY(-2px)}
.button.primary{
    border-color:var(--gold);
    background:linear-gradient(135deg,#a96f2d,#d2a15d);
}
.button.secondary{background:rgba(0,0,0,.45)}
.hero-visual{
    min-height:540px;
    background-size:cover;
    background-position:center;
}

/* Collections */
.collection-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:9px;
}
.collection-card{
    position:relative;
    min-height:270px;
    overflow:hidden;
    border:1px solid #3b342b;
    background-size:cover;
    background-position:center;
}
.collection-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(transparent 5%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.96));
}
.collection-content{
    position:absolute;
    z-index:2;
    inset:auto 16px 16px;
}
.collection-icon{
    color:var(--gold);
    font-size:22px;
}
.collection-content h3{
    margin:7px 0 4px;
    font-size:22px;
    line-height:1;
    text-transform:uppercase;
}
.collection-content p{
    margin:0 0 6px;
    color:#c1bcb4;
    font-size:10px;
}
.collection-content span{
    color:var(--gold);
    font-size:9px;
    letter-spacing:1.4px;
    text-transform:uppercase;
}
.collection-content a{
    width:35px;
    height:35px;
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--gold);
    border-radius:50%;
}

/* Portfolio */
.portfolio-heading{
    display:grid;
    grid-template-columns:1fr auto 1fr auto;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}
.portfolio-heading>span{
    height:1px;
    background:#6f512c;
}
.portfolio-heading>div{text-align:center}
.small-button{
    padding:9px 16px;
    border:1px solid #79572d;
    color:var(--gold-light);
    font-size:9px;
    letter-spacing:1.4px;
    text-transform:uppercase;
}
.project-mosaic{
    display:grid;
    grid-template-columns:1.18fr 1fr .95fr .95fr 1.05fr 1.1fr;
    grid-template-rows:210px;
    gap:7px;
}
.project-card{
    position:relative;
    min-height:210px;
    overflow:hidden;
    border:1px solid #463720;
    background-size:cover;
    background-position:center;
}
.project-info{
    position:absolute;
    inset:auto 0 0;
    padding:46px 14px 12px;
    background:linear-gradient(transparent,rgba(0,0,0,.95));
    transform:translateY(68%);
    transition:.3s ease;
}
.project-card:hover .project-info{transform:none}
.project-info p{
    margin:0;
    color:var(--gold);
    font-size:8px;
    letter-spacing:1.3px;
    text-transform:uppercase;
}
.project-info h3{
    margin:4px 0;
    font-size:19px;
}
.project-info a{
    font-size:8px;
    text-transform:uppercase;
}

/* Process */
.process{padding-top:55px}
.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid var(--line);
}
.process-step{
    padding:24px 27px;
    border-right:1px solid var(--line);
}
.process-step:last-child{border-right:0}
.process-step strong{
    color:var(--gold);
    font:400 31px Georgia,serif;
}
.process-step h3{
    margin:7px 0;
    font-size:22px;
}
.process-step p{
    margin:0;
    color:var(--muted);
    font-size:12px;
}

/* Custom order */
.custom-order{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    padding-top:64px;
}
.custom-image{
    min-height:315px;
    border:1px solid var(--line);
    background-size:cover;
    background-position:center;
}
.custom-copy{
    padding:44px;
    border:1px solid var(--line);
    background:linear-gradient(90deg,#101010,#070707);
}
.custom-copy h2{
    font-size:clamp(34px,3.5vw,49px);
    text-transform:none;
}
.custom-copy p{
    color:var(--muted);
    font-size:15px;
}

/* Instagram */
.instagram-section{padding-top:26px}
.instagram-grid{
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:5px;
}
.instagram-item{
    aspect-ratio:1;
    overflow:hidden;
    border:1px solid #392d20;
}
.instagram-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.3s ease;
}
.instagram-item:hover img{transform:scale(1.07)}

/* Contact */
.contact{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:60px;
    padding-top:72px;
}
.contact h2{font-size:clamp(34px,3.4vw,50px)}
.contact-copy p{
    max-width:500px;
    color:var(--muted);
}
.contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.contact-form label{
    color:var(--gold-light);
    font-size:10px;
    letter-spacing:1.4px;
    text-transform:uppercase;
}
.contact-form label:nth-child(3){grid-column:1/-1}
input,textarea{
    width:100%;
    margin-top:7px;
    padding:13px;
    border:1px solid #34302b;
    background:#101010;
    color:white;
}
textarea{min-height:140px}

/* Subpages */
.page-hero{
    width:min(var(--max),94%);
    margin:auto;
    padding:82px 0 58px;
    text-align:center;
    border-bottom:1px solid var(--line);
}
.page-hero h1{font-size:clamp(45px,5.5vw,76px)}
.page-hero p:last-child{
    max-width:740px;
    margin:17px auto 0;
    color:var(--muted);
}
.collection-list{display:grid;gap:14px}
.collection-row{
    min-height:190px;
    display:grid;
    grid-template-columns:290px 1fr 54px;
    align-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    background:#0b0b0b;
}
.collection-row img{
    width:100%;
    height:190px;
    object-fit:cover;
}
.collection-row>div{padding:26px}
.collection-row span,
.gallery-card span{
    color:var(--gold);
    font-size:9px;
    letter-spacing:1.4px;
    text-transform:uppercase;
}
.collection-row h2{
    margin:5px 0;
    font-size:34px;
}
.collection-row p{color:var(--muted)}
.collection-row>strong{
    color:var(--gold);
    font-size:31px;
}
.collection-hero{
    position:relative;
    min-height:500px;
    display:flex;
    align-items:end;
    background-size:cover;
    background-position:center;
}
.collection-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(transparent 5%,rgba(0,0,0,.25),rgba(0,0,0,.95));
}
.collection-hero>div{
    position:relative;
    width:min(var(--max),94%);
    margin:0 auto;
    padding:56px 0;
}
.collection-hero h1{font-size:clamp(46px,5.8vw,80px)}
.collection-hero p:last-child{
    max-width:680px;
    color:#d1cdc6;
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}
.gallery-card{
    overflow:hidden;
    border:1px solid var(--line);
    background:#0c0c0c;
}
.gallery-card img{
    width:100%;
    height:335px;
    object-fit:cover;
}
.gallery-card>div{padding:18px}
.gallery-card h3{
    margin:5px 0;
    font-size:25px;
}
.gallery-card p{
    color:var(--muted);
    font-size:12px;
}
.empty-gallery{
    padding:60px;
    text-align:center;
    border:1px solid var(--line);
    background:#0c0c0c;
}
.empty-gallery h3{font-size:28px}
.project-detail{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:50px;
    padding-top:60px;
}
.project-detail-image img{
    width:100%;
    max-height:700px;
    object-fit:cover;
    border:1px solid var(--line);
}
.project-detail-copy{padding-top:35px}
.project-detail h1{font-size:clamp(42px,5vw,68px)}
.project-detail-copy>p:not(.eyebrow){
    color:var(--muted);
    font-size:16px;
}
.project-detail dl{
    margin:30px 0;
    border-top:1px solid var(--line);
}
.project-detail dl div{
    display:grid;
    grid-template-columns:115px 1fr;
    padding:14px 0;
    border-bottom:1px solid var(--line);
}
.project-detail dt{
    color:var(--gold);
    font-size:9px;
    letter-spacing:1.3px;
    text-transform:uppercase;
}
.project-detail dd{
    margin:0;
    color:#d1cec8;
}

/* Footer */
.site-footer{
    position:relative;
    width:min(var(--max),94%);
    margin:72px auto 0;
    padding:36px 0 50px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr .8fr;
    gap:42px;
    border-top:1px solid var(--line);
}
.site-footer img{
    width:230px;
    height:auto;
}
.site-footer p,
.site-footer span{
    color:var(--muted);
    font-size:11px;
}
.site-footer strong{
    display:block;
    margin-bottom:10px;
    color:var(--gold-light);
    font-size:9px;
    letter-spacing:1.4px;
    text-transform:uppercase;
}
.site-footer a{
    display:block;
    margin:5px 0;
    color:#bbb;
    font-size:11px;
}
.footer-social{
    display:flex;
    gap:15px;
    font-size:23px;
}
.copyright{
    position:absolute;
    left:0;
    bottom:8px;
}
.back-top{
    position:fixed;
    right:24px;
    bottom:22px;
    z-index:20;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--gold);
    border-radius:50%;
    background:#080808;
    color:var(--gold);
}
.reveal{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .7s ease,transform .7s ease;
}
.reveal.visible{
    opacity:1;
    transform:none;
}

@media(max-width:1200px){
    .main-nav{gap:20px}
    .collection-grid{grid-template-columns:repeat(3,1fr)}
    .project-mosaic{grid-template-columns:repeat(3,1fr);grid-template-rows:220px 220px}
    .instagram-grid{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:850px){
    .header-inner{
        display:flex;
        justify-content:space-between;
        min-height:70px;
    }
    .brand{height:70px}
    .brand img{width:210px}
    .menu-toggle{display:block}
    .social-link{display:none}
    .main-nav{
        position:absolute;
        top:70px;
        left:0;
        right:0;
        display:none;
        flex-direction:column;
        align-items:flex-start;
        padding:20px 5%;
        background:#080808;
    }
    .main-nav.open{display:flex}
    .main-nav a{padding:7px 0}
    .hero{grid-template-columns:1fr}
    .hero-copy{padding:58px 6%}
    .hero-visual{min-height:410px}
    .process-grid{grid-template-columns:1fr 1fr}
    .custom-order,.contact,.project-detail{grid-template-columns:1fr}
    .collection-row{grid-template-columns:220px 1fr 38px}
    .gallery-grid{grid-template-columns:1fr 1fr}
    .site-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
    .brand img{width:175px}
    .hero h1{font-size:41px}
    .hero-actions{flex-direction:column}
    .button{width:100%}
    .collection-grid,.gallery-grid{grid-template-columns:1fr}
    .collection-card{min-height:340px}
    .portfolio-heading{display:block;text-align:center}
    .portfolio-heading>span{display:none}
    .small-button{display:inline-block;margin-top:14px}
    .project-mosaic{grid-template-columns:1fr;grid-template-rows:repeat(6,270px)}
    .process-grid{grid-template-columns:1fr}
    .process-step{border-right:0;border-bottom:1px solid var(--line)}
    .custom-copy{padding:32px 22px}
    .instagram-grid{grid-template-columns:repeat(3,1fr)}
    .contact-form{grid-template-columns:1fr}
    .contact-form label:nth-child(3){grid-column:auto}
    .collection-row{grid-template-columns:1fr}
    .collection-row img{height:235px}
    .collection-row>strong{display:none}
    .gallery-card img{height:285px}
    .site-footer{grid-template-columns:1fr}
    .copyright{position:static}
}

.form-box{width:min(760px,94%);margin:auto;padding:28px;background:#0d0d0d;border:1px solid var(--line)}
.form-box form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-box label{color:var(--gold-light);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}
.form-box label:nth-of-type(8),.form-box .mail-info,.form-box button{grid-column:1/-1}
.mail-info{padding:16px;background:#14110d;border:1px solid #4b3822}
.mail-info p{margin:5px 0 0;color:var(--muted);text-transform:none;letter-spacing:0}
.success-box{text-align:center}.request-number{font:400 42px Georgia,serif;color:var(--gold);letter-spacing:2px}
@media(max-width:560px){.form-box form{grid-template-columns:1fr}.form-box label,.form-box .mail-info,.form-box button{grid-column:auto}}

.product-price{color:var(--gold);font-weight:700}
.product-detail-page{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;padding-top:60px}
.pack-preview{margin:28px 0}
.pack-preview h2{font-size:24px;margin:25px 0 12px}
.pack-option{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;padding:16px;border:1px solid var(--line);background:#0d0d0d;margin-bottom:8px}
.pack-option span{color:var(--muted)}
.pack-option b{color:var(--gold)}
.design-choice-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.design-choice-preview article{border:1px solid var(--line);background:#0d0d0d}
.design-choice-preview img{width:100%;aspect-ratio:1;object-fit:cover}
.design-choice-preview span{display:block;padding:8px;font-size:11px}
.preview-note{margin-top:14px;padding:12px;border:1px solid #4b3822;background:#14110d;color:var(--muted);font-size:12px}
@media(max-width:850px){.product-detail-page{grid-template-columns:1fr}.design-choice-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.pack-option{grid-template-columns:1fr}.design-choice-preview{grid-template-columns:repeat(2,1fr)}}

.design-product-list{list-style:none;margin:15px 0 30px;padding:0;border-top:1px solid var(--line)}
.design-product-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.design-product-list a{color:var(--gold-light)}

.variant-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.variant-option input{position:absolute;opacity:0}
.variant-option span{display:grid;gap:4px;padding:15px;border:1px solid var(--line);background:#0d0d0d;cursor:pointer}
.variant-option input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.variant-option small{color:var(--muted)}
.variant-option b{color:var(--gold)}
.selection-status{margin-bottom:12px;color:var(--gold-light)}
.design-selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.design-select-card{position:relative;overflow:hidden;border:1px solid var(--line);background:#0d0d0d;cursor:pointer}
.design-select-card>input[type="checkbox"],.design-select-card>input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.design-select-card img{width:100%;aspect-ratio:1;object-fit:cover}
.design-select-card span{display:block;padding:9px;font-size:11px}
.design-select-card i{position:absolute;top:8px;right:8px;width:27px;height:27px;display:none;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:#111;font-style:normal}
.design-select-card.selected{border-color:var(--gold);transform:translateY(-2px)}
.design-select-card.selected i{display:flex}
.selector-error{color:#d9a363;font-size:12px}
.personalization-field{display:block;margin:18px 0}
.pack-selector button:disabled{opacity:.45;cursor:not-allowed}
.cart-list{display:grid;gap:12px}.cart-item{display:grid;grid-template-columns:1fr 110px 150px 150px;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);background:#0d0d0d}.cart-item h2{font-size:24px}.cart-designs{display:flex;flex-wrap:wrap;gap:6px}.cart-designs span{padding:5px 8px;border:1px solid #4b3822;color:var(--gold-light);font-size:11px}.cart-summary{display:flex;justify-content:flex-end;gap:30px;padding:25px 0;font-size:24px}.cart-summary strong{color:var(--gold)}.cart-actions{display:flex;justify-content:flex-end;gap:12px}.muted-small{color:var(--muted);font-size:11px}
.checkout-layout{display:grid;grid-template-columns:1fr .75fr;gap:30px;align-items:start}.checkout-summary{padding:25px;border:1px solid var(--line);background:#0d0d0d}.checkout-line,.checkout-total{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.checkout-total{font-size:21px;color:var(--gold)}
@media(max-width:850px){.design-selector-grid{grid-template-columns:repeat(2,1fr)}.cart-item{grid-template-columns:1fr 90px}.checkout-layout{grid-template-columns:1fr}}
@media(max-width:560px){.variant-options,.design-selector-grid{grid-template-columns:1fr}.cart-item{grid-template-columns:1fr}.cart-actions{flex-direction:column}}

.button.secondary{
    background:linear-gradient(135deg,#b57b34,#d2a15d);
    color:#090909;
    border-color:#e0b76f;
}
.button.secondary:hover{background:linear-gradient(135deg,#c98d43,#e2b973);border-color:#f0ca85}
.text-link{color:var(--gold-light);text-decoration:underline}
.account-form form{grid-template-columns:1fr}
.account-links{display:flex;justify-content:space-between;margin-top:20px}
.account-dashboard h2{margin-top:38px}
.account-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.account-stat-grid a{padding:24px;border:1px solid var(--line);background:#0d0d0d}
.account-stat-grid span{display:block;color:var(--muted);font-size:12px}
.account-stat-grid strong{font:400 40px Georgia,serif;color:var(--gold)}
.account-nav{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.account-order-list{display:grid;gap:10px}
.account-order-list a{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:18px;border:1px solid var(--line);background:#0d0d0d}
.account-order-list strong{color:var(--gold-light)}
.account-order-list small{color:var(--muted)}
.status-timeline{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-bottom:35px}
.status-timeline div{position:relative;display:grid;gap:7px;text-align:center;color:#666}
.status-timeline div:before{content:"";position:absolute;left:-50%;right:50%;top:13px;height:2px;background:#333}
.status-timeline div:first-child:before{display:none}
.status-timeline i{position:relative;z-index:2;width:28px;height:28px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#1a1a1a;font-style:normal}
.status-timeline .done{color:var(--gold-light)}
.status-timeline .done:before,.status-timeline .done i{background:var(--gold)}
.status-timeline .done i{color:#111}
.status-timeline span{font-size:10px}
.customer-order-grid{display:grid;grid-template-columns:1fr .65fr;gap:25px}
.customer-order-item{padding:18px;border:1px solid var(--line);background:#0d0d0d;margin-bottom:10px}
.address-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.address-list{display:grid;gap:12px}
.address-list article{padding:18px;border:1px solid var(--line);background:#0d0d0d}
.address-list small{color:var(--gold)}
.favorite-remove{padding:0 18px 18px}
.design-actions{display:flex;gap:10px;flex-wrap:wrap}
.inline-favorite-form{display:inline}
.design-quantity-control{display:grid;grid-template-columns:38px 1fr 38px;gap:4px;padding:8px}
.design-quantity-control button{border:1px solid var(--line);background:#191919;color:var(--gold-light);font-size:20px;cursor:pointer}
.design-quantity-control input{margin:0;text-align:center;background:#0a0a0a}
.design-select-card.selected .design-quantity-control{background:#171109}
@media(max-width:900px){.status-timeline{grid-template-columns:repeat(3,1fr)}.customer-order-grid,.address-layout{grid-template-columns:1fr}}
@media(max-width:560px){.account-stat-grid{grid-template-columns:1fr}.account-order-list a{grid-template-columns:1fr}.status-timeline{grid-template-columns:1fr}.status-timeline div{grid-template-columns:35px 1fr;text-align:left;align-items:center}.status-timeline div:before{display:none}.status-timeline i{margin:0}}

/* Steg 6.1 – korrigerad motivväljare */
.design-quantity-control{
    position:relative;
    z-index:4;
    display:grid;
    grid-template-columns:42px minmax(52px,1fr) 42px;
    align-items:stretch;
    gap:6px;
    padding:10px;
}
.design-quantity-control button{
    position:relative;
    z-index:5;
    min-height:42px;
    border:1px solid #6f512c;
    border-radius:5px;
    background:#1b1711;
    color:var(--gold-light);
    font-size:23px;
    font-weight:700;
    cursor:pointer;
    touch-action:manipulation;
}
.design-quantity-control button:hover:not(:disabled){
    background:var(--gold);
    color:#090909;
}
.design-quantity-control button:disabled{
    opacity:.35;
    cursor:not-allowed;
}
.design-quantity-control input[type="number"]{
    position:relative;
    z-index:5;
    width:100%;
    min-width:0;
    min-height:42px;
    margin:0;
    padding:6px;
    border:1px solid #514331;
    border-radius:5px;
    background:#090909;
    color:var(--white);
    opacity:1;
    text-align:center;
    font-size:18px;
    font-weight:700;
    pointer-events:auto;
    appearance:textfield;
}
.design-quantity-control input[type="number"]::-webkit-inner-spin-button,
.design-quantity-control input[type="number"]::-webkit-outer-spin-button{
    margin:0;
    appearance:none;
}
.design-select-card{
    cursor:default;
}
.design-select-card img,
.design-select-card>span{
    pointer-events:none;
}

.product-card-actions{
    padding:0 18px 18px;
    background:#0c0c0c;
}
.favorite-button{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 12px;
    border:1px solid #6f512c;
    background:#17130e;
    color:var(--gold-light);
    cursor:pointer;
    font-size:11px;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.favorite-button:hover,
.favorite-button.active{
    background:var(--gold);
    color:#090909;
}
.product-favorite-detail{
    margin:22px 0;
}
.favorite-active{
    box-shadow:inset 0 0 0 2px #fff0c7;
}
.favorites-subheading{
    margin-top:55px;
}
.favorite-section-grid{
    margin-top:18px;
}
.favorite-card{
    display:flex;
    flex-direction:column;
}
.favorite-card>a{
    flex:1;
}
.empty-favorites{
    padding:24px;
    border:1px solid var(--line);
    background:#0d0d0d;
}

/* Steg 6.3 – produktkort och grupperad navigation */

.product-gallery{
    align-items:stretch;
}
.product-card{
    display:flex;
    min-width:0;
    flex-direction:column;
}
.product-card-main{
    display:flex;
    flex:1;
    min-height:100%;
    flex-direction:column;
}
.product-card-main img{
    width:100%;
    height:335px;
    object-fit:cover;
}
.product-card-copy{
    flex:1;
    padding:18px;
}
.product-card-actions{
    width:100%;
    padding:0 18px 18px;
    background:#0c0c0c;
}
.product-card-actions form{
    width:100%;
    margin:0;
}
.product-card-actions .favorite-button{
    width:100%;
}

/* Desktopnavigation */
.main-nav{
    gap:24px;
}
.nav-group{
    position:relative;
}
.nav-group-toggle{
    position:relative;
    min-height:80px;
    padding:0;
    border:0;
    background:none;
    color:var(--white);
    font-size:11px;
    letter-spacing:1.6px;
    text-transform:uppercase;
    cursor:pointer;
}
.nav-group-toggle::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:var(--gold);
    transform:scaleX(0);
    transition:.25s ease;
}
.nav-group.open>.nav-group-toggle::after,
.nav-group-toggle:hover::after{
    transform:scaleX(1);
}
.nav-group-toggle span{
    margin-left:4px;
    color:var(--gold-light);
}
.nav-dropdown{
    position:absolute;
    top:calc(100% - 1px);
    left:50%;
    z-index:80;
    width:210px;
    padding:9px;
    border:1px solid #342b20;
    background:#0b0b0b;
    box-shadow:0 18px 45px rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,8px);
    transition:.2s ease;
}
.nav-group.open>.nav-dropdown{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
.nav-dropdown a{
    display:block;
    padding:11px 12px;
    border-bottom:1px solid #25211c;
    color:#d2cec6;
    font-size:10px;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.nav-dropdown a:last-child{
    border-bottom:0;
}
.nav-dropdown a:hover,
.nav-dropdown a.active{
    background:#17120d;
    color:var(--gold-light);
}
.nav-dropdown a::after{
    display:none;
}
.nav-dropdown-right{
    right:0;
    left:auto;
    transform:translate(0,8px);
}
.nav-group.open>.nav-dropdown-right{
    transform:translate(0,0);
}
.nav-utilities{
    display:flex;
    align-items:center;
    gap:20px;
}
.nav-count{
    display:inline-grid;
    min-width:20px;
    height:20px;
    margin-left:4px;
    place-items:center;
    border-radius:999px;
    background:var(--gold);
    color:#090909;
    font-size:10px;
    font-weight:700;
}

@media(max-width:1200px){
    .main-nav{
        gap:16px;
    }
    .main-nav>a,
    .nav-group-toggle{
        font-size:10px;
        letter-spacing:1.1px;
    }
    .nav-utilities{
        gap:12px;
    }
}

@media(max-width:850px){
    .main-nav{
        align-items:stretch;
        gap:0;
    }
    .main-nav>a,
    .nav-group-toggle{
        width:100%;
        min-height:auto;
        padding:11px 0;
        text-align:left;
    }
    .nav-group{
        width:100%;
    }
    .nav-dropdown,
    .nav-dropdown-right{
        position:static;
        width:100%;
        padding:0 0 0 16px;
        border:0;
        border-left:1px solid #4b3822;
        background:transparent;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        display:none;
    }
    .nav-group.open>.nav-dropdown,
    .nav-group.open>.nav-dropdown-right{
        display:block;
        transform:none;
    }
    .nav-dropdown a{
        padding:9px 0;
        border:0;
    }
    .nav-utilities{
        width:100%;
        display:block;
    }
    .nav-utilities>a{
        display:block;
        padding:11px 0;
    }
    .nav-group-toggle::after{
        display:none;
    }
}

@media(max-width:560px){
    .product-card-main img{
        height:285px;
    }
}

/* Steg 6.4 – tydliga borttagningsknappar */

.danger-button{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 16px;
    border:1px solid #a34f4f;
    border-radius:4px;
    background:#7f3030;
    color:#fff4f4;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.1px;
    line-height:1.2;
    text-transform:uppercase;
    cursor:pointer;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.danger-button:hover{
    border-color:#d97878;
    background:#a84242;
    color:#fff;
    transform:translateY(-1px);
}

.danger-button:focus-visible{
    outline:2px solid #ef9b9b;
    outline-offset:3px;
}

.danger-button-outline{
    background:transparent;
    color:#e58b8b;
}

.danger-button-outline:hover{
    background:#7f3030;
    color:#fff;
}

.cart-clear-form{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}

.cart-clear-form .danger-button{
    min-width:190px;
}

.favorite-remove{
    width:100%;
    padding:0 18px 18px;
    margin-top:auto;
}

.favorite-remove .danger-button{
    width:100%;
}

.favorite-card{
    height:100%;
}

.favorite-card>a{
    display:flex;
    flex:1;
    flex-direction:column;
}

@media(max-width:560px){
    .cart-clear-form{
        justify-content:stretch;
    }

    .cart-clear-form .danger-button{
        width:100%;
    }
}

/* Steg 6.5 – produkttyper, filter och portfolioåtkomst */

.product-filter{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:28px;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
}
.product-filter a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:8px 14px;
    border:1px solid #4b3822;
    background:#0d0d0d;
    color:#c7c1b8;
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}
.product-filter a:hover,
.product-filter a.active{
    border-color:var(--gold);
    background:var(--gold);
    color:#090909;
}
.product-filter span{
    display:grid;
    min-width:20px;
    height:20px;
    place-items:center;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    font-size:9px;
}
.product-image-wrap{
    position:relative;
}
.product-type-badge,
.owner-product-badge,
.inspiration-badge{
    position:absolute;
    z-index:3;
    top:10px;
    left:10px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(5,5,5,.84);
    color:var(--gold-light);
    font-size:9px;
    letter-spacing:1px;
    text-transform:uppercase;
    backdrop-filter:blur(8px);
}
.owner-product-badge,
.inspiration-badge{
    right:10px;
    left:auto;
    border-color:#8a6738;
}
.detail-type-badge{
    display:inline-flex;
    margin:0 0 14px;
    padding:6px 10px;
    border:1px solid #654a29;
    color:var(--gold-light);
    font-size:9px;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.portfolio-only-notice{
    margin:28px 0;
    padding:22px;
    border:1px solid #604825;
    background:linear-gradient(135deg,#17120d,#0c0b09);
}
.portfolio-only-notice h2{
    margin-bottom:9px;
    font-size:26px;
}
.portfolio-only-notice p{
    color:var(--muted);
}
.portfolio-product-grid{
    align-items:stretch;
}
.portfolio-product-card{
    display:flex;
    flex-direction:column;
}
.portfolio-product-card>div:last-child{
    flex:1;
}
.portfolio-action{
    display:block;
    margin-top:12px;
    color:var(--gold-light);
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}

@media(max-width:560px){
    .product-filter{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .product-filter a{
        justify-content:space-between;
    }
}

/* Steg 7.2 – inspirationsreferens i specialbeställning */

.inspiration-reference-card{
    width:min(960px,94%);
    margin:0 auto 24px;
    display:grid;
    grid-template-columns:260px 1fr;
    overflow:hidden;
    border:1px solid #684c2a;
    background:linear-gradient(135deg,#17120d,#0c0b09);
}
.inspiration-reference-image{
    min-height:230px;
}
.inspiration-reference-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.inspiration-reference-card>div:last-child{
    padding:28px;
}
.inspiration-reference-card h2{
    margin-bottom:10px;
    font-size:30px;
}
.inspiration-reference-card p{
    color:var(--muted);
}
.reference-help{
    margin-top:13px;
    font-size:12px;
}
.form-reference-summary{
    grid-column:1/-1;
    display:grid;
    gap:5px;
    padding:15px;
    border:1px solid #604825;
    background:#14110d;
}
.form-reference-summary strong{
    color:var(--gold-light);
}
.form-reference-summary span{
    color:var(--white);
}
.form-reference-summary code{
    overflow-wrap:anywhere;
    color:var(--muted);
    font-size:11px;
}

@media(max-width:700px){
    .inspiration-reference-card{
        grid-template-columns:1fr;
    }
    .inspiration-reference-image{
        min-height:260px;
    }
}

/* Steg 8 – betalning, frakt och villkor */

.checkout-options{
    grid-column:1/-1;
    display:grid;
    gap:10px;
    margin:0;
    padding:18px;
    border:1px solid var(--line);
    background:#0b0b0b;
}
.checkout-options legend{
    padding:0 8px;
    color:var(--gold-light);
    font-family:Georgia,serif;
    font-size:21px;
}
.checkout-option{
    position:relative;
    display:block;
    cursor:pointer;
}
.checkout-option>input{
    position:absolute;
    opacity:0;
}
.checkout-option>span{
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 18px;
    padding:14px;
    border:1px solid #39322a;
    background:#111;
}
.checkout-option>span strong{
    color:var(--white);
    font-size:14px;
}
.checkout-option>span small{
    grid-column:1;
    color:var(--muted);
    text-transform:none;
    letter-spacing:0;
}
.checkout-option>span em{
    grid-column:2;
    grid-row:1/3;
    align-self:center;
    color:var(--gold-light);
    font-style:normal;
    font-weight:700;
}
.checkout-option>input:checked+span{
    border-color:var(--gold);
    box-shadow:inset 0 0 0 1px var(--gold);
    background:#17120d;
}
.checkout-consents{
    grid-column:1/-1;
    display:grid;
    gap:11px;
    padding:16px;
    border:1px solid #4b3822;
    background:#14110d;
}
.checkout-consents label{
    display:grid;
    grid-template-columns:22px 1fr;
    align-items:start;
    gap:8px;
    color:#d2cec6;
    font-size:12px;
    letter-spacing:0;
    line-height:1.45;
    text-transform:none;
}
.checkout-consents input{
    width:auto;
    margin:2px 0 0;
}
.checkout-consents a{
    color:var(--gold-light);
    text-decoration:underline;
}
.personalized-consent{
    color:#f0c786!important;
}
.order-confirmation-box{
    max-width:760px;
}
.confirmation-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:25px 0;
    text-align:left;
}
.confirmation-summary div{
    padding:14px;
    border:1px solid var(--line);
    background:#111;
}
.confirmation-summary span{
    display:block;
    color:var(--muted);
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}
.confirmation-summary strong{
    display:block;
    margin-top:5px;
    color:var(--gold-light);
}
.payment-instructions{
    margin:22px 0;
    padding:20px;
    border:1px solid #6a4e2a;
    background:#17120d;
    text-align:left;
}
.payment-instructions h2{
    margin-bottom:10px;
    font-size:25px;
}
.legal-page{
    max-width:900px;
    color:#d0cbc3;
    white-space:normal;
}
@media(max-width:560px){
    .checkout-option>span{
        grid-template-columns:1fr;
    }
    .checkout-option>span em{
        grid-column:1;
        grid-row:auto;
    }
    .confirmation-summary{
        grid-template-columns:1fr;
    }
}

/* Steg 8.3 – fullständig betalningsinformation */
.payment-information-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:18px;
}
.payment-information-grid>div{
    padding:13px;
    border:1px solid #4d3a22;
    background:#0e0d0a;
}
.payment-information-grid span{
    display:block;
    color:var(--muted);
    font-size:9px;
    letter-spacing:1px;
    text-transform:uppercase;
}
.payment-information-grid strong{
    display:block;
    margin-top:5px;
    color:var(--gold-light);
}
.payment-instruction-text{
    margin-top:14px;
    padding:14px;
    border-left:3px solid var(--gold);
    background:#0d0c0a;
    color:#e0d8cd;
}
@media(max-width:560px){
    .payment-information-grid{
        grid-template-columns:1fr;
    }
}

/* Steg 8.5 – produktbaserade kollektioner */
.collection-product-filter{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 28px;
}
.collection-product-filter button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:8px 13px;
    border:1px solid #4b3822;
    background:#0d0d0d;
    color:#c9c2b8;
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
}
.collection-product-filter button:hover,
.collection-product-filter button.active{
    border-color:var(--gold);
    background:var(--gold);
    color:#090909;
}
.collection-product-filter span{
    display:grid;
    min-width:20px;
    height:20px;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.13);
}
.product-card[hidden]{
    display:none!important;
}
.design-select-card>small{
    display:block;
    padding:0 9px 5px;
    color:var(--muted);
    font-size:9px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

/* Steg 8.6 */
.account-stat-grid{grid-template-columns:repeat(4,1fr)}
.account-request-list{display:grid;gap:12px}
.account-request-card{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:18px;border:1px solid var(--line);background:#0d0d0d}
.account-request-card>div{display:grid;gap:4px;align-content:start}
.account-request-card span{color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase}
.account-request-card strong{color:var(--gold-light)}
.account-request-card small{color:var(--muted)}
.account-request-card>p{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:850px){.account-stat-grid{grid-template-columns:1fr 1fr}.account-request-card{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.account-request-card{grid-template-columns:1fr}.account-request-card>p{grid-column:1}}

/* Steg 8.7 – juridiska godkännanden */
.special-consents{
    grid-column:1/-1;
    display:grid;
    gap:12px;
    padding:17px;
    border:1px solid #684b27;
    background:#15110c;
}
.special-consents label{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:9px;
    align-items:start;
    color:#ddd5ca;
    font-size:12px;
    line-height:1.5;
    text-transform:none;
    letter-spacing:0;
}
.special-consents input{
    width:auto;
    margin-top:3px;
}
.consent-version{
    grid-column:1/-1;
    margin:4px 0 0;
    color:var(--muted);
    font-size:10px;
}

/* Steg 8.7.1 – fem produkter per rad och paketmärkning */

/* Gäller bara products.php. */
.products-five-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}

.products-five-grid .product-card-main img{
    height:auto;
    aspect-ratio:1 / 1;
    object-fit:cover;
}

.products-five-grid .product-card-copy{
    padding:14px;
}

.products-five-grid .product-card-copy h3{
    font-size:17px;
}

.products-five-grid .product-card-copy p{
    font-size:12px;
}

.products-five-grid .product-card-actions{
    padding:0 14px 14px;
}

.collection-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.collection-meta small{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:5px 9px;
    border:1px solid #3d352b;
    background:#101010;
    color:var(--muted);
    font-size:9px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.collection-meta .pack-choice-meta{
    border-color:#76562f;
    color:var(--gold-light);
}

.pack-choice-badge{
    position:absolute;
    z-index:3;
    top:10px;
    right:10px;
    padding:6px 9px;
    border:1px solid #9b7540;
    background:rgba(17,12,7,.9);
    color:var(--gold-light);
    font-size:9px;
    letter-spacing:1px;
    text-transform:uppercase;
    backdrop-filter:blur(8px);
}

@media(max-width:1400px){
    .products-five-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:1100px){
    .products-five-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .products-five-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:480px){
    .products-five-grid{
        grid-template-columns:1fr;
    }
}

/* Steg 8.7.2 – produktgalleri och butikspaus */
.product-gallery-viewer{
    min-width:0;
}
.product-gallery-main{
    overflow:hidden;
    border:1px solid var(--line);
    background:#080808;
}
.product-gallery-main img{
    width:100%;
    display:block;
    aspect-ratio:1 / 1;
    object-fit:contain;
}
.product-gallery-thumbnails{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}
.product-gallery-thumb{
    padding:0;
    overflow:hidden;
    border:1px solid #332b22;
    background:#0b0b0b;
    cursor:pointer;
}
.product-gallery-thumb.active,
.product-gallery-thumb:hover{
    border-color:var(--gold);
}
.product-gallery-thumb img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    display:block;
}
.shop-closed-button{
    opacity:.45;
    cursor:not-allowed;
}
.shop-closed-notice,
.shop-closed-page{
    margin-top:18px;
    padding:22px;
    border:1px solid #74542d;
    background:linear-gradient(135deg,#18120b,#0c0b09);
}
.shop-closed-notice strong,
.shop-closed-page h1{
    color:var(--gold-light);
}
.shop-closed-notice p,
.shop-closed-page p{
    color:var(--muted);
}

/* Steg 8.8 – personliga priser och rabattkoder */
.normal-price{
    display:block;
    color:var(--muted);
    font-size:10px;
    text-decoration:line-through;
}
.personal-price-label{
    display:inline-flex;
    margin-left:6px;
    padding:3px 6px;
    border:1px solid #806033;
    color:var(--gold-light);
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.cart-discount-box{
    display:grid;
    gap:10px;
    margin-top:18px;
    padding:15px;
    border:1px solid var(--line);
    background:#0d0d0d;
}
.cart-discount-box label>span{
    display:flex;
    gap:8px;
    margin-top:7px;
}
.cart-discount-box input{
    flex:1;
}
.applied-discount{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px;
    border:1px solid #72542f;
    background:#17120d;
}
.applied-discount span{
    margin-left:auto;
    color:var(--gold-light);
}


/* Steg 8.8.1 – separata formulär i varukorgen */
.cart-update-form{
    display:grid;
    gap:14px;
}
.cart-update-actions{
    justify-content:flex-end;
}
.discount-code-form,
.remove-discount-form{
    margin:0;
}

/* Steg 8.8.3.1 – fungerande scrollbar för valbara paketprodukter */

.pack-choice-scroll {
    display: block;
    width: 100%;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 12px 0 18px;
    padding: 8px 12px 8px 4px;
    border: 1px solid #352b20;
    background: #0a0a0a;
    scrollbar-gutter: stable;
    overscroll-behavior: contain;
}

.pack-choice-scroll .design-selector-grid {
    margin: 0;
    padding: 0;
}

/* Firefox */
.pack-choice-scroll {
    scrollbar-width: thin;
    scrollbar-color: #76562f #0b0b0b;
}

/* Chrome, Edge och Safari */
.pack-choice-scroll::-webkit-scrollbar {
    width: 11px;
}

.pack-choice-scroll::-webkit-scrollbar-track {
    background: #0b0b0b;
}

.pack-choice-scroll::-webkit-scrollbar-thumb {
    background: #76562f;
    border: 2px solid #0b0b0b;
    border-radius: 10px;
}

.pack-choice-scroll::-webkit-scrollbar-thumb:hover {
    background: #a17a43;
}

@media (max-width: 900px) {
    .pack-choice-scroll {
        max-height: 440px;
    }
}

@media (max-width: 600px) {
    .pack-choice-scroll {
        max-height: 380px;
        padding-right: 7px;
    }
}

/* Steg 8.9 – lagerstatus */
.stock-public-ok{
    color:var(--gold-light);
}
.stock-public-out{
    color:#c98484;
}


/* Steg 8.9.1 – fem kolumner även i kollektion och portfolio */
.portfolio-product-grid.products-five-grid,
.portfolio-gallery.products-five-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}

.portfolio-product-grid.products-five-grid img,
.portfolio-gallery.products-five-grid img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
}

@media(max-width:1400px){
    .portfolio-product-grid.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:1100px){
    .portfolio-product-grid.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .portfolio-product-grid.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:480px){
    .portfolio-product-grid.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:1fr;
    }
}


/* Steg 8.9.2 – information om kundkonto */
.account-benefits-box{
    margin:24px 0 8px;
    padding:22px;
    border:1px solid #70512d;
    background:
        linear-gradient(135deg,rgba(118,82,38,.13),rgba(10,10,10,.96));
}

.account-benefits-heading{
    margin-bottom:18px;
}

.account-benefits-heading h2,
.account-benefits-heading h3{
    margin:4px 0 8px;
    color:var(--white);
}

.account-benefits-heading p:last-child{
    max-width:720px;
    color:var(--muted);
}

.account-benefits-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.account-benefits-grid>div{
    display:grid;
    align-content:start;
    gap:5px;
    min-height:112px;
    padding:14px;
    border:1px solid #352d24;
    background:#0d0d0d;
}

.account-benefits-grid strong{
    color:var(--gold-light);
    font-size:13px;
}

.account-benefits-grid span{
    color:#aaa39a;
    font-size:12px;
    line-height:1.55;
}

.account-benefits-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px;
}

.account-register-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    gap:24px;
    align-items:start;
}

.account-benefits-register{
    margin:0;
}

.account-register-layout .account-form{
    margin:0;
    width:100%;
    max-width:none;
}

@media(max-width:1000px){
    .account-benefits-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .account-register-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .account-benefits-grid{
        grid-template-columns:1fr;
    }

    .account-benefits-grid>div{
        min-height:0;
    }

    .account-benefits-actions{
        display:grid;
    }

    .account-benefits-actions .button{
        width:100%;
    }
}


/* Steg 8.9.3 – förenklade godkännanden i kassan */
.checkout-consents{
    display:grid;
    gap:10px;
}

.checkout-consents>label{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:13px 14px;
    border:1px solid var(--line);
    background:#0d0d0d;
    line-height:1.55;
}

.checkout-consents>label input{
    width:auto;
    margin-top:4px;
}

.checkout-consents>label span{
    min-width:0;
}

.checkout-consents .personalized-consent{
    border-color:#584329;
    background:#13100c;
}

.checkout-consents .personalized-production-consent{
    border-color:#76562f;
}


/* Steg 8.9.4 – pris i kundens specialbeställningar */
.account-request-card div small{
    display:block;
    margin-top:2px;
}


/* Steg 9.0 – konto- och offertflöde */
.special-account-notice,
.special-account-gate{
    margin:0 0 22px;
    padding:20px;
    border:1px solid #72542f;
    background:linear-gradient(135deg,#17120d,#0d0c0a);
}
.special-account-gate h2{
    margin:4px 0 8px;
}
.customer-request-detail{
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:18px;
}
.customer-request-panel{
    padding:20px;
    border:1px solid var(--line);
    background:#0d0d0d;
}
.customer-request-panel:last-child{
    grid-column:1/-1;
}
.request-detail-list{
    display:grid;
    gap:7px;
}
.request-detail-list>div{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:12px;
    padding-bottom:7px;
    border-bottom:1px solid var(--line);
}
.request-detail-list dt{
    color:var(--muted);
}
.request-detail-list dd{
    margin:0;
}
.quote-customer-heading{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:start;
}
.quote-description{
    margin:16px 0;
    padding:14px;
    border-left:3px solid var(--gold);
    background:#111;
}
.quote-total-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}
.quote-total-grid>div{
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid var(--line);
}
.quote-total-grid span{
    color:var(--muted);
    font-size:9px;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.quote-grand-total{
    border-color:#76562f!important;
}
.quote-grand-total strong{
    color:var(--gold-light);
}
.quote-response-box{
    margin-top:18px;
    padding:16px;
    border:1px solid #76562f;
    background:#15110c;
}
.quote-confirm-check{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:9px;
    align-items:start;
}
.quote-confirm-check input{
    width:auto;
    margin-top:4px;
}
.quote-response-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:14px;
}
.quote-accepted-notice{
    margin-top:18px;
    padding:14px;
    border:1px solid #45633d;
    background:#0d150c;
}
.account-request-actions{
    grid-column:1/-1;
}
@media(max-width:850px){
    .customer-request-detail{
        grid-template-columns:1fr;
    }
    .customer-request-panel:last-child{
        grid-column:1;
    }
}
@media(max-width:600px){
    .quote-total-grid{
        grid-template-columns:1fr;
    }
    .quote-response-actions{
        display:grid;
    }
}


/* Steg 9.0.1 – driftmeddelande, moms och Om WeeCraft */
.site-production-notice{
    border-bottom:1px solid #79592e;
    background:linear-gradient(90deg,#24180b,#15100a,#24180b);
    color:#ead6b5;
}
.site-production-notice>div{
    width:min(1500px,calc(100% - 32px));
    margin:auto;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    padding:10px 0;
    text-align:center;
    font-size:12px;
}
.site-production-notice strong{
    color:var(--gold-light);
    text-transform:uppercase;
    letter-spacing:.8px;
}
.vat-line,
.vat-summary-label,
.vat-summary-value{
    color:var(--muted)!important;
    font-size:11px;
}
.about-content-card{
    display:grid;
    grid-template-columns:120px minmax(0,850px);
    gap:28px;
    align-items:start;
    max-width:1050px;
    margin:auto;
    padding:30px;
    border:1px solid var(--line);
    background:#0d0d0d;
}
.about-content-mark{
    display:grid;
    place-items:center;
    width:110px;
    aspect-ratio:1;
    border:1px solid #76562f;
    color:var(--gold-light);
    font-size:58px;
    font-weight:800;
}
.about-content-copy{
    color:#c1bab0;
    font-size:15px;
    line-height:1.85;
}
@media(max-width:700px){
    .site-production-notice>div{
        display:grid;
        gap:4px;
    }
    .about-content-card{
        grid-template-columns:1fr;
    }
    .about-content-mark{
        width:80px;
        font-size:42px;
    }
}


/* Steg 9.0.1.1 – momsrad i ordersammanfattningen */
.checkout-vat-line{
    margin-top:-4px;
    padding-top:8px;
    border-top:0;
}
.checkout-vat-line span,
.checkout-vat-line strong{
    color:var(--muted);
    font-size:11px;
}

/* Steg 9.1 – kundens leveransinformation */
.customer-order-grid .checkout-summary .button{
    margin-top:8px;
}


/* Steg 9.4 – Utforska-kategorier */
.nav-dropdown-divider{
    display:block;
    height:1px;
    margin:5px 10px;
    background:rgba(255,255,255,.1);
}

.explore-home-section{
    border-top:1px solid var(--line);
}

.explore-home-section .portfolio-heading p:not(.eyebrow){
    max-width:650px;
    margin:6px 0 0;
    color:var(--muted);
}

.explore-home-grid{
    margin-top:22px;
}

.explore-home-card{
    display:block;
    overflow:hidden;
}

.explore-home-card>img,
.explore-home-card .product-image-wrap img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
}

.explore-home-card>div:last-child{
    padding:13px;
}

.explore-home-card>div:last-child>span{
    color:var(--gold);
    font-size:9px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.explore-home-card h3{
    margin:5px 0;
}

.explore-home-card p{
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.5;
}

.explore-page-hero{
    border-bottom:1px solid var(--line);
}


/* Steg 9.4.1 – privata produkter i Utforska och Mina Produkter */
.private-product-badge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    padding:5px 8px;
    border:1px solid #6f542f;
    background:rgba(12,10,8,.88);
    color:var(--gold-light);
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.inactive-product-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    padding:5px 8px;
    border:1px solid #6a4542;
    background:rgba(22,10,10,.9);
    color:#d99991;
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.private-product-note{
    color:var(--muted);
    font-size:10px;
    font-style:italic;
}


/* Steg 9.4.2 – samma kortstorlek i Utforska-kategorier som befintliga produkt/portfolio-vyer */
.explore-home-grid.products-five-grid,
.product-gallery.products-five-grid,
.portfolio-gallery.products-five-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}

.explore-home-grid.products-five-grid .gallery-card>img,
.explore-home-grid.products-five-grid .product-image-wrap img,
.product-gallery.products-five-grid .product-image-wrap img,
.portfolio-gallery.products-five-grid .gallery-card>img{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    object-fit:cover;
}

@media(max-width:1400px){
    .explore-home-grid.products-five-grid,
    .product-gallery.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}
@media(max-width:1100px){
    .explore-home-grid.products-five-grid,
    .product-gallery.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .explore-home-grid.products-five-grid,
    .product-gallery.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:480px){
    .explore-home-grid.products-five-grid,
    .product-gallery.products-five-grid,
    .portfolio-gallery.products-five-grid{
        grid-template-columns:1fr;
    }
}


/* Steg 9.5 – makulerade orderrader på kundsidan */
.customer-order-item-cancelled{opacity:.65;border-color:#5b3935!important}
.cancelled-line-badge{display:inline-flex;margin-left:6px;padding:2px 5px;border:1px solid #71433e;color:#c9867e;font-size:8px;text-transform:uppercase;letter-spacing:.7px}

/* Steg 9.6 – kundens betalningsöversikt */
.checkout-line strong{
    text-align:right;
}


/* Steg 9.6.1 – kundens Swishval och kontoinformation */
.customer-swish-panel{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}
.customer-swish-panel h3{
    margin:0 0 6px;
}
.swish-choice-form{
    display:grid;
    gap:8px;
    margin-top:12px;
}
.swish-choice-form>label{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:8px;
    align-items:center;
    padding:10px;
    border:1px solid var(--line);
    background:#101010;
}
.swish-choice-form input[type="radio"]{
    width:auto;
}
.swish-custom-choice{
    grid-template-columns:22px 1fr 130px!important;
}
.swish-custom-choice small{
    grid-column:2/-1;
    color:var(--muted);
}
.swish-payment-ready{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 16px;
    margin-top:14px;
    padding:14px;
    border:1px solid #6c522f;
    background:#15110c;
}
.swish-payment-ready span{
    color:var(--muted);
}
.swish-payment-ready strong{
    color:var(--gold-light);
}
.swish-payment-ready p{
    grid-column:1/-1;
    margin:8px 0 0;
}
.swish-confirmation-options{
    margin:10px 0;
    padding:10px 12px;
    border:1px solid var(--line);
    background:#101010;
}
.account-payment-preference{
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid var(--line);
    background:#101010;
}
.account-payment-preference span{
    color:var(--gold-light);
    font-size:18px;
}
.account-payment-preference small{
    color:var(--muted);
}
@media(max-width:600px){
    .swish-custom-choice{
        grid-template-columns:22px 1fr!important;
    }
    .swish-custom-choice input[type="number"],
    .swish-custom-choice small{
        grid-column:2;
    }
    .swish-payment-ready{
        grid-template-columns:1fr;
    }
    .swish-payment-ready p{
        grid-column:1;
    }
}
