/*
Theme Name: URUZ
Theme URI: https://uruz.no
Author: URUZ AS
Description: Skreddersydd WooCommerce-tema for URUZ. Mørkt, nordisk apotek-uttrykk med Fraunces og Inter. Forside med hovedbilde og kjøpskort, produktside med nedtrekksfelt, og stilsatt handlekurv, kasse og Min side.
Version: 1.0.13
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: uruz
*/

:root {
  --obsidian: #1A1918;
  --pitch: #121110;
  --gold: #B8A178;
  --walnut: #8D6D36;
  --bone: #F1EADB;
  --text: #C9C2B3;
  --muted: #9A9284;
  --rule: #3A352C;
  --display: Fraunces, Georgia, 'Times New Roman', serif;
  --body: Inter, Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--pitch); color: var(--text); font-family: var(--body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
/* Sikring: sidebyggeres globale stiler skal ikke vinne over temaets bakgrunn og tekst. */
body[class*="theme-uruz"] { background: var(--pitch) !important; color: var(--text); font-family: var(--body); }
body[class*="theme-uruz"] > .elementor-motion-effects-container { display: none; }
img { display: block; max-width: 100%; }
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* Toppmeny */
.top { position: absolute; z-index: 5; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 18px clamp(18px, 4vw, 48px); }
.top img { width: 88px; height: 88px; }
.top nav { display: flex; gap: clamp(14px, 2.4vw, 32px); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; }
.top nav a { text-decoration: none; color: var(--bone); padding: 6px 0; border-bottom: 1px solid transparent; }
.top nav a:hover { border-bottom-color: var(--gold); }

/* Hero: bildet bærer alt */
.hero { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--pitch); }
.hero-bg { position: absolute; inset: -60px; background: url(images/hero-glass-blur.jpg) center / cover no-repeat; background-size: cover; background-position: center; filter: blur(36px) brightness(0.5); }
.hero-img { position: absolute; top: 0; left: 50%; height: 100%; width: auto; max-width: none; aspect-ratio: 4 / 5; transform: translateX(-50%); object-fit: cover;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 16%, #000 84%, transparent); mask-image: linear-gradient(to right, transparent, #000 16%, #000 84%, transparent);
  animation: drift 24s ease-in-out infinite alternate; }
.hero::before { content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 22%; background: linear-gradient(to bottom, rgba(18,17,16,0.7), rgba(18,17,16,0)); pointer-events: none; }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 38%; background: linear-gradient(to top, rgba(18,17,16,0.82), rgba(18,17,16,0)); pointer-events: none; }
.word { position: absolute; z-index: 2; bottom: clamp(44px, 7vh, 72px); margin: 0; font-family: var(--display); font-weight: 600; font-variation-settings: "opsz" 144; font-size: clamp(56px, 11vw, 190px); line-height: 0.86; letter-spacing: -0.02em; text-transform: uppercase; color: #fff; }
.word-l { left: clamp(16px, 3.5vw, 48px); animation: in-left 900ms cubic-bezier(.2,.7,.2,1) both; }
.word-r { right: clamp(16px, 3.5vw, 48px); animation: in-right 900ms cubic-bezier(.2,.7,.2,1) both; }
.scroll { position: absolute; z-index: 3; left: 50%; bottom: 16px; transform: translateX(-50%); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--bone); text-decoration: none; white-space: nowrap; padding: 6px 10px; }
.scroll:hover { color: var(--gold); }
@keyframes in-left { from { transform: translateX(-40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes in-right { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes drift { from { transform: translateX(-50%) scale(1); } to { transform: translateX(-50%) scale(1.05); } }

/* Ingress */
.lead { max-width: 760px; margin: 0 auto; padding: clamp(64px, 10vw, 120px) 24px clamp(40px, 6vw, 72px); text-align: center; }
.lead h1 { margin: 0; font-family: var(--display); font-weight: 300; font-size: clamp(30px, 4.4vw, 50px); line-height: 1.12; letter-spacing: -0.01em; color: var(--bone); }
.lead h1 em { color: var(--gold); }
.lead p { margin: 20px auto 0; max-width: 52ch; }

/* Kjøpskort */
.shop { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); display: grid; gap: clamp(20px, 3vw, 36px); }
.card { display: grid; grid-template-columns: 1fr 1fr; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; transition: transform 250ms ease, border-color 250ms ease; }
.card:hover { transform: translateY(-3px); border-color: var(--walnut); }
.card-photo { background: var(--walnut); min-height: 420px; }
.card-photo img { width: 100%; height: 100%; object-fit: cover; }
.card-flip .card-photo { order: 2; }
.card-info { display: flex; flex-direction: column; padding: clamp(24px, 3.4vw, 44px); }
.eyebrow { margin: 0; font-size: 11px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); }
.card-info h2 { margin: 10px 0 0; font-family: var(--display); font-weight: 600; font-variation-settings: "opsz" 144; font-size: clamp(48px, 6vw, 84px); line-height: 0.9; letter-spacing: -0.02em; text-transform: uppercase; color: var(--bone); }
.tagline { margin: 14px 0 0; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0 28px; }
.spec { border: 1px solid var(--rule); border-radius: 4px; padding: 14px 16px; }
.spec h3 { margin: 0 0 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bone); }
.spec ul { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.75; }
.spec p { margin: 0; font-size: 14px; line-height: 1.6; }
.buy { margin-top: auto; }
.cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; background: var(--bone); color: var(--pitch); text-decoration: none; padding: 17px 20px; border-radius: 3px; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; transition: background 200ms ease; }
.cta:hover { background: var(--gold); }
.cta span:last-child { letter-spacing: 0.02em; white-space: nowrap; }
.sub { display: inline-block; margin-top: 14px; font-size: 14px; color: var(--text); text-decoration: underline; text-decoration-color: var(--walnut); text-underline-offset: 4px; }
.sub:hover { color: var(--gold); }

