
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --bg:#090a0a; --surface:#101211; --surface2:#151716; --text:#e8e4dc;
  --muted:#a6a39c; --gold:#caa15a; --gold2:#e1bf7a; --line:#292a27;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.narrow{max-width:760px}.center{text-align:center}

/* Slim, non-sticky header */
.site-header{position:relative;z-index:10;background:#0b0c0c;border-bottom:1px solid var(--line)}
.nav-wrap{
  display:grid;grid-template-columns:150px minmax(220px,1fr) auto;align-items:center;
  gap:30px;min-height:70px
}
.brand{display:flex;align-items:center;height:58px}
.brand img{display:block;width:118px;height:auto;max-height:48px;object-fit:contain}
.welcome{
  text-align:center;color:#d8c9ad;font-family:"Manrope",Arial,sans-serif;
  font-size:1.05rem;font-weight:600;letter-spacing:.04em
}
.site-header nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;font-size:.84rem;white-space:nowrap}
.site-header nav a{color:#bdbab3;transition:.2s ease}
.site-header nav a:hover{color:var(--gold2)}
.nav-cta{border:1px solid #806536!important;padding:7px 12px;color:#e3d3b3!important}
.nav-cta:hover{border-color:var(--gold2)!important}

/* Hero */
.hero{
  min-height:650px;display:flex;align-items:center;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse at 72% 44%,rgba(202,161,90,.13),transparent 28%),
    radial-gradient(ellipse at 20% 65%,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(120deg,#080909,#111310 58%,#090a09)
}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.12),rgba(0,0,0,.48))}
.hero-content{position:relative;z-index:1;padding:105px 0}
.eyebrow{margin:0 0 14px;color:var(--gold2);font-size:.72rem;font-weight:700;letter-spacing:.2em}
.hero h1{
  font-family:"Playfair Display",Georgia,serif;font-size:clamp(3.5rem,8vw,6.7rem);
  line-height:.98;margin:0 0 24px;max-width:850px;color:#f0ece4
}
.hero-text{font-size:1.15rem;color:#c8c4bc;max-width:650px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:47px;
  padding:11px 21px;border:1px solid transparent;font-weight:700;letter-spacing:.025em;
  transition:.2s ease;cursor:pointer
}
.button-gold{background:var(--gold);color:#17130c}
.button-gold:hover{background:var(--gold2)}
.button-outline{border-color:#66645e;color:#e8e4dc}
.button-outline:hover{border-color:var(--gold);color:var(--gold2)}

.section{padding:96px 0}
h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.35rem,5vw,4rem);line-height:1.08;margin:0 0 21px;color:#ebe6dd}
h3{margin:0 0 10px;font-family:"Manrope",Arial,sans-serif;font-size:1.2rem}
.intro{background:#0d0f0e;border-top:1px solid #1c1e1c}
.intro p:last-child{font-size:1.1rem;color:var(--muted)}

.service-hero{
  background:
    linear-gradient(120deg,rgba(202,161,90,.08),transparent 50%),
    #101210;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.service-hero .container{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}
.service-copy p:not(.eyebrow){color:#c4c0b8;font-size:1.05rem}
.service-points{border-left:1px solid #66502b;padding-left:34px}
.service-points div{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.service-points strong{color:var(--gold2);font-family:"Manrope",Arial,sans-serif}
.service-points span{color:#d1ccc2}

.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:43px}
.section-lead{max-width:430px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{
  background:linear-gradient(145deg,#131513,#0f110f);border:1px solid var(--line);
  padding:29px;min-height:200px;transition:.2s ease
}
.card:hover{border-color:#55462c;transform:translateY(-2px)}
.card span{color:var(--gold2);font-weight:700;font-size:.75rem;letter-spacing:.08em}
.card p{color:var(--muted);margin-bottom:0}

.projects{background:#0d0f0e;border-top:1px solid #171917}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card{background:#121412;border:1px solid var(--line);overflow:hidden}
.project-image-placeholder{
  height:225px;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(202,161,90,.16),transparent 25%),
    linear-gradient(145deg,#171a17,#0c0e0d);
  color:#947546;font-family:"Manrope",Arial,sans-serif;font-weight:700;letter-spacing:.22em
}
.project-body{padding:24px}
.project-tag{font-size:.68rem;letter-spacing:.16em;color:var(--gold2);font-weight:700}
.project-body p:last-child{color:var(--muted)}

.about{border-top:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.about-grid p{color:#bbb7af;font-size:1.04rem}

.contact{background:#12110f;border-top:1px solid #2a251d}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-details{display:grid;gap:7px;margin:28px 0}
.contact-details a{font-size:1.06rem}
.contact-details a:hover{color:var(--gold2)}
.contact-details span{color:var(--muted)}
.contact-form,.quote-form{background:#0d0f0e;border:1px solid var(--line);padding:34px}
.contact-form h3{font-family:"Playfair Display",Georgia,serif;font-size:1.9rem;margin-bottom:22px}
.contact-form label,.quote-form label{display:block;margin:17px 0 7px;font-weight:600;font-size:.88rem}
.contact-form input,.contact-form textarea,.quote-form input,.quote-form textarea,.quote-form select{
  width:100%;background:#090a09;color:var(--text);border:1px solid #343631;padding:11px 12px;
  font:inherit;border-radius:0
}
.contact-form input:focus,.contact-form textarea:focus,.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{outline:1px solid var(--gold)}
.contact-form textarea,.quote-form textarea{resize:vertical}
.contact-form .button{margin-top:19px;width:100%}

.form-page{min-height:calc(100vh - 70px)}
.form-intro{padding:88px 0 35px}
.form-intro p:last-child{color:var(--muted);font-size:1.08rem}
.form-section{padding-top:32px}
.form-container{max-width:850px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote-form .button{margin-top:23px}
.form-subheading{margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}
.form-consent{display:flex;gap:12px;align-items:flex-start;margin-top:25px}
.form-consent input{width:auto!important;margin-top:6px;accent-color:var(--gold)}
.form-consent label{margin:0!important;font-weight:400!important}
.form-consent a,.form-note a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.form-note{color:var(--muted);font-size:.88rem}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}

.footer{border-top:1px solid var(--line);padding:28px 0;color:#898780;font-size:.88rem}
.footer-wrap{display:flex;justify-content:space-between;gap:20px}
.footer strong{color:#d7d3ca;display:block}
.footer span{display:block}

.thanks{min-height:100vh;display:grid;place-items:center;padding:50px}
.thanks p{color:var(--muted);font-size:1.08rem}

@media(max-width:900px){
  .nav-wrap{grid-template-columns:120px 1fr;gap:16px}
  .welcome{text-align:left;font-size:.94rem}
  .site-header nav{grid-column:1/-1;justify-content:flex-start;overflow-x:auto;padding:0 0 11px;gap:18px}
  .service-hero .container,.about-grid,.contact-grid{grid-template-columns:1fr}
  .cards,.project-grid{grid-template-columns:1fr 1fr}
  .service-points{border-left:0;border-top:1px solid #66502b;padding:18px 0 0}
}
@media(max-width:600px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .nav-wrap{grid-template-columns:88px 1fr;min-height:62px}
  .brand{height:52px}.brand img{width:82px;max-height:42px}
  .welcome{font-size:.82rem}
  .site-header nav{gap:16px;font-size:.76rem}
  .hero{min-height:570px}.hero-content{padding:80px 0}.hero h1{font-size:3.35rem}
  .hero-text{font-size:1rem}.section{padding:72px 0}
  .cards,.project-grid,.form-row{grid-template-columns:1fr}
  .contact-form,.quote-form{padding:23px}
  .footer-wrap{display:block}.footer-wrap>div:last-child{margin-top:10px}
}


/* Köpformulär */
.order-summary{
  margin-bottom:28px;
  padding:22px;
  border:1px solid #4b402d;
  background:linear-gradient(145deg,#151512,#0c0e0d);
}
.order-summary .eyebrow{margin-bottom:12px}
.order-product{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:24px;
  align-items:end;
}
.order-product span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.order-product strong{display:block;color:#eee8dd}
.binding-notice{
  margin-top:28px;
  padding:20px 22px;
  border-left:3px solid var(--gold);
  background:#15130f;
}
.binding-notice strong{display:block;margin-bottom:6px;color:#e2c68e}
.binding-notice p{margin:0;color:#bbb5aa;font-size:.92rem}
.consent-row{
  display:flex!important;
  align-items:flex-start;
  gap:11px;
  margin:20px 0 4px!important;
  cursor:pointer;
}
.consent-row input{
  width:18px!important;
  min-width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--gold);
}
.consent-row span{font-size:.9rem;color:#d2cdc3;line-height:1.5}
.order-form .button:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
}
@media(max-width:600px){
  .order-product{grid-template-columns:1fr;gap:14px}
}


/* Produktkort */
.product-card{overflow:hidden}
.product-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  background:#0a0b0b;
  padding:6px;
}
.product-gallery img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.product-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
}
.product-price{
  font-family:"Playfair Display",serif;
  font-size:1.65rem;
  color:#e2c68e;
}
@media(max-width:700px){
  .product-gallery{grid-template-columns:repeat(2,1fr)}
  .product-bottom{align-items:flex-start;flex-direction:column}
}

.button.is-disabled{
  background:#555!important;
  border-color:#666!important;
  color:#d0d0d0!important;
  opacity:.7;
  cursor:not-allowed!important;
  pointer-events:none;
  box-shadow:none;
}

.admin-wrap{max-width:1100px}
.admin-card{max-width:520px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.admin-panel{border:1px solid #3f392e;background:#111311;padding:24px}
.admin-panel h2{margin-top:0}
.admin-product{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #302d28}
.admin-product:last-child{border-bottom:0}
.admin-product span{display:block;color:#aaa;font-size:.85rem;margin-top:4px}
.admin-actions{display:flex;gap:8px;align-items:center}
.button-small{padding:9px 13px;font-size:.78rem}
.button.danger{border-color:#704b45;color:#e0b7ae}
@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.admin-product{align-items:flex-start;flex-direction:column}.admin-actions{width:100%}}

.product-price-wrap{display:flex;flex-direction:column;gap:2px}
.product-shipping{font-size:.78rem;color:#aaa}
.delivery-choice{border:1px solid #3f392e;padding:18px;margin:24px 0;background:#111311}
.delivery-choice legend{padding:0 8px;color:#d7c7a5;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.radio-row{display:flex!important;gap:12px;align-items:flex-start;margin:10px 0!important;cursor:pointer}
.radio-row input{width:18px!important;min-width:18px;margin-top:3px;accent-color:var(--gold)}
.radio-row span{display:flex;flex-direction:column;gap:2px}
.radio-row small{color:#aaa}
.order-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3f392e;border-bottom:1px solid #3f392e;padding:18px 0;margin:10px 0 24px}
.order-total span{color:#aaa;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.order-total strong{font-family:"Playfair Display",serif;font-size:1.8rem;color:#e2c68e}

.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center;gap:.65rem;cursor:pointer}.checkbox-row input{width:auto!important;margin:0}.checkbox-row span{margin:0}

.required-mark{color:#d7c7a5;font-weight:700}
.required-note{font-size:.82rem;color:#aaa;margin:-4px 0 18px}.required-note span{color:#d7c7a5;font-weight:700}
.address-section{border:1px solid #3f392e;padding:18px;margin:20px 0;background:#111311}.address-section legend{padding:0 8px;color:#d7c7a5;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.address-note{color:#aaa;font-size:.82rem;margin:0 0 14px}.is-disabled-address{opacity:.48}.is-disabled-address input{background:#242424;color:#777;cursor:not-allowed}.admin-help{display:block;color:#999;font-size:.78rem;margin:-7px 0 14px}

.same-address-row{display:flex;align-items:center;gap:.65rem;margin:.5rem 0 1rem;cursor:pointer}.same-address-row input{width:auto!important;margin:0}.shipping-address.is-disabled-address{opacity:.45}

.product-price.is-unavailable-price{text-decoration:line-through;color:#8a8a8a!important;opacity:.75}

/* Löpmeterprodukter */
.meter-order{margin:18px 0;padding:16px 18px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.025)}
.meter-order[hidden]{display:none}
.meter-order input{max-width:180px}

/* Dokumentlänkar */
.document-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.document-links .button{min-height:43px;padding:9px 16px;font-size:.88rem}
@media(max-width:600px){
  .document-links{display:grid;grid-template-columns:1fr}
  .document-links .button{width:100%}
}
