/* Copyright (c) 2026 Smekker24 GmbH. Original work. */
.smekker-mega-group h2,
.smekker-mega-group li > a,
.smekker-mega-branch > summary,
.smekker-mega-heading a { font-size: 13px; }
.smekker-mega-group li > a,
.smekker-mega-branch > summary { padding: 5px 4px; }
.smekker-mega-root > summary,
.smekker-all-categories,
.smekker-mega-leaf { font-size: 13px; }
.smekker-category-page,
.smekker-category-page .smekker-catalog { min-width: 0; width: 100%; clear: both; }
.smekker-category-page > .category-image { margin-bottom: 18px; }
.smekker-category-page > .category-image img { display: block; max-height: 240px; object-fit: contain; }
.category-title h1 { font-size: clamp(24px, 2.4vw, 32px); overflow-wrap: anywhere; }
.smekker-products--grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 16px; }
.smekker-product-card__body { padding: 15px; }
.smekker-product-card__title { font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.smekker-product-card__sku { font-size: 12px; }
.smekker-product-card__unit { font-size: 13px; }
.smekker-product-card__actions { align-items: stretch; }
.smekker-product-card__actions form { flex: 1 1 100%; }
.smekker-product-card__actions .button { width: 100%; padding-inline: 9px; font-size: 14px; }
.smekker-unit-price__current { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 9px; }
.smekker-unit-price__label,
.smekker-unit-price__pack { color: var(--smekker-muted); font-size: 12px; font-weight: 400; }
.product-view .smekker-unit-price { margin: 18px 0; }
.product-view .smekker-unit-price__current > .price { font-size: 32px; line-height: 1.2; }
.product-view .smekker-unit-price__label,
.product-view .smekker-unit-price__pack { font-size: 15px; }
.smekker-guest-product { position: relative; overflow: hidden; padding: clamp(20px, 4vw, 48px); border: 1px solid rgb(255 255 255 / 72%); border-radius: 30px; background: linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(239 249 247 / 88%) 58%, rgb(255 241 247 / 88%)); box-shadow: 0 30px 90px rgb(18 70 75 / 13%); }
.smekker-guest-product::before { content: ''; position: absolute; z-index: 0; top: -170px; right: -150px; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgb(223 120 152 / 25%), transparent 68%); pointer-events: none; }
.smekker-guest-product__essential { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(310px, 1.1fr); position: relative; z-index: 1; gap: clamp(28px, 5vw, 70px); align-items: center; }
.smekker-guest-product__essential::after { display: none; content: none; }
.smekker-guest-product .smekker-guest-product__media { float: none; width: auto; min-width: 0; padding: clamp(16px, 3vw, 30px); border: 1px solid rgb(255 255 255 / 85%); border-radius: 24px; background: rgb(255 255 255 / 72%); box-shadow: inset 0 1px 0 #fff, 0 18px 50px rgb(24 68 73 / 8%); backdrop-filter: blur(18px); }
.smekker-guest-product__media img { max-width: 100%; height: auto; object-fit: contain; }
.smekker-guest-product .smekker-guest-product__content { float: none; width: auto; min-width: 0; margin-top: 0; }
.smekker-guest-product__content .product-name h1 { margin: 10px 0 8px; font-size: clamp(30px, 4vw, 52px); line-height: 1.04; letter-spacing: -.035em; overflow-wrap: anywhere; }
.smekker-guest-product__sku { margin: 0 0 14px; color: var(--smekker-muted); font-size: 13px; }
.smekker-guest-product__content .availability { display: inline-flex; margin: 12px 0; padding: 7px 11px; border-radius: 999px; background: var(--smekker-mint-soft); color: var(--smekker-teal-dark); font-size: 13px; font-weight: 750; }
.smekker-guest-product__content .availability.out-of-stock { background: var(--smekker-pink-soft); color: #a33c5d; }
.smekker-guest-product__access { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; margin: 18px 0 24px; padding: 18px; border: 1px solid rgb(255 255 255 / 90%); border-radius: 20px; background: rgb(255 255 255 / 68%); box-shadow: 0 16px 45px rgb(25 70 74 / 9%); backdrop-filter: blur(20px); }
.smekker-guest-product__lock { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: linear-gradient(145deg, var(--smekker-teal), var(--smekker-teal-dark)); color: #fff; font-weight: 800; box-shadow: 0 10px 22px rgb(20 126 123 / 24%); }
.smekker-guest-product__access h2 { margin: 1px 0 14px; font-size: clamp(17px, 2vw, 21px); line-height: 1.35; }
.smekker-guest-product__access .button { width: fit-content; }
.smekker-guest-product__content .short-description { margin-top: 24px; }
.smekker-guest-product__content .short-description h2 { font-size: 18px; }
.smekker-guest-product__details { position: relative; z-index: 1; margin-top: 42px; }
.smekker-guest-product__details .box-collateral { margin-top: 16px; padding: clamp(18px, 3vw, 28px); border: 1px solid rgb(255 255 255 / 80%); border-radius: 20px; background: rgb(255 255 255 / 70%); backdrop-filter: blur(18px); }
.smekker-add-to-cart { display: grid; grid-template-columns: max-content 95px; align-items: center; gap: 12px; margin: 20px 0; }
.smekker-add-to-cart > label { font-weight: 700; }
.smekker-add-to-cart .qty { width: 95px; min-height: 46px; text-align: center; }
.smekker-pack-count { grid-column: 1 / -1; margin: 0; padding: 10px 12px; border: 1px solid var(--smekker-mint); border-radius: 10px; background: var(--smekker-mint-soft); font-size: 14px; }
.smekker-add-to-cart > .btn-cart { grid-column: 1 / -1; min-height: 48px; }
.smekker-cart-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--smekker-line); border-radius: 12px; }
.smekker-cart .cart-table { min-width: 690px; margin: 0; }
.smekker-cart .cart-table th { padding: 12px; background: var(--smekker-mint-soft); font-size: 13px; text-align: left; }
.smekker-cart .cart-table td { padding: 12px; vertical-align: top; }
.smekker-cart .cart-table .product-name { min-width: 170px; max-width: 300px; font-size: 15px; line-height: 1.4; }
.smekker-cart .cart-table .qty { width: 68px; text-align: center; }
.smekker-cart .cart-table .price { white-space: nowrap; }
.smekker-cart .cart-table .smekker-cart-pack td { padding-top: 0; padding-bottom: 16px; font-size: 13px; color: var(--smekker-muted); border-bottom: 1px solid var(--smekker-line); }
.smekker-cart-actions { justify-content: space-between; }
.smekker-cart-summary { width: min(100%, 440px); margin: 28px 0 0 auto; padding: 20px; border: 1px solid var(--smekker-mint); border-radius: 16px; background: var(--smekker-mint-soft); }
.smekker-cart-summary table td { padding: 8px 0 16px; }
.smekker-cart-summary .price { font-size: 25px; white-space: nowrap; }
.smekker-cart-summary .checkout-types .button { width: 100%; }
.checkout-onepage-index .smekker-main { max-width: 900px; margin-inline: auto; }
.smekker-checkout-progress { display: none; }
.opc { margin: 0; padding: 0; list-style: none; counter-reset: smekker-step; }
.opc > .section { margin: 0 0 12px; overflow: hidden; border: 1px solid var(--smekker-line); border-radius: 14px; background: #fff; counter-increment: smekker-step; }
.opc > .section[hidden] { display: none; }
.opc .step-title { display: flex; align-items: center; gap: 12px; padding: 16px 20px; }
.opc .step-title h2 { flex: 1; margin: 0; font-size: 18px; }
.opc .step-title .number { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: #f0eeef; font-size: 0; }
.opc .step-title .number::after { content: counter(smekker-step); font-size: 14px; font-weight: 700; }
.opc .active > .step-title { background: var(--smekker-mint-soft); }
.opc .active > .step-title .number { background: var(--smekker-mint); }
.opc .allow > .step-title { cursor: pointer; }
.opc .step-title a { font-size: 13px; }
.opc .section:not(.allow) .step-title a { display: none; }
.opc .step { padding: 22px; border-top: 1px solid var(--smekker-line); }
.opc .form-list .input-box { width: 100%; }
.opc input.input-text,
.opc select,
.opc textarea { width: 100%; max-width: 100%; }
.opc input[type="checkbox"], .opc input[type="radio"] { width: auto; }
.opc .sp-methods { margin: 0; }
.opc .sp-methods dt { margin-top: 12px; }
.opc .sp-methods dd { margin: 8px 0 18px 24px; }
.opc .sp-methods ul { padding: 0; list-style: none; }
.opc .order-review { overflow-x: auto; }
.opc .buttons-set { clear: both; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--smekker-line); }
.opc .buttons-set .back-link { margin: 0 auto 0 0; }
@media (min-width: 901px) {
    .smekker-layout--left { grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 900px) {
    .smekker-mega-group li > a,
    .smekker-mega-branch > summary { min-height: 40px; padding-block: 10px; font-size: 14px; }
    .smekker-guest-product__essential { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .smekker-products--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .smekker-product-card__body { padding: 11px; }
    .smekker-product-card__title { font-size: 14px; }
    .smekker-product-card__actions .button { font-size: 13px; }
    .smekker-guest-product { padding: 16px; border-radius: 22px; }
    .smekker-guest-product__media { padding: 12px; border-radius: 18px; }
    .smekker-guest-product__access { grid-template-columns: 1fr; }
    .smekker-guest-product__access .button { width: 100%; }
    .smekker-cart { padding: 14px; }
    .smekker-cart-summary { padding: 16px; }
    .opc .step-title { padding: 14px; }
    .opc .step-title h2 { font-size: 16px; }
    .opc .step { padding: 16px; }
    .opc .fields { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
    .smekker-products--grid { grid-template-columns: 1fr; }
}