/* Merkevarelinje og bunn */
.brand { max-width: 1120px; margin: clamp(56px, 8vw, 96px) auto 0; padding: 0 clamp(16px, 4vw, 40px); }
.brand p { margin: 0; padding: 20px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-align: center; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
footer { max-width: 1120px; margin: 0 auto; padding: 36px clamp(16px, 4vw, 40px) 48px; display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; font-size: 13px; color: var(--muted); }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
footer a { text-decoration: none; }
footer a:hover { color: var(--gold); }

@media (max-width: 820px) {
  .card { grid-template-columns: 1fr; }
  .card-flip .card-photo { order: 0; }
  .card-photo { min-height: 0; aspect-ratio: 1 / 1; }
}
@media (max-aspect-ratio: 4/5) {
  .hero-img { left: 0; width: 100%; transform: none; -webkit-mask-image: none; mask-image: none; animation: none; }
}
@media (max-width: 520px) {
  .top img { width: 60px; height: 60px; }
  .specs { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-img, .word-l, .word-r { animation: none; }
  .card { transition: none; }
  .card:hover { transform: none; }
}

/* Pakkekort */
.card-bundle { border-color: var(--walnut); }
.card-bundle .card-photo { position: relative; }
.was { color: var(--muted); text-decoration: line-through; font-weight: 500; margin-right: 10px; }
.cta .was { color: #6F695E; }
.frother { display: flex; gap: 14px; align-items: center; }
.frother img { width: 72px; height: 90px; object-fit: cover; border-radius: 3px; flex: none; }
.more { display: inline-block; margin-top: 18px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid transparent; }
.more:hover { border-bottom-color: var(--gold); }

/* Kommer snart */
.soon { max-width: 1120px; margin: clamp(56px, 8vw, 96px) auto 0; padding: 0 clamp(16px, 4vw, 40px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 36px); align-items: center; }
.soon h2 { margin: 8px 0 0; font-family: var(--display); font-weight: 300; font-size: clamp(28px, 3.6vw, 42px); line-height: 1.12; color: var(--bone); }
.soon p { margin: 14px 0 0; max-width: 46ch; }
.soon ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.soon li { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--rule); font-family: var(--display); font-size: 22px; color: var(--bone); }
.soon li span { font-family: var(--body); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); align-self: center; white-space: nowrap; }

/* Produktside */
.top-solid { position: static; border-bottom: 1px solid var(--rule); }
.crumb { max-width: 1120px; margin: 0 auto; padding: 22px clamp(16px, 4vw, 40px) 0; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.crumb a { text-decoration: none; }
.crumb a:hover { color: var(--gold); }
.pdp { max-width: 1120px; margin: 0 auto; padding: 22px clamp(16px, 4vw, 40px) 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.pdp-photo { position: sticky; top: 24px; border-radius: 6px; overflow: hidden; background: var(--walnut); border: 1px solid var(--rule); }
.pdp-photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.pdp-info h1 { margin: 10px 0 0; font-family: var(--display); font-weight: 600; font-variation-settings: "opsz" 144; font-size: clamp(64px, 9vw, 120px); line-height: 0.88; letter-spacing: -0.02em; text-transform: uppercase; color: var(--bone); }
.pitch { margin: 22px 0 0; font-family: var(--display); font-weight: 300; font-size: clamp(20px, 2.2vw, 25px); line-height: 1.35; color: var(--bone); }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 26px 0 0; border: 1px solid var(--rule); border-radius: 4px; }
.facts div { padding: 14px 12px; text-align: center; border-left: 1px solid var(--rule); }
.facts div:first-child { border-left: 0; }
.facts b { display: block; font-family: var(--display); font-weight: 400; font-size: 22px; color: var(--bone); }
.facts span { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.opts { margin: 26px 0 16px; padding: 0; border: 0; display: grid; gap: 10px; }
.opts legend { padding: 0; margin-bottom: 10px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bone); }
.opt-row { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--rule); border-radius: 4px; cursor: pointer; }
.opt-row:has(input:checked) { border-color: var(--gold); background: #211F1C; }
.opt-row input { accent-color: #B8A178; width: 18px; height: 18px; margin: 0; }
.opt-row strong { color: var(--bone); font-weight: 500; }
.opt-row .p { margin-left: auto; color: var(--bone); white-space: nowrap; }
.opt-row small { display: block; font-size: 13px; color: var(--muted); }
.note { margin: 14px 0 0; font-size: 14px; color: var(--muted); }
.use { margin: 26px 0 0; padding: 16px 18px; border-left: 2px solid var(--walnut); background: var(--obsidian); font-size: 15px; }
.use b { color: var(--bone); font-weight: 500; }

/* Nedtrekksfelt */
.acc { max-width: 1120px; margin: clamp(48px, 7vw, 88px) auto 0; padding: 0 clamp(16px, 4vw, 40px); }
.acc details { border-top: 1px solid var(--rule); }
.acc details:last-child { border-bottom: 1px solid var(--rule); }
.acc summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; cursor: pointer; list-style: none; font-family: var(--display); font-weight: 400; font-size: clamp(21px, 2.4vw, 27px); color: var(--bone); }
.acc summary::-webkit-details-marker { display: none; }
.acc summary::after { content: "+"; font-family: var(--body); font-weight: 400; font-size: 24px; color: var(--gold); }
.acc details[open] summary::after { content: "–"; }
.acc summary:hover { color: var(--gold); }
.acc-body { padding: 0 0 28px; max-width: 760px; }
.acc-body h3 { margin: 18px 0 4px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }
.acc-body p { margin: 0 0 10px; }
.acc-body ul { margin: 0; padding-left: 18px; }
.acc-body li { margin-bottom: 8px; }
.nutri { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 8px; }
.nutri td { padding: 9px 0; border-bottom: 1px solid var(--rule); }
.nutri td:last-child { text-align: right; color: var(--bone); white-space: nowrap; }
.small { font-size: 13px; color: var(--muted); }

/* Se også */
.also { max-width: 1120px; margin: clamp(48px, 7vw, 88px) auto 0; padding: 0 clamp(16px, 4vw, 40px); }
.also > .eyebrow { margin-bottom: 18px; }
.also-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 28px); }
.mini { display: grid; grid-template-columns: 140px 1fr; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; text-decoration: none; transition: border-color 250ms ease; }
.mini:hover { border-color: var(--walnut); }
.mini img { width: 100%; height: 100%; object-fit: cover; }
.mini div { padding: 18px 20px; }
.mini h3 { margin: 6px 0 4px; font-family: var(--display); font-weight: 600; font-size: 30px; line-height: 1; text-transform: uppercase; color: var(--bone); }
.mini p { margin: 0; font-size: 14px; color: var(--text); }
.mini .p { margin-top: 10px; color: var(--gold); }

