/* Tintame shop: the same bone mat boards as the journal, wider for the product grid. */
.testbar { margin: 0; padding: .55em var(--gutter); background: #231612; color: #f4eee4; font-size: .9rem; text-align: center; }
.cartlink .cart-count:not(:empty) { display: inline-grid; place-items: center; min-width: 1.5em; height: 1.5em; margin-left: .35em; border-radius: 1em; background: var(--ink-terracotta); color: var(--terracotta); font-size: .8em; }
.paper--wide { max-width: 72rem; }
.works { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: 2.2rem 1.6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.work a { display: flex; flex-direction: column; gap: .2rem; text-decoration: none; }
.work__img { position: relative; aspect-ratio: 4 / 5; min-height: 0; margin-bottom: .7rem; }
.work__img { position: relative; z-index: 2; }
.work__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom center; box-shadow: none; filter: drop-shadow(0 10px 12px rgba(40, 15, 5, .35)); transition: transform .5s var(--ease-out); will-change: transform; }   /* absolut i en relativ aspect-ratio-box: bildens naturliga storlek kan aldrig tänja lådan (Safari) */
.work a:hover .work__img { position: relative; z-index: 2; }
.work__img img { transform: translateY(-4px); }
.work__artist { font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; opacity: .7; }
.work__title { font-weight: 700; line-height: 1.25; }
.work__price { opacity: .85; }

.product__grid { display: grid; gap: clamp(1.6rem, 4vw, 4rem); grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 800px) { .product__grid { grid-template-columns: 1fr; } }
.product__art { margin: 0; display: grid; justify-items: center; gap: .8rem; }
.product__art figcaption { font-size: .85rem; opacity: .75; max-width: 42ch; text-align: center; }
.frame-preview { position: relative; z-index: 2; display: inline-block; line-height: 0; background: #fbf8f2; padding: 0; border: 0 solid transparent;
  box-shadow: 0 16px 34px -16px rgba(40, 15, 5, .6); transition: padding .4s var(--ease-out), border-color .3s; }
.frame-preview { display: block; width: fit-content; max-width: 100%; }
.frame-preview .sheet { display: flex; align-items: center; justify-content: center; background: #fff; width: min(100%, calc(min(70vh, 640px) * var(--ar, .7))); width: min(100%, calc(min(70dvh, 640px) * var(--ar, .7))); height: auto; }   /* bredd ur höjd × proportion, aldrig bredare än kolumnen */
.frame-preview img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.frame-preview:not([data-frame="none"]) { padding: 7%; border-width: clamp(8px, 1.3vw, 14px); }
.frame-preview[data-frame="black"] { border-color: #1d1714; }
.frame-preview[data-frame="white"] { border-color: #f7f5f0; outline: 1px solid rgba(35, 22, 18, .12); }
.frame-preview[data-frame="natural"] { border-color: #b98a55; }
.product .j-title { font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); margin-bottom: .1em; }
.product__date { margin: 0 0 1.4rem; opacity: .75; }
.product fieldset { border: 0; padding: 0; margin: 0 0 1.2rem; }
.product legend { font-weight: 700; margin-bottom: .5rem; }
.opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.opt input { position: absolute; opacity: 0; pointer-events: none; }
.opt span { display: inline-block; padding: .55em .9em; border: 1.5px solid rgba(35, 22, 18, .35); cursor: pointer; transition: background .2s, border-color .2s; }
.opt input:checked + span { border-color: var(--ink-bone); background: var(--ink-bone); color: var(--bone); }
.opt input:focus-visible + span { outline: 2px solid var(--terracotta-deep); outline-offset: 2px; }
.product__price { font-size: 1.6rem; font-weight: 700; margin: .4rem 0 1rem; }
.product__price small { font-size: .9rem; font-weight: 400; opacity: .75; }
.product__added { margin: .8rem 0 0; }
.product__facts { margin: 1.6rem 0 0; font-size: .92rem; opacity: .85; }

.cart__line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid rgba(35, 22, 18, .18); }
.cart__line strong { white-space: nowrap; }
.cart__line img { width: 64px; height: 80px; object-fit: contain; }
.cart__line h2 { font-size: 1.05rem; margin: 0 0 .2rem; }
.cart__line p { margin: 0; font-size: .92rem; opacity: .85; }
.cart__qty { display: flex; align-items: center; gap: .4rem; margin-top: .4rem; }
.cart__qty button[data-d] { width: 2rem; height: 2rem; border: 1.5px solid rgba(35, 22, 18, .35); background: none; cursor: pointer; font: inherit; }
.cart__remove { background: none; border: 0; padding: 0; margin-left: .6rem; text-decoration: underline; cursor: pointer; font: inherit; font-size: .88rem; }
.cart__foot { margin-top: 1.6rem; }
.cart__total { font-size: 1.3rem; }
.cart__total span { display: block; font-size: .88rem; opacity: .75; }
.cart__err { color: #8e1f10; }
.cart__small { font-size: .88rem; opacity: .8; }

/* SEO content blocks: story, related works, collections, FAQ */
.product__story { max-width: 46rem; margin: clamp(2.4rem, 5vw, 4rem) 0 0; }
.product__story h2, .category__faq h2 { font-size: clamp(1.35rem, 1.1rem + .9vw, 1.8rem); letter-spacing: -.02em; margin: 0 0 .6rem; }
.product__meta { font-size: .9rem; opacity: .75; }
.product__cats a, .catnav a { text-decoration-thickness: 1px; }
.related { margin-top: clamp(2.4rem, 5vw, 4rem); }
.related h2, .catnav h2 { font-size: 2rem; margin: 0 0 .6rem; }
.works--small { grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); margin-top: 1rem; }
.catnav { margin-top: clamp(2.4rem, 5vw, 4rem); }
.catnav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.catnav li a { display: inline-block; padding: .45em .8em; border: 1.5px solid rgba(35, 22, 18, .3); text-decoration: none; font-size: .95rem; }
.catnav li a:hover { background: var(--ink-bone); color: var(--bone); }
.category__copy { max-width: 46rem; margin-top: clamp(2rem, 4vw, 3rem); }
.category__faq { max-width: 46rem; margin-top: 2rem; }
.faq { border-top: 1px solid rgba(35, 22, 18, .18); padding: .8rem 0; }
.faq summary { cursor: pointer; font-weight: 700; }
.faq summary h3 { display: inline; font: inherit; margin: 0; }
.faq p { margin: .5rem 0 0; }
.crumbs a ~ a::before { content: none; }

/* finish choice: four stacked cards, the recommended one marked */
.fins { display: grid; gap: .55rem; }
.fin { position: relative; display: block; cursor: pointer; }
.fin input { position: absolute; opacity: 0; pointer-events: none; }
.fin__body { display: grid; gap: .2rem; padding: .85em 1em; border: 1.5px solid rgba(35, 22, 18, .28); transition: border-color .2s, background .2s; }
.fin__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.fin__head strong { font-size: 1.05rem; }
.fin__price { font-variant-numeric: tabular-nums; }
.fin__short { font-size: .86rem; opacity: .75; }
.fin__desc { font-size: .9rem; line-height: 1.45; display: none; }
.fin input:checked + .fin__body { border-color: var(--ink-bone); background: rgba(35, 22, 18, .045); }
.fin input:checked + .fin__body .fin__desc { display: block; }
.fin input:focus-visible + .fin__body { outline: 2px solid var(--terracotta-deep); outline-offset: 2px; }
.fin--rec .fin__short { opacity: 1; color: var(--terracotta-deep); font-weight: 600; }
[data-colors][hidden] { display: none; }
.frame-preview[data-finish="gallery"]:not([data-frame="none"]), .frame-preview[data-finish="museum"]:not([data-frame="none"]) {
  border-width: clamp(10px, 1.7vw, 18px); box-shadow: 0 28px 50px -22px rgba(40, 15, 5, .6), inset 0 0 0 1px rgba(0, 0, 0, .06); }
.product__cta { display: flex; flex-wrap: wrap; gap: .6rem; }
.product__err { color: var(--terracotta-deep); margin: .6rem 0 0; }

/* find your art */
.quiz__step { border: 0; padding: 0; margin: 1.6rem 0 0; }
.quiz__q { font-size: clamp(1.3rem, 1.1rem + 1vw, 1.8rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 1rem; }
.quiz__q .pencil { display: block; font-size: 1.5rem; font-weight: 400; margin-bottom: .2rem; }
.quiz__opts { display: grid; gap: .55rem; max-width: 34rem; }
.quiz__opt { text-align: left; font: inherit; font-size: 1.05rem; padding: .95em 1.1em; background: transparent; color: inherit; border: 1.5px solid rgba(35, 22, 18, .3); cursor: pointer; transition: background .2s, border-color .2s; }
.quiz__opt:hover, .quiz__opt:focus-visible { border-color: var(--ink-bone); background: rgba(35, 22, 18, .05); outline: none; }
.quiz__result h2 { margin-top: 1.6rem; }
.quiz__picks { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.4rem; }
.quiz__pick a { display: grid; gap: .3rem; text-decoration: none; }
.quiz__pick img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; background: #efe8dc; margin-bottom: .4rem; }
.quiz__artist { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.quiz__meta { font-size: .92rem; margin-bottom: .5rem; }
.quiz__pick .btn { justify-self: start; }
.quiz__note { font-size: .92rem; opacity: .8; }

/* Neutral wall for the shop (2026-10-01): the art should be the only strong colour on the page,
   judged against a neutral like the customer's own wall. Terracotta stays as brand colour elsewhere. */
body.shop { background: #e8dfd2; color: var(--ink-bone); }
body.shop .board__inner, body.shop .paper { box-shadow: 0 1px 0 rgba(35, 22, 18, .06), 0 18px 40px -28px rgba(35, 22, 18, .35); }

/* delivery country / market (2026-10-07) */
.market { margin: 0 var(--gutter) -1.2rem; padding: .6rem 0 0; font-size: .92rem; display: flex; justify-content: flex-end; align-items: baseline; gap: .6rem; }
.market label { display: inline-flex; align-items: baseline; gap: .45em; white-space: nowrap; }
.market select { -webkit-appearance: none; appearance: none; font: inherit; font-size: .92rem; line-height: 1.3; color: inherit; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%232e120b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .1em center / .8em .8em; border: 0; border-radius: 0; border-bottom: 1.5px solid currentColor; padding: .15em 1.2em .15em .1em; margin: 0; cursor: pointer; }
.market select:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.product__na { font-weight: 500; }
