/* Fyndtorget. Färger: dark #1D252C, röd #E52D09 (Fyndtorgets egen), beige #EFEEE8 */
.ft-wrap { width: 91.666%; max-width: 1280px; margin: 0 auto; }
h2.ft-h2 { font-size: 1.5rem; font-weight: 700; text-transform: uppercase; color: #E52D09; margin: 0 0 1.25rem; }
h2.ft-h3 { font-size: 1.35rem; font-weight: 700; text-transform: uppercase; margin: 2.5rem 0 .75rem; }
.ft-lead { font-size: 1.15rem; max-width: 36rem; margin: 0 0 1.5rem; }
p.ft-eyebrow, .ft-eyebrow { font-size: 1.1rem; line-height: 1.15; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #5B6670; margin: 0; }
.ft-meta { color: #5B6670; font-size: .95rem; margin: .25rem 0 0; }
p.ft-small, .ft-small { font-size: .85rem; color: #5B6670; }
.ft-link { font-weight: 700; text-decoration: underline; }
.ft-link:hover { color: #E52D09; }

.ft-crumbs { font-size: .9rem; color: #fff; }
.ft-crumbs a:hover { text-decoration: underline; }
.ft-crumbs--dark a:hover { color: #E52D09; text-decoration: none; }
.ft-crumbs--dark { color: #5B6670; padding: 4.5rem 0 1rem; } /* den fasta headern täcker ca 25px */

.ft-btn { display: inline-block; background: #E52D09; border: 2px solid #E52D09; color: #fff; font-weight: 700; padding: .6rem 1.25rem; line-height: 1.2; text-align: center; cursor: pointer; }
.ft-btn:hover { background: #1D252C; border-color: #1D252C; color: #fff; }
.ft-btn--block { display: block; width: 100%; }

/* Inloggad: den fasta headerraden ska ligga under adminfältet, annars blir det en vit remsa ovanför bannern */
.admin-bar #masthead > .fixed { top: var(--wp-admin--admin-bar--height, 32px); }

/* Hero */
.ft-hero { background: #E52D09; color: #fff; }
h1.ft-hero__title { color: #fff !important; font-size: clamp(3.5rem, 10vw, 7.5rem); line-height: .85; font-weight: 800; text-transform: uppercase; margin: 1.25rem 0 .5rem; }
/* Vit text på röd: bold i ingressen för läsbarhet */
.ft-hero p.ft-lead { color: #fff; font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.25; font-weight: 700; max-width: 40rem; margin-bottom: 0; }
.ft-hero { padding: 2rem 0 3rem; }
.ft-hero__grid { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 900px) { .ft-hero__grid--count { grid-template-columns: 1fr 15rem; } }
.ft-count { display: flex; flex-direction: column; background: #EFEEE8; color: #1D252C; padding: 1.5rem; }
.ft-count__big { font-size: 4.5rem; line-height: 1; font-weight: 700; color: #E52D09; }
.ft-count__label { font-weight: 700; text-transform: uppercase; margin-top: .25rem; }

/* Fler fynd */
.ft-featured { background: #EFEEE8; padding: 2.5rem 0; }
.ft-featured .ft-grid + p { padding-top: 2rem; } /* padding, temat skriver över marginaler på p */

.ft-results { padding: 2rem 0 4rem; }
.ft-empty { padding: 3rem 0; text-align: center; }

/* Kort */
.ft-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.ft-card { background: #fff; border: 1px solid #CFD2D3; transition: border-color .15s; }
.ft-card:hover { border-color: #1D252C; }
.ft-card a { display: flex; flex-direction: column; height: 100%; }
.ft-card__img { position: relative; aspect-ratio: 4 / 3; background: #EFEEE8; overflow: hidden; }
.ft-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ft-card__body { padding: .9rem 1rem 1rem; display: flex; flex-direction: column; flex: 1; }
.ft-card__title { font-size: 1.1rem; line-height: 1.15; font-weight: 700; text-transform: uppercase; margin: .25rem 0 0; }
.ft-card p.ft-price { color: #E52D09; font-weight: 700; font-size: 1.25rem; margin: auto 0 0; padding-top: .75rem; }
.ft-price__ord { display: block; color: #5B6670; font-size: .85rem; font-weight: 400; }
.ft-price__now { display: block; font-size: 1.5rem; font-weight: 800; line-height: 1.15; }
.ft-badges { position: absolute; left: .5rem; bottom: .5rem; display: flex; gap: .25rem; }
.ft-badge { display: inline-block; background: #1D252C; color: #fff; font-size: .75rem; font-weight: 700; text-transform: uppercase; padding: .2rem .5rem; }
.ft-badge--fynd { background: #E52D09; }
.ft-badge--light { background: #EFEEE8; color: #1D252C; }

.ft-pagination { margin-top: 2rem; display: flex; gap: .25rem; justify-content: center; flex-wrap: wrap; }
.ft-pagination .page-numbers { border: 1px solid #CFD2D3; padding: .4rem .8rem; font-weight: 700; }
.ft-pagination .current, .ft-pagination a:hover { background: #1D252C; color: #fff; border-color: #1D252C; }

/* SEO-text + FAQ */
.ft-info { background: #EFEEE8; padding: 3rem 0; }
.ft-text p { margin: 0 0 1rem; }
.ft-faq details { border-bottom: 1px solid #A2A9AD; padding: .9rem 0; }
.ft-faq summary { font-weight: 700; cursor: pointer; }
.ft-faq details p { margin: .75rem 0 0; }

/* Maskinsidan */
.ft-single { padding-bottom: 3rem; }
.ft-single__grid { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .ft-single__grid { grid-template-columns: minmax(0, 1fr) 22rem; align-items: start; } }
h1.ft-single__title { font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.1; font-weight: 700; text-transform: uppercase; margin: .75rem 0 .25rem; }
.ft-gallery { position: relative; background: #1D252C; }
.ft-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; aspect-ratio: 4 / 3; }
.ft-gallery__track::-webkit-scrollbar { display: none; }
.ft-gallery__track img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: contain; scroll-snap-align: start; }
.ft-gallery__badge { position: absolute; top: .75rem; left: .75rem; font-size: 1rem; }
.ft-gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); background: #fff; color: #1D252C; width: 2.5rem; height: 2.5rem; font-weight: 700; }
.ft-gallery__nav:hover { background: #E52D09; color: #fff; }
.ft-gallery__nav--prev { left: .75rem; }
.ft-gallery__nav--next { right: .75rem; }
.ft-gallery__count { position: absolute; right: .75rem; bottom: .75rem; background: rgba(29,37,44,.8); color: #fff; font-size: .85rem; padding: .2rem .5rem; }
.ft-thumbs { display: flex; gap: .4rem; overflow-x: auto; margin-top: .5rem; }
.ft-thumbs button { flex: 0 0 5rem; aspect-ratio: 4 / 3; overflow: hidden; border: 2px solid transparent; }
.ft-thumbs button:hover, .ft-thumbs button:focus-visible { border-color: #E52D09; }
.ft-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.ft-tags { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.ft-table { width: 100%; border-collapse: collapse; }
.ft-table th, .ft-table td { text-align: left; padding: .55rem 0; border-bottom: 1px solid #CFD2D3; vertical-align: top; }
.ft-table th { font-weight: 700; width: 40%; padding-right: 1rem; }
.ft-table--compact th, .ft-table--compact td { padding: .4rem 0; font-size: .9rem; }
.ft-table--compact td { text-align: right; }
.ft-list { padding-left: 1.2rem; list-style: disc; }

.ft-single__side > * + * { margin-top: 1rem; }
.ft-pricebox { background: #1D252C; color: #fff; padding: 1.25rem; }
.ft-pricebox__label { font-size: .8rem; font-weight: 700; text-transform: uppercase; margin: 0; }
p.ft-pricebox__price { color: #E52D09; font-size: 2.25rem; font-weight: 700; line-height: 1.1; margin: .25rem 0; }
.ft-pricebox__vat, .ft-pricebox__ord { font-size: .9rem; margin: 0; }
.ft-pricebox__ord span { white-space: nowrap; }
.ft-facts { background: #EFEEE8; padding: 1.25rem; }
h2.ft-facts__title, .ft-seller__title, h2.ft-form__title { font-size: 1rem; font-weight: 700; text-transform: uppercase; margin: 0 0 .5rem; }
.ft-seller { background: #1D252C; color: #fff; padding: 1.25rem; }
.ft-seller__name { font-weight: 700; font-size: 1.2rem; margin: 0; }
.ft-seller__info { font-size: .9rem; margin: .25rem 0 1rem; }
.ft-seller__info a { text-decoration: underline; }
/* Mörk ruta: hover blir vit i stället för mörk, annars försvinner knappen */
.ft-seller .ft-btn:hover { background: #fff; border-color: #fff; color: #1D252C; }
.ft-form { background: #EFEEE8; padding: 1.25rem; }
.ft-form label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: .6rem; }
.ft-form input[type=text], .ft-form input[type=tel], .ft-form input[type=email], .ft-form textarea { display: block; width: 100%; border: 1px solid #A2A9AD; background: #fff; padding: .5rem; font: inherit; font-size: 1rem; font-weight: 400; margin-top: .2rem; } /* minst 16px, annars zoomar iPhone vid fokus */
.ft-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.ft-form fieldset { border: 0; padding: 0; margin: 0; }
.ft-form .ft-check { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.ft-hp { position: absolute !important; left: -9999px; }
.ft-notice { padding: .75rem; font-weight: 700; }
.ft-notice--ok { background: #1D252C; color: #fff; }
.ft-notice--error { background: #E52D09; color: #fff; }

.ft-sticky { display: none; }
@media (max-width: 899px) {
  .ft-sticky { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: #fff; border-top: 1px solid #CFD2D3; padding: .6rem 4.2%; box-shadow: 0 -4px 12px rgba(0,0,0,.08); }
  .ft-sticky strong { display: block; color: #E52D09; font-size: 1.25rem; line-height: 1.1; }
  .ft-sticky span { font-size: .8rem; }
  .single-fynd .site-footer { padding-bottom: 4rem; }
  /* Mobil: lite större brödtext i kort, prisruta, snabbfakta och formulär */
  h3.ft-card__title { font-size: 1.2rem; }
  .ft-meta, .ft-price__ord { font-size: 1rem; }
  .ft-pricebox__vat, .ft-pricebox__ord, .ft-seller__info { font-size: 1rem; }
  .ft-table--compact th, .ft-table--compact td { font-size: 1rem; }
  .ft-form label { font-size: .95rem; }
  .ft-form .ft-check { font-size: 1rem; }
  .ft-crumbs { font-size: .95rem; }
}
.ft-card p.ft-price--none, .ft-price--none .ft-price__now { color: #5B6670; font-size: 1rem; }