@media (max-width: 820px) {
  .soon { grid-template-columns: 1fr; }
  .pdp { grid-template-columns: 1fr; }
  .pdp-photo { position: static; }
  .pdp-photo img { aspect-ratio: 5 / 4; }
  .also-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .mini { grid-template-columns: 110px 1fr; }
  .facts b { font-size: 18px; }
}

/* Tekstsider */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.doc { max-width: 760px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) 24px 0; }
.doc h1, .co h1 { margin: 10px 0 0; font-family: var(--display); font-weight: 300; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; letter-spacing: -0.01em; color: var(--bone); }
.doc-body { margin-top: 28px; }
.doc-body h2 { margin: 34px 0 8px; font-family: var(--display); font-weight: 400; font-size: 24px; line-height: 1.25; color: var(--bone); }
.doc-body p { margin: 0 0 12px; }
.doc-body ul { margin: 0 0 12px; padding-left: 20px; }
.doc-body li { margin-bottom: 6px; }
.doc-body a, .small a, .empty a, .banner a { color: var(--gold); text-underline-offset: 3px; }
.doc-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 44px; padding: 20px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; }
.doc-nav a { text-decoration: none; color: var(--muted); }
.doc-nav a:hover { color: var(--gold); }

/* Om URUZ og kontakt */
.about { max-width: 1120px; margin: 0 auto; padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 40px) 0; display: grid; grid-template-columns: 5fr 6fr; gap: clamp(24px, 5vw, 72px); align-items: start; }
.about-photo { border-radius: 6px; overflow: hidden; border: 1px solid var(--rule); }
.about-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.about-text h1, .lead-page h1 { margin: 10px 0 22px; font-family: var(--display); font-weight: 300; font-size: clamp(34px, 4.6vw, 54px); line-height: 1.08; letter-spacing: -0.01em; color: var(--bone); }
.about-text h1 em { color: var(--gold); }
.about-text p { margin: 0 0 14px; max-width: 56ch; }
.pull { margin-top: 26px !important; padding-top: 22px; border-top: 1px solid var(--rule); font-family: var(--display); font-style: italic; font-weight: 300; font-size: 22px; line-height: 1.4; color: var(--gold); }
.contact { max-width: 1120px; margin: clamp(56px, 8vw, 96px) auto 0; padding: clamp(28px, 4vw, 44px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; width: calc(100% - 2 * clamp(16px, 4vw, 40px)); }
.contact h2 { margin: 8px 0 10px; font-family: var(--display); font-weight: 300; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; color: var(--bone); }
.contact p { margin: 0; }
.contact-card .small { margin-top: 16px; line-height: 1.6; }
.contact .cta span:last-child { text-transform: none; font-weight: 500; }

/* FAQ */
.lead-page { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(24px, 4vw, 40px); }
.lead-page h1 { margin-bottom: 0; }
.acc-tight { margin-top: 0; max-width: 840px; }
.acc-tight .acc-body p { margin-bottom: 4px; }

/* Handlekurv og kasse */
.banner { margin: 0; padding: 10px 20px; text-align: center; font-size: 13px; background: var(--obsidian); border-bottom: 1px solid var(--rule); color: var(--muted); }
.co { max-width: 1120px; margin: 0 auto; padding: clamp(32px, 5vw, 56px) clamp(16px, 4vw, 40px) 0; display: grid; grid-template-columns: 1fr 380px; gap: clamp(24px, 4vw, 56px); align-items: start; }
.co h2 { margin: 40px 0 16px; font-family: var(--display); font-weight: 400; font-size: 26px; color: var(--bone); }
.lines { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.line { display: grid; grid-template-columns: 88px 1fr auto 96px; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.line img { width: 88px; height: 88px; object-fit: cover; border-radius: 4px; }
.line-name strong { display: block; font-family: var(--display); font-weight: 600; font-size: 26px; line-height: 1; text-transform: uppercase; color: var(--bone); }
.line-name small { display: block; margin-top: 6px; font-size: 13px; color: var(--muted); }
.line-sum { text-align: right; color: var(--bone); white-space: nowrap; }
.qty { display: flex; align-items: center; border: 1px solid var(--rule); border-radius: 4px; }
.qty button { width: 38px; height: 38px; background: none; border: 0; color: var(--bone); font-size: 18px; cursor: pointer; }
.qty button:hover { color: var(--gold); }
.qty output { min-width: 26px; text-align: center; color: var(--bone); }
.empty { padding: 24px 0; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fields label { display: block; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.fields .f-wide { grid-column: 1 / -1; }
.fields input { display: block; width: 100%; margin-top: 6px; padding: 13px 14px; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 4px; color: var(--bone); font: inherit; font-size: 16px; letter-spacing: 0; text-transform: none; }
.fields input::placeholder { color: #6F695E; }
.fields input:focus { outline: none; border-color: var(--gold); }
.co .opts { margin-top: 0; }
.co-sum { position: sticky; top: 24px; padding: 26px; background: var(--obsidian); border: 1px solid var(--walnut); border-radius: 6px; }
.co-sum h2 { margin: 0 0 14px; }
.co-sum dl { margin: 0 0 20px; }
.co-sum dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--rule); font-size: 15px; }
.co-sum dd { margin: 0; text-align: right; color: var(--bone); }
.co-sum .total { border-bottom: 0; padding-top: 16px; }
.co-sum .total dt { color: var(--bone); }
.co-sum .total dd { font-family: var(--display); font-size: 28px; }
.co-sum .small { margin: 14px 0 0; line-height: 1.55; }

@media (max-width: 900px) {
  .co { grid-template-columns: 1fr; }
  .co-sum { position: static; }
}
@media (max-width: 820px) {
  .about { grid-template-columns: 1fr; }
  .about-photo img { aspect-ratio: 5 / 4; object-position: center 35%; }
  .contact { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .line { grid-template-columns: 64px 1fr auto; gap: 12px; }
  .line img { width: 64px; height: 64px; }
  .line-sum { grid-column: 2 / -1; text-align: left; }
  .fields { grid-template-columns: 1fr; }
}

/* ---------- Tilpasninger for WordPress ---------- */
a.card-photo { display: block; }
.card-info h2 a, .soon li a { text-decoration: none; }
.soon li a:hover, .card-info h2 a:hover { color: var(--gold); }
.specs-one { grid-template-columns: 1fr; }
.lead h1 em { font-style: italic; }
.doc-wide { max-width: 1120px; }
.doc-body img { height: auto; border-radius: 4px; }
.doc-body h1, .doc-body h3, .doc-body h4 { margin: 28px 0 8px; font-family: var(--display); font-weight: 400; font-size: 22px; line-height: 1.25; color: var(--bone); }
.doc-body table { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 15px; }
.doc-body th, .doc-body td { padding: 9px 8px 9px 0; border-bottom: 1px solid var(--rule); text-align: left; }
.doc-body th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.acc .doc-body { margin-top: 0; max-width: none; }
.acc .acc-body table { margin-top: 6px; }
.about-text h1 + p { margin-top: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- WooCommerce: felles ---------- */
.woocommerce-notices-wrapper { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.shop .woocommerce-notices-wrapper, .doc .woocommerce-notices-wrapper { padding: 0; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { list-style: none; margin: 16px 0; padding: 14px 18px; background: var(--obsidian); border: 1px solid var(--rule); border-left: 2px solid var(--gold); border-radius: 0 4px 4px 0; color: var(--bone); font-size: 15px; }
.woocommerce-error { border-left-color: #C4583F; }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 16px; padding: 6px 12px; font-size: 11px; }

.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button, .wc-block-components-button, .wp-element-button, button[type="submit"] {
  display: inline-block; background: var(--bone); color: var(--pitch); border: 0; border-radius: 3px; padding: 15px 22px; font-family: var(--body); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background 200ms ease; }
.woocommerce .button:hover, .woocommerce button.button:hover, .wc-block-components-button:hover, .wp-element-button:hover, button[type="submit"]:hover { background: var(--gold); color: var(--pitch); }
.woocommerce .button.disabled, .woocommerce .button:disabled { background: var(--rule); color: var(--muted); cursor: not-allowed; }

.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"], .woocommerce input[type="number"], .woocommerce input[type="search"], .woocommerce textarea, .woocommerce select, .input-text,
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-blocks-components-select__select, .wc-block-components-combobox .components-combobox-control__input {
  width: 100%; padding: 13px 14px; background: var(--obsidian) !important; border: 1px solid var(--rule) !important; border-radius: 4px; color: var(--bone) !important; font: inherit; font-size: 16px; }
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus, .wc-block-components-text-input input:focus { outline: none; border-color: var(--gold) !important; box-shadow: none !important; }
.woocommerce form .form-row label, .wc-block-components-text-input label, .wc-blocks-components-select__label { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted) !important; }
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .required { color: var(--gold); text-decoration: none; }
.select2-container--default .select2-selection--single { height: 48px; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 4px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; color: var(--bone); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-dropdown { background: var(--obsidian); border-color: var(--rule); color: var(--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--walnut); color: #fff; }
.select2-container--default .select2-search--dropdown .select2-search__field { background: var(--pitch); border-color: var(--rule); color: var(--bone); }

/* ---------- Produktside: pris og kjøp ---------- */
.pdp-buy { margin-top: 26px; }
.pdp-buy .price { margin: 0 0 16px; font-family: var(--display); font-size: 26px; line-height: 1.3; color: var(--bone); }
.price del { color: var(--muted); font-size: 0.8em; }
.price ins { text-decoration: none; }
.pdp-buy .stock { margin: 0 0 14px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.pdp-buy .stock.out-of-stock { color: var(--muted); }
.pdp-buy form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
.pdp-buy form.cart > * { flex-basis: 100%; }
.pdp-buy form.cart .quantity { flex: 0 0 92px; }
.pdp-buy form.cart .quantity .qty { height: 100%; min-height: 50px; text-align: center; }
.pdp-buy form.cart .single_add_to_cart_button { flex: 1 1 200px; padding: 17px 20px; }
.pdp-buy table { width: 100%; border-collapse: collapse; margin: 0 0 8px; font-size: 14px; }
.pdp-buy th, .pdp-buy td { padding: 9px 8px 9px 0; border-bottom: 1px solid var(--rule); text-align: left; }
.pdp-buy th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.pdp-buy ul { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 10px; }
.pdp-buy ul li { padding: 14px 16px; border: 1px solid var(--rule); border-radius: 4px; }
.pdp-buy ul li:has(input:checked) { border-color: var(--gold); background: #211F1C; }
.pdp-buy input[type="radio"], .woocommerce input[type="radio"], .woocommerce input[type="checkbox"] { accent-color: #B8A178; width: 18px; height: 18px; vertical-align: -3px; margin-right: 8px; }
.pdp-photo img { display: block; }
.onsale { display: none; }

/* ---------- Handlekurv og kasse (klassisk) ---------- */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 24px; border-top: 1px solid var(--rule); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woocommerce table.shop_table .product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; }
.woocommerce table.shop_table .product-name a { font-family: var(--display); font-size: 20px; color: var(--bone); text-decoration: none; }
.woocommerce table.shop_table .product-remove a { color: var(--muted); text-decoration: none; font-size: 22px; }
.woocommerce table.shop_table .product-remove a:hover { color: var(--gold); }
.woocommerce table.shop_table .quantity .qty { width: 76px; text-align: center; }
.woocommerce table.shop_table td.actions { padding-right: 0; }
.woocommerce .coupon { display: flex; gap: 10px; max-width: 420px; }
.woocommerce .coupon label { display: none; }
.woocommerce td.actions > .button { float: right; }
.woocommerce .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce .cart_totals, .woocommerce #order_review, .woocommerce-checkout-review-order { width: 100%; max-width: 460px; padding: 26px; background: var(--obsidian); border: 1px solid var(--walnut); border-radius: 6px; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-account h2, .woocommerce-account h3, #order_review_heading { margin: 0 0 14px; font-family: var(--display); font-weight: 400; font-size: 26px; color: var(--bone); }
.woocommerce .cart_totals table.shop_table, .woocommerce #order_review table.shop_table { border-top: 0; margin-bottom: 16px; }
.woocommerce .order-total .amount { font-family: var(--display); font-size: 26px; color: var(--bone); }
.woocommerce .wc-proceed-to-checkout .button, .woocommerce #place_order { display: block; width: 100%; text-align: center; padding: 17px 20px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1fr 460px; gap: clamp(24px, 4vw, 56px); align-items: start; }
.woocommerce-checkout form.checkout > .col2-set, .woocommerce-checkout #customer_details { width: auto; float: none; grid-column: 1; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; align-self: end; display: none; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 24px; max-width: none; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: calc(50% - 7px); float: left; }
.woocommerce-checkout .form-row-last { float: right; }
.woocommerce-checkout .form-row-wide, .woocommerce-checkout .woocommerce-additional-fields { clear: both; }
.woocommerce ul.payment_methods, .woocommerce ul.wc_payment_methods { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; }
.woocommerce ul.payment_methods li { padding: 14px 16px; border: 1px solid var(--rule); border-radius: 4px; }
.woocommerce ul.payment_methods li:has(input:checked) { border-color: var(--gold); }
.woocommerce ul.payment_methods li img { display: inline-block; max-height: 22px; margin-left: 8px; vertical-align: middle; }
.woocommerce .payment_box { margin-top: 10px; font-size: 14px; color: var(--muted); }
.woocommerce .payment_box p { margin: 0; }
.woocommerce-terms-and-conditions-wrapper { margin: 0 0 16px; font-size: 14px; }
.woocommerce-terms-and-conditions-wrapper a, .woocommerce-info a, .woocommerce-message a:not(.button), .woocommerce-account a:not(.button) { color: var(--gold); }
.woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.cart-empty, .return-to-shop { text-align: center; }

/* ---------- Handlekurv og kasse (blokker) ---------- */
.wc-block-cart, .wc-block-checkout { color: var(--text); }
.wc-block-components-sidebar { padding: 26px !important; background: var(--obsidian); border: 1px solid var(--walnut); border-radius: 6px; }
.wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-title, .wc-block-components-checkout-step__title { color: var(--bone) !important; }
.wc-block-components-product-name { font-family: var(--display); font-size: 20px; text-decoration: none; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--display); font-size: 26px; color: var(--bone); }
.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th, .wc-block-components-totals-wrapper, .wc-block-components-panel { border-color: var(--rule) !important; }
.wc-block-components-quantity-selector { border: 1px solid var(--rule) !important; border-radius: 4px; background: transparent; }
.wc-block-components-quantity-selector::after { border: 0 !important; }
.wc-block-components-quantity-selector input, .wc-block-components-quantity-selector button { color: var(--bone) !important; background: transparent !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--rule) !important; }
.wc-block-components-radio-control__input { accent-color: #B8A178; }
.wc-block-components-checkbox__input { background: var(--obsidian) !important; border-color: var(--rule) !important; }
.wc-block-components-checkbox__mark { fill: var(--gold); }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; padding: 17px 20px !important; }
.wc-block-components-address-card, .wc-block-components-shipping-rates-control__package, .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option { background: transparent; border-color: var(--rule) !important; color: var(--text); }
.wc-block-components-form .wc-block-components-text-input label { background: transparent; }

/* ---------- Min side ---------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.woocommerce-account .woocommerce:has(form.login) { display: block; max-width: 480px; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 13px 0; border-bottom: 1px solid var(--rule); text-decoration: none; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { color: var(--gold); }
.woocommerce form.login, .woocommerce form.register { padding: 26px; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; }

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce .cart_totals { max-width: none; }
}
@media (max-width: 600px) {
  .woocommerce table.shop_table_responsive thead { display: none; }
  .woocommerce table.shop_table_responsive tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--rule); }
  .woocommerce table.shop_table_responsive td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border: 0; text-align: right; }
  .woocommerce table.shop_table_responsive td::before { content: attr(data-title); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
  .woocommerce table.shop_table_responsive td.product-thumbnail::before, .woocommerce table.shop_table_responsive td.actions::before, .woocommerce table.shop_table_responsive td.product-remove::before { content: none; }
  .woocommerce .coupon { max-width: none; margin-bottom: 10px; }
  .woocommerce td.actions > .button { float: none; width: 100%; }
  .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100%; float: none; }
}

/*
 * Abonnementsvalget på produktsiden. Butikken har en egen CSS-bit («ABONNEMENTSOMRÅDET»)
 * laget for lys bakgrunn, med !important. Her får de samme kortene temaets mørke farger.
 */
body[class*="theme-uruz"].single-product .wcsatt-options-prompt-text { color: var(--bone) !important; font-weight: 600 !important; }
body[class*="theme-uruz"].single-product .wcsatt-options-prompt-radio > label,
body[class*="theme-uruz"].single-product .wcsatt-options-product > li > label { border: 1px solid var(--rule) !important; border-radius: 6px !important; background: var(--obsidian) !important; color: var(--text); }
body[class*="theme-uruz"].single-product .wcsatt-options-prompt-radio > label:hover,
body[class*="theme-uruz"].single-product .wcsatt-options-product > li > label:hover { border-color: var(--walnut) !important; box-shadow: none; }
body[class*="theme-uruz"].single-product .wcsatt-options-prompt-radio:has(input:checked) > label,
body[class*="theme-uruz"].single-product .wcsatt-options-product > li:has(input:checked) > label { border: 1px solid var(--gold) !important; background: #211F1C !important; box-shadow: none; }
body[class*="theme-uruz"].single-product .wcsatt-options-prompt-action-input,
body[class*="theme-uruz"].single-product .wcsatt-options-product input[type="radio"] { accent-color: var(--gold); }
body[class*="theme-uruz"].single-product .uruz-plan-title { color: var(--bone); font-weight: 600; }
body[class*="theme-uruz"].single-product .uruz-plan-badge { border-color: var(--walnut); background: rgba(184, 161, 120, 0.12); color: var(--gold); }
body[class*="theme-uruz"].single-product .uruz-plan-price,
body[class*="theme-uruz"].single-product .uruz-new-price { color: var(--gold) !important; }
body[class*="theme-uruz"].single-product .uruz-old-price,
body[class*="theme-uruz"].single-product .uruz-arrow,
body[class*="theme-uruz"].single-product .uruz-plan-small,
body[class*="theme-uruz"].single-product .uruz-benefit-recurring { color: var(--muted); }
body[class*="theme-uruz"].single-product .uruz-plan-benefits { border-top-color: var(--rule); color: var(--text); }
body[class*="theme-uruz"].single-product .uruz-check,
body[class*="theme-uruz"].single-product .uruz-benefit-highlight strong { color: var(--gold); }
body[class*="theme-uruz"].single-product .uruz-benefit-highlight { background: rgba(184, 161, 120, 0.10); color: var(--text); }
body[class*="theme-uruz"].single-product .uruz-benefit-recurring strong { color: var(--bone); }
body[class*="theme-uruz"].single-product .single_add_to_cart_button { border-radius: 3px !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: none; }

/* Meldinger fra WooCommerce. 10Web Builder gir dem lys bakgrunn og eget ikon; temaet holder dem mørke. */
body[class*="theme-uruz"] .woocommerce-message,
body[class*="theme-uruz"] .woocommerce-info,
body[class*="theme-uruz"] .woocommerce-error { background: var(--obsidian); border: 1px solid var(--rule); border-left: 2px solid var(--gold); border-radius: 0 4px 4px 0; color: var(--bone); padding: 14px 18px; }
body[class*="theme-uruz"] .woocommerce-message::before,
body[class*="theme-uruz"] .woocommerce-info::before,
body[class*="theme-uruz"] .woocommerce-error::before { content: none; display: none; }
body[class*="theme-uruz"] .woocommerce-info a,
body[class*="theme-uruz"] .woocommerce-message a { color: var(--gold); }

/* Bilder i innhold fra sidebyggeren har fast høyde i HTML-en. De skal aldri strekkes. */
main img { height: auto; }
.about-photo img { height: auto; }
/* Om oss: malen har ett hovedbilde. Bilder som ligger igjen i selve teksten vises ikke. */
.about-text img, .about-text figure { display: none; }
@media (min-width: 821px) { .about-photo { position: sticky; top: 24px; } }

/* ---------- 1.0.8 ---------- */

/* Innlogget: WordPress-linjen skal ikke dekke toppen på forsiden. */
body.admin-bar .top:not(.top-solid) { top: 32px; }
@media (max-width: 782px) { body.admin-bar .top:not(.top-solid) { top: 46px; } }

/* Meny på smale skjermer: alle punktene vises. Handlekurven blir et ikon, så det er plass. */
.top nav { align-items: center; }
@media (max-width: 820px) {
  .top { padding: 12px 16px; gap: 10px; }
  .top nav { gap: 14px; font-size: 11px; letter-spacing: 0.1em; flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 380px) {
  .top img { width: 48px; height: 48px; }
  .top nav { gap: 10px; font-size: 10px; letter-spacing: 0.06em; }
}

/* Butikkens egen nedtrekkskurv (kodebiten «Uruz cart Dropdown») i temaets meny og farger. */
.top .uruz-cart-dd { z-index: 50; }
.top .uruz-cart-btn { gap: 6px; padding: 6px 0; border-radius: 0; border-bottom: 1px solid transparent; color: var(--bone); font: inherit; letter-spacing: inherit; text-transform: inherit; }
.top .uruz-cart-btn:hover { background: transparent; border-bottom-color: var(--gold); }
.top .uruz-cart-ico { display: none; width: 22px; height: 22px; }
.top .uruz-cart-count { position: static; min-width: 0; height: auto; padding: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.top .uruz-cart-count::before { content: "("; }
.top .uruz-cart-count::after { content: ")"; }
@media (max-width: 820px) {
  .top .kurv-tekst { display: none; }
  .top .uruz-cart-ico { display: block; }
  .top .uruz-cart-btn { padding: 6px; border-bottom: 0; }
  .top .uruz-cart-count { position: absolute; top: -4px; right: -6px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--gold); color: var(--pitch); font-size: 10px; font-weight: 700; line-height: 16px; letter-spacing: 0; }
  .top .uruz-cart-count::before, .top .uruz-cart-count::after { content: none; }
}
.uruz-cart-panel { text-transform: none; letter-spacing: 0; font-size: 15px; text-align: left; }
body[class*="theme-uruz"] .uruz-minicart-wrap { background: var(--obsidian) !important; border: 1px solid var(--walnut) !important; border-radius: 6px !important; box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55) !important; color: var(--text); }
body[class*="theme-uruz"] .uruz-mc-item { border-bottom-color: var(--rule) !important; }
body[class*="theme-uruz"] .uruz-mc-thumb img { border-radius: 4px !important; }
body[class*="theme-uruz"] .uruz-mc-title { font-family: var(--display); font-weight: 400; font-size: 17px; color: var(--bone); }
body[class*="theme-uruz"] .uruz-mc-qty, body[class*="theme-uruz"] .uruz-mc-price, body[class*="theme-uruz"] .uruz-mc-total { font-weight: 500; color: var(--bone); }
body[class*="theme-uruz"] .uruz-mc-btn { width: 36px; height: 36px; border: 1px solid var(--rule); border-radius: 4px; background: transparent; color: var(--bone); box-shadow: none; font-weight: 400; }
body[class*="theme-uruz"] .uruz-mc-btn:hover { border-color: var(--gold); filter: none; }
body[class*="theme-uruz"] .uruz-mc-remove { width: 36px; height: 36px; border-radius: 4px; background: transparent; color: var(--muted); font-weight: 400; }
body[class*="theme-uruz"] .uruz-mc-remove:hover { background: transparent; color: var(--bone); }
body[class*="theme-uruz"] .uruz-mc-buttons a { border-radius: 3px !important; padding: 14px !important; font-size: 12px; font-weight: 600 !important; letter-spacing: 0.12em; text-transform: uppercase; }
body[class*="theme-uruz"] .uruz-mc-buttons a.uruz-btn-cart { background: transparent !important; color: var(--bone) !important; border-color: var(--rule) !important; }
body[class*="theme-uruz"] .uruz-mc-buttons a.uruz-btn-checkout { background: var(--bone) !important; color: var(--pitch) !important; }
body[class*="theme-uruz"] .uruz-mc-undo-bar { background: transparent; border-color: var(--rule); border-radius: 4px; color: var(--text); }
/* Den eldre reservekurven (lys boks med feilmelding) skal ikke vises når den ekte kurven finnes. */
body[class*="theme-uruz"] #uruz-fragment-minicart { display: none !important; }

/* Kommer snart: navn uten lenke. */
.soon li .soon-navn { font-family: var(--display); font-size: 22px; letter-spacing: 0; text-transform: none; color: var(--bone); }

/* Handlekurv: Vipps Express som egen knapp med luft til «Oppdater handlekurv». */
.woocommerce td.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce td.actions .coupon { margin-right: auto; }
.woocommerce td.actions > .button { float: none; order: 2; }
.woocommerce td.actions .vipps-express-checkout { order: 3; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; }
.woocommerce .coupon .input-text { min-width: 150px; }
@media (max-width: 820px) {
  .woocommerce td.actions { display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; }
  .woocommerce td.actions .coupon { margin-right: 0; }
  .woocommerce td.actions .vipps-express-checkout { width: 100%; }
  .woocommerce td.actions .vipps-express-checkout > * { width: 100%; }
}

/* Frakt i handlekurv og kasse: valgene får hele bredden under ledeteksten, og Posten-boksen holder seg i rammen. */
.woocommerce .cart_totals tr.woocommerce-shipping-totals th,
.woocommerce .cart_totals tr.woocommerce-shipping-totals td,
.woocommerce #order_review tr.woocommerce-shipping-totals th,
.woocommerce #order_review tr.woocommerce-shipping-totals td { display: block; width: 100%; text-align: left; }
.woocommerce .cart_totals tr.woocommerce-shipping-totals th,
.woocommerce #order_review tr.woocommerce-shipping-totals th { padding-bottom: 0; border-bottom: 0; }
.woocommerce ul#shipping_method li { margin: 0 0 12px; }
.woocommerce ul#shipping_method li label { display: inline; }
.woocommerce-shipping-totals td > *, .woocommerce ul#shipping_method li > * { max-width: 100%; }
.posten-bring-checkout-container { max-width: 100%; box-sizing: border-box; overflow: hidden; }
.posten-bring-checkout-container img { display: inline-block; height: auto; max-width: 100%; }
.posten-bring-checkout-container .logo { width: 82px; }
.posten-bring-checkout-container .points_badge { max-width: 110px; }
.posten-bring-checkout-container .points_earned img { max-width: 20px !important; }
.posten-bring-checkout-container .environmental img { height: 27px; width: auto; }

/* ---------- 1.0.9 ---------- */

/* Handlekurv: tabellen over, totalboksen under i full bredde. Da får bilde og tekst plass,
   og Posten-boksen (som ligger i sin egen skygge-DOM) får hele kolonnen. */
.woocommerce-cart .woocommerce-cart-form { width: 100%; }
.woocommerce-cart .cart-collaterals { display: flex; flex-direction: column; align-items: flex-end; width: 100%; }
.woocommerce-cart .cart_totals { float: none; width: 100%; max-width: 520px; }
.woocommerce table.shop_table td.product-thumbnail { width: 88px; }
.woocommerce table.shop_table .product-thumbnail img { width: 72px; min-width: 72px; height: 72px; }
.woocommerce table.shop_table td.product-name { width: auto; }
.woocommerce .cart_totals table.shop_table { table-layout: fixed; }
.woocommerce .cart_totals table.shop_table th { width: 38%; }
.woocommerce .cart_totals table.shop_table td { text-align: right; }
.woocommerce .cart_totals tr.woocommerce-shipping-totals td { text-align: left; }
.woocommerce .cart_totals .amount { white-space: nowrap; }
.woocommerce .cart_totals ul#shipping_method li label { display: inline; }
.woocommerce .cart_totals ul#shipping_method li input { vertical-align: middle; margin: 0 8px 0 0; }
.woocommerce .cart_totals ul#shipping_method li div[id*="posten-bring-checkout"] { width: 100%; max-width: 100%; margin: 8px 0 4px; }
.woocommerce .cart_totals .woocommerce-shipping-destination { margin: 8px 0; }
.woocommerce .cart_totals .wc-proceed-to-checkout { padding: 0; margin-top: 12px; }
.woocommerce .cart_totals .wc-proceed-to-checkout .button { width: 100%; text-align: center; }

/* Handlekurv: pluss og minus rundt antallsfeltet. */
.woocommerce table.shop_table .quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--rule); border-radius: 4px; overflow: hidden; }
.woocommerce table.shop_table .quantity .qty { width: 52px; border: 0 !important; border-radius: 0; background: transparent !important; -moz-appearance: textfield; }
.woocommerce table.shop_table .quantity .qty::-webkit-outer-spin-button, .woocommerce table.shop_table .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.uruz-qty-btn { width: 40px; border: 0; background: var(--obsidian); color: var(--bone); font-size: 18px; line-height: 1; cursor: pointer; }
.uruz-qty-btn:hover { background: #2A2825; }

/* Handlekurv, mobil: bildet vises, ledeteksten «Leveranse:» dobles ikke, knappene i full bredde. */
@media (max-width: 600px) {
  .woocommerce table.shop_table_responsive td.product-thumbnail { display: block; padding-top: 0; }
  .woocommerce table.shop_table_responsive td.product-thumbnail img { width: 96px; height: 96px; }
  .woocommerce table.shop_table_responsive td.product-name { text-align: left; }
  .woocommerce .cart_totals table.shop_table_responsive td::before { content: none; }
  .woocommerce .cart_totals table.shop_table_responsive td { display: block; text-align: left; }
  .woocommerce .cart_totals table.shop_table_responsive th { display: block; padding-bottom: 4px; border-bottom: 0; }
  .woocommerce .cart_totals table.shop_table_responsive tr { border-bottom: 1px solid var(--rule); }
  .woocommerce .cart_totals table.shop_table_responsive tr.order-total td { font-size: 22px; }
  .woocommerce td.actions .vipps-express-checkout, .woocommerce td.actions .vipps-express-checkout vipps-mobilepay-button { display: block; width: 100%; }
}
/* Handlekurvtabellen: faste kolonnebredder, så «Slett»-kolonnen ikke tar halve bredden. */
.woocommerce table.shop_table.cart { table-layout: fixed; }
.woocommerce table.shop_table.cart th.product-remove { width: 32px; }
.woocommerce table.shop_table.cart th.product-thumbnail { width: 88px; }
.woocommerce table.shop_table.cart th.product-price, .woocommerce table.shop_table.cart th.product-subtotal { width: 110px; }
.woocommerce table.shop_table.cart th.product-quantity { width: 150px; }
.woocommerce table.shop_table.cart td.product-price, .woocommerce table.shop_table.cart td.product-subtotal { white-space: nowrap; }
.woocommerce table.shop_table .product-name a { font-size: 18px; }
@media (max-width: 600px) {
  .woocommerce table.shop_table.cart { table-layout: auto; }
}

/* 1.0.11: handlingsraden i kurven skal ikke arve kolonnebredden fra fast tabelloppsett. */
.woocommerce table.shop_table.cart tr:has(> td.actions) { display: table-row; }
.woocommerce table.shop_table.cart td.actions { display: table-cell; width: auto; }
.woocommerce table.shop_table.cart td.actions > * { display: inline-flex; vertical-align: middle; margin: 0 12px 0 0; }
.woocommerce table.shop_table.cart td.actions .coupon { margin-right: auto; }
@media (max-width: 820px) {
  .woocommerce table.shop_table.cart td.actions { display: flex !important; }
  .woocommerce table.shop_table.cart td.actions > * { margin: 0; }
}
/* Mobil: fraktvalgene venstrestilt. */
@media (max-width: 600px) {
  .woocommerce .cart_totals ul#shipping_method li, .woocommerce .cart_totals ul#shipping_method li label, .woocommerce .cart_totals .woocommerce-shipping-destination { text-align: left; }
  .woocommerce .cart_totals ul#shipping_method li { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; }
  .woocommerce .cart_totals ul#shipping_method li label { flex: 1 1 200px; }
  .woocommerce .cart_totals .uruz-shipping-note { display: block; }
}
/* 1.0.12: totalboksen får ordentlig bredde (WooCommerce har float: right med høyere vekt), og
   fraktraden brytes ut av tabelloppsettet så Posten-boksen får hele bredden. */
.woocommerce-cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; max-width: 560px; }
.woocommerce .cart_totals table.shop_table { table-layout: auto; }
.woocommerce .cart_totals table.shop_table td, .woocommerce .cart_totals table.shop_table th { white-space: normal; }
.woocommerce .cart_totals tr.woocommerce-shipping-totals { display: block; }
.woocommerce .cart_totals tr.woocommerce-shipping-totals th, .woocommerce .cart_totals tr.woocommerce-shipping-totals td { display: block; width: auto; text-align: left; }
.woocommerce .cart_totals ul#shipping_method li { display: block; }
.woocommerce .cart_totals ul#shipping_method li div[id*="posten-bring-checkout"] { width: 100%; }

/* ---------- 1.0.13 ---------- */
/* Ingredienstabeller på produktsidene (bygges av uruz.js fra løpende tekst). */
.ingr-boks { margin: 14px 0 22px; padding: 6px 18px 10px; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; }
table.ingr { width: 100%; border-collapse: collapse; margin: 0; font-size: 15px; }
table.ingr th { padding: 12px 0 8px; border-bottom: 1px solid var(--walnut); text-align: left; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }
table.ingr td { padding: 9px 0; border-bottom: 1px solid var(--rule); vertical-align: top; color: var(--text); }
table.ingr tr:last-child td { border-bottom: 0; }
table.ingr td:first-child { color: var(--bone); padding-right: 12px; }
table.ingr td:nth-child(2), table.ingr th:nth-child(2), table.ingr td:nth-child(3), table.ingr th:nth-child(3) { text-align: right; white-space: nowrap; }
.ingr-note { margin: 10px 0 4px; font-size: 13px; color: var(--muted); font-style: italic; }
.acc-body h3, .acc-body h4 { text-align: left; }
.acc-body p.ql-align-center { text-align: left; }

/* Ordrebekreftelsen (takk-siden): ledetekst over verdi, ingen overlapp på mobil. */
.woocommerce-order .woocommerce-notice { margin: 0 0 24px; padding: 14px 18px; background: var(--obsidian); border: 1px solid var(--rule); border-left: 2px solid var(--gold); color: var(--bone); }
.woocommerce-order ul.order_details, .woocommerce-order ul.woocommerce-order-overview { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0; border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; }
.woocommerce-order ul.order_details li { display: block !important; float: none !important; width: auto !important; margin: 0 !important; padding: 14px 16px !important; border-left: 0 !important; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.woocommerce-order ul.order_details li strong { display: block !important; margin-top: 4px; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--bone); font-weight: 500; }
.woocommerce-order .woocommerce-order-details h2, .woocommerce-order .woocommerce-customer-details h2 { margin: 28px 0 12px; font-family: var(--display); font-weight: 400; font-size: 24px; color: var(--bone); }
.woocommerce-order table.shop_table tfoot th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woocommerce-order table.shop_table tfoot td, .woocommerce-order table.shop_table td { color: var(--text); }
.woocommerce-order table.shop_table tfoot tr:last-child td { font-family: var(--display); font-size: 22px; color: var(--bone); }
.woocommerce-order address { font-style: normal; line-height: 1.7; color: var(--text); }
.woocommerce-order .woocommerce-column--2 { margin-top: 20px; }
@media (max-width: 600px) {
  .woocommerce-order ul.order_details { grid-template-columns: 1fr; }
  .woocommerce-order ul.order_details li { border-right: 0; }
  .woocommerce-order table.shop_table tfoot th, .woocommerce-order table.shop_table tfoot td { display: block; width: 100%; text-align: left; padding: 6px 0; }
  .woocommerce-order table.shop_table tfoot th { border-bottom: 0; padding-bottom: 0; }
  .woocommerce-order table.shop_table tfoot td { border-bottom: 1px solid var(--rule); padding-bottom: 10px; }
  table.ingr { font-size: 14px; }
}
/* Ordrebekreftelsen: tabellen i full bredde uten WooCommerce sine hvite rammer. */
.woocommerce-order table.shop_table, .woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { border-color: var(--rule) !important; }
.woocommerce-order table.shop_table { width: 100% !important; border: 0 !important; border-top: 1px solid var(--rule) !important; border-radius: 0 !important; }
.woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { border-left: 0 !important; border-right: 0 !important; }
.woocommerce-order table.shop_table thead th { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.woocommerce-order table.shop_table tbody td:last-child, .woocommerce-order table.shop_table thead th:last-child, .woocommerce-order table.shop_table tfoot td { text-align: right; }
.woocommerce-order .woocommerce-customer-details address { padding: 16px 18px; background: var(--obsidian); border: 1px solid var(--rule); border-radius: 6px; }
@media (max-width: 600px) {
  .woocommerce-order table.shop_table tfoot td { text-align: left; }
}
