/* ===== Core PDP ===== */
/* Smartphoneshop.dk – PDP 3000
   Purchase-first product page. Built to sit on top of DanDomain without replacing commerce logic. */

:root {
    --ss3-ink: #11181c;
    --ss3-muted: #617178;
    --ss3-line: #dbe6e8;
    --ss3-soft: #f5fafb;
    --ss3-soft-2: #eef8f8;
    --ss3-teal: #00adb5;
    --ss3-teal-dark: #007f86;
    --ss3-yellow: #fed766;
    --ss3-green: #177a55;
    --ss3-green-bg: #eef9f4;
    --ss3-warn: #915322;
    --ss3-warn-bg: #fff7ed;
    --ss3-shadow: 0 16px 42px rgba(17, 24, 28, .09);
    --ss3-radius: 18px;
    --ss3-preview-offset: 0px;
}

/* ---------- HERO / LAYOUT ---------- */
form.ss-pdp3000 {
    color: var(--ss3-ink);
}

form.ss-pdp3000 > .row:first-of-type {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .94fr);
    gap: 30px;
    align-items: start;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

form.ss-pdp3000 > .row:first-of-type > [class*="col-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.ss-pdp3000 .m-product-image {
    position: relative;
    margin: 0;
    min-height: 520px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--ss3-line);
    border-radius: var(--ss3-radius);
    box-shadow: 0 8px 28px rgba(17, 24, 28, .045);
}

.ss-pdp3000 .m-product-image img {
    max-height: 500px;
    object-fit: contain;
}

.ss-pdp3000 .m-product-information {
    box-sizing: border-box;
    padding: 26px 28px 24px;
    margin: 0;
    background: #fff;
    border: 1px solid var(--ss3-line);
    border-radius: var(--ss3-radius);
    box-shadow: var(--ss3-shadow);
    text-align: left !important;
}

.ss-pdp3000 .m-product-information,
.ss-pdp3000 .m-product-information * {
    box-sizing: border-box;
}

/* ---------- PURCHASE HIERARCHY ---------- */
.ss-pdp3000 .ss-pdp-title-wrap,
.ss-pdp3000 .ss-pdp-title-wrap .product-title,
.ss-pdp3000 .page-title {
    text-align: left !important;
}

.ss-pdp3000 .ss-pdp-title-wrap {
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
}

.ss-pdp3000 .product-title {
    margin: 0 !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 29px !important;
    line-height: 1.13 !important;
    letter-spacing: -.035em;
    font-weight: 800 !important;
    color: var(--ss3-ink) !important;
}

.ss-pdp3000 .ss-pdp-rating-row {
    min-height: 24px;
    margin: 0 0 13px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 13px;
    text-align: left !important;
}

.ss-pdp3000 .ss-pdp-rating-row .m-reviews-stars,
.ss-pdp3000 .ss-pdp-rating-row a,
.ss-pdp3000 .ss-pdp-rating-row span {
    font-size: 13px !important;
}

.ss-pdp3000 .m-product-offer,
.ss-pdp3000 .m-product-offers,
.ss-pdp3000 .m-product-offers > p {
    margin: 0 !important;
    text-align: left !important;
}

.ss-pdp3000 .m-product-priceline {
    margin: 0 !important;
    line-height: 1;
}

.ss-pdp3000 .m-product-price {
    display: inline-block;
    margin: 0 !important;
    color: var(--ss3-ink) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 38px !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em;
    font-weight: 800 !important;
}

.ss-pdp3000 .m-product-price-before-discount {
    font-size: 15px !important;
}

.ss-pdp3000 anyday-price-widget {
    justify-content: flex-start !important;
    text-align: left !important;
    margin-top: 8px !important;
    font-size: 13px !important;
}

/* Native minor purchase clutter – retained in DOM where useful, visually superseded by PDP3000. */
.ss-pdp3000-ready .m-product-prices-separator,
.ss-pdp3000-ready .m-product-comment-separator,
.ss-pdp3000-ready .m-product-description-separator,
.ss-pdp3000-ready .m-product-price-vat,
.ss-pdp3000-ready .m-product-extra,
.ss-pdp3000-ready .m-product-paymentoptions,
.ss-pdp3000-ready .m-product-brand,
.ss-pdp3000-ready .m-product-info,
.ss-pdp3000-ready #emaerket-widget-qyyf2r3udj,
.ss-pdp3000-ready .ss-pdp3000-native-stock {
    display: none !important;
}

/* Viabill injected price tag often arrives centered. PDP3000 suppresses the legacy price tag;
   availability is still communicated in the payment methods row. */
.ss-pdp3000-ready [data-pdp-legacy-hidden="1"] {
    display: none !important;
}

/* ---------- VALUE BULLETS ---------- */
.ss-pdp3000 .m-description-short-wrap {
    margin: 17px 0 14px;
    padding: 0;
}

.ss-pdp3000 .m-product-short-description {
    margin: 0 !important;
    padding: 0 !important;
    color: #314047;
    font-size: 15px !important;
    line-height: 1.42 !important;
}

.ss-pdp3000 .m-product-short-description hr {
    display: none !important;
}

.ss-pdp3000--device .m-product-short-description p {
    position: relative;
    margin: 0 0 7px !important;
    padding: 0 0 0 25px !important;
    color: #243238 !important;
    font-size: 15px !important;
    line-height: 1.36 !important;
    font-weight: 600;
}

.ss-pdp3000--device .m-product-short-description p:last-child {
    margin-bottom: 0 !important;
}

.ss-pdp3000--device .m-product-short-description p::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: .05em;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e6f8f8;
    color: var(--ss3-teal-dark);
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
}

/* ---------- DELIVERY DATE ---------- */
.ss-pdp3000-delivery-slot {
    margin: 16px 0 14px;
}

.ss-pdp3000-delivery {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 11px;
    align-items: center;
    padding: 13px 14px;
    background: var(--ss3-green-bg);
    border-radius: 13px;
    color: var(--ss3-ink);
}

.ss-pdp3000-delivery.is-warning {
    background: var(--ss3-warn-bg);
}

.ss-pdp3000-delivery__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    color: var(--ss3-green);
    font-size: 17px;
}

.ss-pdp3000-delivery.is-warning .ss-pdp3000-delivery__icon {
    color: var(--ss3-warn);
}

.ss-pdp3000-delivery__label {
    display: block;
    margin-bottom: 2px;
    color: var(--ss3-green);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ss-pdp3000-delivery.is-warning .ss-pdp3000-delivery__label {
    color: var(--ss3-warn);
}

.ss-pdp3000-delivery.is-remote .ss-pdp3000-delivery__label {
    color: #087b81;
}

.ss-pdp3000-delivery.is-remote .ss-pdp3000-delivery__shipping {
    color: #51676d;
}

.ss-pdp3000-delivery__date {
    display: block;
    color: var(--ss3-ink);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 800;
}

.ss-pdp3000-delivery__shipping {
    display: block;
    margin-top: 3px;
    color: #53646b;
    font-size: 12.5px;
    line-height: 1.3;
}

/* ---------- COMPLETE THE PURCHASE / IN THE BOX ---------- */
.ss-pdp3000-readiness-slot {
    margin: 14px 0 16px;
}

.ss-pdp3000-readiness {
    padding: 15px 16px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f1fbfb 0%, #fffaf0 100%);
    border: 1px solid #d7eeee;
}

.ss-pdp3000-readiness__eyebrow {
    margin: 0 0 4px;
    color: var(--ss3-teal-dark);
    font-size: 11px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
}

.ss-pdp3000-readiness__title {
    margin: 0;
    color: var(--ss3-ink);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 800;
}

.ss-pdp3000-readiness__copy {
    margin: 4px 0 10px;
    color: #52636a;
    font-size: 13px;
    line-height: 1.42;
}

.ss-pdp3000-readiness__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ss-pdp3000-readiness__group {
    padding: 10px 11px;
    border-radius: 10px;
    background: rgba(255,255,255,.78);
}

.ss-pdp3000-readiness__group strong {
    display: block;
    margin-bottom: 6px;
    color: #26353b;
    font-size: 12px;
    font-weight: 800;
}

.ss-pdp3000-readiness__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ss-pdp3000-readiness__list li {
    position: relative;
    margin: 4px 0;
    padding-left: 18px;
    color: #45565d;
    font-size: 12.5px;
    line-height: 1.32;
}

.ss-pdp3000-readiness__list--included li::before,
.ss-pdp3000-readiness__list--missing li::before {
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
}

.ss-pdp3000-readiness__list--included li::before {
    content: "✓";
    color: var(--ss3-green);
}

.ss-pdp3000-readiness__list--missing li::before {
    content: "+";
    color: var(--ss3-teal-dark);
}

.ss-pdp3000-readiness__next {
    margin-top: 10px;
    color: var(--ss3-teal-dark);
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 800;
}

/* ---------- PRIMARY ACTION ---------- */
.ss-pdp3000-actions-wrap {
    margin-top: 14px;
}

.ss-pdp3000-actions-wrap .m-product-transaction,
.ss-pdp3000-actions-wrap .product-transaction {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ss-pdp3000-actions-wrap .m-transaction-input,
.ss-pdp3000-actions-wrap input[type="number"],
.ss-pdp3000-actions-wrap input[name*="amount"] {
    height: 54px !important;
    min-height: 54px !important;
    font-size: 15px !important;
    border-radius: 11px !important;
    border-color: #cedbde !important;
    box-shadow: none !important;
}

.ss-pdp3000-actions-wrap .m-product-transaction-button,
.ss-pdp3000-actions-wrap .m-product-transaction-button .button,
.ss-pdp3000-actions-wrap button[name="cartadd"],
.ss-pdp3000-actions-wrap .button-primary[name="cartadd"] {
    width: 100% !important;
}

.ss-pdp3000-actions-wrap .m-product-transaction-button button,
.ss-pdp3000-actions-wrap button[data-controller="buy"][name="cartadd"],
.ss-pdp3000-actions-wrap .button-primary[name="cartadd"] {
    min-height: 54px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: var(--ss3-teal) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(0, 173, 181, .19) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.ss-pdp3000-actions-wrap button[name="cartadd"]:hover {
    background: #009ca4 !important;
}

/* ---------- PAYMENT + TRUST ---------- */
.ss-pdp3000-payment {
    margin-top: 13px;
    padding: 12px 13px;
    border-radius: 12px;
    background: #f7f9fa;
}

.ss-pdp3000-payment__head {
    display: flex;
    gap: 10px;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 8px;
}

.ss-pdp3000-payment__label {
    color: var(--ss3-ink);
    font-size: 12.5px;
    font-weight: 800;
}

.ss-pdp3000-payment__hint {
    color: #7a898f;
    font-size: 10.5px;
}

.ss-pdp3000-payment__icons,
.ss-pdp3000-payment__icons > div,
.ss-pdp3000-payment__icons .payment-icons,
.ss-pdp3000-payment__icons ul,
.ss-pdp3000-payment__icons .site-corporate-payment-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ss-pdp3000-payment__icons style,
.ss-pdp3000-payment__icons script,
.ss-pdp3000-payment__icons noscript {
    display: none !important;
}

.ss-pdp3000-payment__icons .placeholder-wrapper {
    display: block !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 25px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ss-pdp3000-payment__icons .placeholder,
.ss-pdp3000-payment__icons .placeholder-wrapper > * {
    max-width: 100% !important;
    max-height: 100% !important;
}

.ss-pdp3000-payment__icons img,
.ss-pdp3000-payment__icons svg {
    display: block !important;
    width: auto !important;
    max-width: 43px !important;
    height: 22px !important;
    max-height: 22px !important;
    object-fit: contain !important;
}

.ss-pdp3000-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 10px;
    color: #53636a;
    font-size: 11.5px;
    line-height: 1.3;
}

.ss-pdp3000-trust span {
    white-space: nowrap;
}

.ss-pdp3000-trust .fa {
    margin-right: 4px;
    color: var(--ss3-teal-dark);
}

/* ---------- SMARTSWAP: SECONDARY, NOT COMPETING ---------- */
.ss-pdp3000 .ss-pdp-smartswap-row {
    margin: 14px 0 0 !important;
}

.ss-pdp3000 .ss-pdp-smartswap-row > [class*="col-"] {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.ss-pdp3000 .m-smartswap {
    margin: 0 !important;
}

.ss-pdp3000 .m-smartswap-card,
.ss-pdp3000 .m-smartswap-selected {
    border: 0 !important;
    border-radius: 12px !important;
    background: #f4fbfb !important;
    box-shadow: none !important;
}

.ss-pdp3000 .m-smartswap-card-inner {
    padding: 12px 13px !important;
    gap: 10px !important;
}

.ss-pdp3000 .m-smartswap-card-title {
    font-size: 13.5px !important;
    font-weight: 800 !important;
}

.ss-pdp3000 .m-smartswap-card-subtitle {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

.ss-pdp3000 .m-smartswap-card-action .button {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 9px !important;
    font-size: 11.5px !important;
    white-space: nowrap;
}

/* ---------- CONTENT AFTER PURCHASE HERO ---------- */
.ss-pdp3000-after-hero {
    margin: 20px 0 6px;
}

.ss-pdp3000-after-hero .ss-guide-snippet-v3--under-image {
    margin: 0 !important;
}

/* Product content becomes progressive disclosure instead of an endless wall. */
.ss-pdp3000-summary-section,
.ss-pdp3000-details,
.ss-pdp3000-faq-upgraded {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.ss-pdp3000-summary-section {
    margin-top: 30px;
}

.ss-pdp3000-summary-section > h2 {
    margin: 0 0 15px !important;
    color: var(--ss3-ink) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em;
}

.ss-pdp3000-summary-section .ss-cards {
    gap: 14px !important;
    margin: 0 0 14px !important;
}

.ss-pdp3000-summary-section .ss-card,
.ss-pdp3000-summary-section .ss-callout {
    border-color: var(--ss3-line) !important;
    border-radius: 14px !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
}

.ss-pdp3000-summary-section .ss-card-title,
.ss-pdp3000-summary-section .ss-callout-title {
    color: var(--ss3-ink) !important;
    font-size: 15px !important;
}

.ss-pdp3000-details {
    margin-top: 12px;
    border: 1px solid var(--ss3-line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.ss-pdp3000-details > summary {
    position: relative;
    padding: 17px 52px 17px 18px;
    cursor: pointer;
    list-style: none;
    color: var(--ss3-ink);
    background: #fff;
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 800;
}

.ss-pdp3000-details > summary::-webkit-details-marker {
    display: none;
}

.ss-pdp3000-details > summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ss3-teal-dark);
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
}

.ss-pdp3000-details[open] > summary::after {
    content: "–";
}

.ss-pdp3000-details__body {
    padding: 0 18px 19px;
    color: #394950;
    font-size: 15.5px;
    line-height: 1.62;
}

.ss-pdp3000-details__body h2,
.ss-pdp3000-details__body h3 {
    color: var(--ss3-ink) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
}

.ss-pdp3000-details__body h2 {
    margin: 8px 0 13px !important;
    font-size: 22px !important;
}

.ss-pdp3000-details__body h3 {
    margin: 22px 0 7px !important;
    font-size: 17px !important;
}

.ss-pdp3000-details__body p,
.ss-pdp3000-details__body li,
.ss-pdp3000-details__body .ss-specs-row,
.ss-pdp3000-details__body .ss-specs-bullets li {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.ss-pdp3000-details__body .ss-specs {
    margin: 0 !important;
    border-color: var(--ss3-line) !important;
}

/* FAQ items become their own lightweight accordions. */
.ss-pdp3000-faq-upgraded {
    margin-top: 20px;
}

.ss-pdp3000-faq-upgraded > h2 {
    margin: 0 0 12px !important;
    color: var(--ss3-ink) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 25px !important;
}

.ss-pdp3000-faq-upgraded .ss-pdp3000-faq-item {
    margin: 0;
    border-top: 1px solid var(--ss3-line);
}

.ss-pdp3000-faq-upgraded .ss-pdp3000-faq-item:last-child {
    border-bottom: 1px solid var(--ss3-line);
}

.ss-pdp3000-faq-item > summary {
    position: relative;
    padding: 15px 38px 15px 0;
    cursor: pointer;
    list-style: none;
    color: var(--ss3-ink);
    font-size: 15.5px;
    line-height: 1.35;
    font-weight: 800;
}

.ss-pdp3000-faq-item > summary::-webkit-details-marker { display: none; }
.ss-pdp3000-faq-item > summary::after {
    content: "+";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ss3-teal-dark);
    font-size: 20px;
}
.ss-pdp3000-faq-item[open] > summary::after { content: "–"; }
.ss-pdp3000-faq-item__body {
    padding: 0 38px 15px 0;
    color: #4c5c63;
    font-size: 14.5px;
    line-height: 1.55;
}

/* Recommendations are shopping modules, not leftover catalogue headings. */
.products-related,
.products-also-bought {
    margin-top: 34px !important;
}

.products-related .page-title,
.products-also-bought .page-title {
    margin-bottom: 16px !important;
    text-align: left !important;
}

.products-related-headline,
.products-also-bought-headline {
    color: var(--ss3-ink) !important;
    font-family: "Alexandria", "Open Sans", sans-serif !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em;
    text-transform: none !important;
}

.products-related-list .productItem .product-title,
.products-also-bought-list .productItem .product-title {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

/* ---------- STICKY BUY BARS ---------- */
.ss-pdp3000-mobile-buybar,
.ss-pdp3000-desktop-dock {
    position: fixed;
    z-index: 9994;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
}

.ss-pdp3000-mobile-buybar.is-visible,
.ss-pdp3000-desktop-dock.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.ss-pdp3000-mobile-buybar {
    left: 8px;
    right: 8px;
    bottom: calc(8px + var(--ss3-preview-offset));
    display: none;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 10px 10px 13px;
    background: rgba(255,255,255,.98);
    border: 1px solid var(--ss3-line);
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(17,24,28,.22);
}

.ss-pdp3000-mobile-buybar__label {
    display: block;
    color: #718087;
    font-size: 10px;
    line-height: 1.1;
}

.ss-pdp3000-mobile-buybar__price {
    display: block;
    margin-top: 2px;
    color: var(--ss3-ink);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 800;
}

.ss-pdp3000-mobile-buybar__button,
.ss-pdp3000-desktop-dock__button {
    border: 0;
    border-radius: 10px;
    background: var(--ss3-teal);
    color: #fff;
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-weight: 800;
    cursor: pointer;
}

.ss-pdp3000-mobile-buybar__button {
    min-height: 45px;
    padding: 0 18px;
    font-size: 13px;
}

.ss-pdp3000-desktop-dock {
    right: 22px;
    bottom: calc(22px + var(--ss3-preview-offset));
    width: 360px;
    padding: 15px;
    background: rgba(255,255,255,.985);
    border: 1px solid var(--ss3-line);
    border-radius: 15px;
    box-shadow: 0 18px 48px rgba(17,24,28,.18);
}

.ss-pdp3000-desktop-dock__title {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #46565d;
    font-size: 11.5px;
    line-height: 1.2;
}

.ss-pdp3000-desktop-dock__row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
}

.ss-pdp3000-desktop-dock__price {
    display: block;
    color: var(--ss3-ink);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 21px;
    line-height: 1.1;
    font-weight: 800;
}

.ss-pdp3000-desktop-dock__delivery {
    display: block;
    margin-top: 3px;
    color: var(--ss3-green);
    font-size: 10.5px;
    line-height: 1.25;
    font-weight: 700;
}

.ss-pdp3000-desktop-dock__button {
    min-height: 44px;
    padding: 0 17px;
    font-size: 12.5px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 959px) {
    form.ss-pdp3000 > .row:first-of-type {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ss-pdp3000 .m-product-image {
        min-height: 0;
        padding: 14px;
    }

    .ss-pdp3000 .m-product-information {
        padding: 20px 18px 18px;
        border-radius: 15px;
    }

    .ss-pdp3000 .product-title {
        font-size: 24px !important;
    }

    .ss-pdp3000 .m-product-price {
        font-size: 33px !important;
    }

    .ss-pdp3000--device .m-product-short-description p {
        font-size: 14.5px !important;
    }

    .ss-pdp3000-readiness__columns {
        grid-template-columns: 1fr;
    }

    .ss-pdp3000-summary-section > h2,
    .products-related-headline,
    .products-also-bought-headline {
        font-size: 22px !important;
    }

    .ss-pdp3000-desktop-dock { display: none !important; }
}

@media (max-width: 767px) {
    .ss-pdp3000-mobile-buybar { display: grid; }

    body.ss-pdp3000-sticky-visible {
        padding-bottom: 76px;
    }

    .ss-pdp3000-actions-wrap .m-product-transaction,
    .ss-pdp3000-actions-wrap .product-transaction {
        grid-template-columns: 82px minmax(0,1fr);
    }

    .ss-pdp3000-payment__head {
        display: block;
    }

    .ss-pdp3000-payment__hint {
        display: block;
        margin-top: 2px;
    }

    .ss-pdp3000-trust {
        gap: 6px 10px;
        font-size: 11px;
    }

    .ss-pdp3000-summary-section,
    .ss-pdp3000-details,
    .ss-pdp3000-faq-upgraded {
        max-width: none;
    }

    .ss-pdp3000-summary-section .ss-cards {
        grid-template-columns: 1fr !important;
    }

    .ss-pdp3000-details > summary {
        font-size: 16px;
    }

    .ss-pdp3000-details__body {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ==========================================================
   PDP 3000.1 - runtime alignment + readability polish
   Uses explicit hero classes instead of brittle :first-of-type selectors.
   ========================================================== */

/* HERO: deterministic two-column purchase layout */
form.ss-pdp3000 > .ss-pdp3000-hero.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr) !important;
    gap: 34px !important;
    align-items: start !important;
    margin: 0 !important;
    width: 100% !important;
}

form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-gallery-col,
form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-buy-col {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-gallery-col { grid-column: 1; }
form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-buy-col { grid-column: 2; }

.ss-pdp3000 .ss-pdp3000-gallery-col .m-product-image {
    width: 100% !important;
    min-height: 540px;
    margin: 0 !important;
}

.ss-pdp3000 .ss-pdp3000-buy-col .m-product-information {
    width: 100% !important;
    margin: 0 !important;
}

/* Purchase cockpit gets more readable hierarchy in real DanDomain runtime. */
.ss-pdp3000 .ss-pdp3000-buy-col .product-title {
    font-size: 30px !important;
    line-height: 1.12 !important;
}

.ss-pdp3000 .ss-pdp3000-buy-col .m-product-price {
    font-size: 40px !important;
}

.ss-pdp3000 .ss-pdp3000-buy-col .m-product-short-description,
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-short-description p {
    font-size: 15.5px !important;
    line-height: 1.42 !important;
}

.ss-pdp3000-delivery__date { font-size: 18px; }
.ss-pdp3000-delivery__shipping { font-size: 13px; }
.ss-pdp3000-readiness__copy { font-size: 13.5px; }
.ss-pdp3000-readiness__group strong { font-size: 12.5px; }
.ss-pdp3000-readiness__list li { font-size: 13px; }
.ss-pdp3000-readiness__next { font-size: 13px; }
.ss-pdp3000-payment__label { font-size: 13px; }
.ss-pdp3000-payment__hint { font-size: 11.5px; }
.ss-pdp3000-trust { font-size: 12px; }
.ss-pdp3000 .m-smartswap-card-title { font-size: 14px !important; }
.ss-pdp3000 .m-smartswap-card-subtitle { font-size: 12.5px !important; }

/* Guarantee progressive disclosure even if the parent theme styles <details>. */
.ss-pdp3000-details:not([open]) > .ss-pdp3000-details__body,
.ss-pdp3000-faq-item:not([open]) > .ss-pdp3000-faq-item__body {
    display: none !important;
}

/* ASCII-only chevrons: avoids DanDomain encoding/mojibake in generated CSS content. */
.ss-pdp3000-details > summary::after,
.ss-pdp3000-details[open] > summary::after,
.ss-pdp3000-faq-item > summary::after,
.ss-pdp3000-faq-item[open] > summary::after {
    content: "" !important;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--ss3-teal-dark);
    border-bottom: 2px solid var(--ss3-teal-dark);
    font-size: 0 !important;
    transform: translateY(-65%) rotate(45deg);
    transform-origin: 50% 50%;
    transition: transform .18s ease;
}

.ss-pdp3000-details[open] > summary::after,
.ss-pdp3000-faq-item[open] > summary::after {
    transform: translateY(-25%) rotate(225deg);
}

/* Recommendations should not fall back to micro typography. */
.products-related .productItem,
.products-also-bought .productItem {
    font-size: 13px !important;
}
.products-related .productItem .product-title,
.products-also-bought .productItem .product-title,
.products-related .productItem [class*="title"],
.products-also-bought .productItem [class*="title"] {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

@media (max-width: 959px) {
    form.ss-pdp3000 > .ss-pdp3000-hero.row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-gallery-col,
    form.ss-pdp3000 > .ss-pdp3000-hero > .ss-pdp3000-buy-col {
        grid-column: 1 !important;
    }

    .ss-pdp3000 .ss-pdp3000-gallery-col .m-product-image {
        min-height: 0;
        padding: 16px !important;
        border-radius: 14px;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-information {
        padding: 20px 17px 18px !important;
        border-radius: 14px !important;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .product-title {
        font-size: 25px !important;
        line-height: 1.14 !important;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-price {
        font-size: 34px !important;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-short-description,
    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-short-description p {
        font-size: 15px !important;
    }

    .ss-pdp3000-delivery {
        padding: 13px !important;
    }

    .ss-pdp3000-delivery__date { font-size: 16.5px; }
    .ss-pdp3000-delivery__shipping { font-size: 12.5px; }

    .ss-pdp3000-readiness {
        padding: 14px !important;
    }
    .ss-pdp3000-readiness__title { font-size: 17px; }
    .ss-pdp3000-readiness__copy { font-size: 13.5px; }
    .ss-pdp3000-readiness__list li { font-size: 13px; }

    .ss-pdp3000-payment__label { font-size: 12.5px; }
    .ss-pdp3000-trust { font-size: 12px; line-height: 1.45; }

    .ss-pdp3000-summary-section > h2 {
        font-size: 23px !important;
    }

    .ss-pdp3000-summary-section .ss-card,
    .ss-pdp3000-summary-section .ss-callout,
    .ss-pdp3000-details__body,
    .ss-pdp3000-details__body p,
    .ss-pdp3000-details__body li {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }
}

@media (max-width: 560px) {
    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-information {
        padding: 18px 14px 16px !important;
        box-shadow: 0 8px 24px rgba(17,24,28,.07) !important;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .product-title {
        font-size: 22px !important;
    }

    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-price {
        font-size: 31px !important;
    }

    .ss-pdp3000-actions-wrap .m-product-transaction,
    .ss-pdp3000-actions-wrap .product-transaction {
        grid-template-columns: 74px minmax(0,1fr) !important;
        gap: 8px !important;
    }

    .ss-pdp3000-readiness__columns {
        gap: 7px !important;
    }

    .ss-pdp3000-payment {
        padding: 11px !important;
    }

    .ss-pdp3000-trust {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }

    .ss-pdp3000-details > summary {
        padding: 15px 46px 15px 15px !important;
        font-size: 16.5px !important;
    }

    .ss-pdp3000-faq-item > summary {
        font-size: 15px !important;
    }
}

/* ==========================================================
   PDP 3000.2 - purchase cockpit cleanup
   Fixes DanDomain runtime alignment, mojibake, CTA, payment logos
   and reduces pre-purchase clutter on mobile.
   ========================================================== */

/* Natural casing and hard left alignment in the purchase hierarchy. */
.ss-pdp3000 .ss-pdp3000-buy-col .product-title {
    text-transform: none !important;
}
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-offer,
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-offers,
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-priceline,
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-price,
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-offers > p,
.ss-pdp3000 .ss-pdp3000-buy-col [class*="price"] {
    text-align: left !important;
    justify-content: flex-start !important;
}
.ss-pdp3000 .ss-pdp3000-buy-col .m-product-price {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* PDP 3000.3: native Anyday + ViaBill live directly below the price. */
.ss-pdp3000-financing-native {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin: 7px 0 12px;
    gap: 3px;
    color: #4f6067;
    font-size: 12.5px;
    line-height: 1.35;
    text-align: left !important;
}
.ss-pdp3000-financing-native__anyday,
.ss-pdp3000-financing-native__viabill {
    display: block;
    width: 100%;
    min-height: 18px;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
.ss-pdp3000-financing-native anyday-price-widget {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    color: #4f6067 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    text-align: left !important;
}
.ss-pdp3000-financing-native__viabill,
.ss-pdp3000-financing-native__viabill > *,
.ss-pdp3000-financing-native__viabill div,
.ss-pdp3000-financing-native__viabill p,
.ss-pdp3000-financing-native__viabill span,
.ss-pdp3000-financing-native__viabill a {
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Encoding-safe feature checks: draw the checkmark in CSS instead of using a glyph. */
.ss-pdp3000--device .m-product-short-description p::before {
    content: "" !important;
    top: .10em !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #e6f8f8 !important;
}
.ss-pdp3000--device .m-product-short-description p::after {
    content: "";
    position: absolute;
    left: 6px;
    top: .28em;
    width: 5px;
    height: 9px;
    border-right: 2px solid var(--ss3-teal-dark);
    border-bottom: 2px solid var(--ss3-teal-dark);
    transform: rotate(45deg);
    box-sizing: border-box;
}

/* Device PDPs default to one unit. Keep DanDomain's native action controls in the
   DOM for submission, but do not show the awkward quantity/unit UI. */
.ss-pdp3000--device .ss-pdp3000-actions-wrap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.ss-pdp3000-primary-buy {
    display: block;
    width: 100%;
    min-height: 56px;
    margin: 14px 0 0;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    background: var(--ss3-teal);
    color: #fff;
    box-shadow: 0 10px 22px rgba(0,173,181,.20);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 17px;
    line-height: 1.1;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
    transition: background .16s ease, transform .16s ease;
}
.ss-pdp3000-primary-buy:hover,
.ss-pdp3000-primary-buy:focus {
    background: #009ca4;
}
.ss-pdp3000-primary-buy:active {
    transform: translateY(1px);
}
.ss-pdp3000-primary-buy:disabled {
    opacity: .55;
    cursor: default;
}

/* Readiness should prepare the cross-sell, not become a mini-specification table. */
.ss-pdp3000-readiness-slot {
    margin: 12px 0 0;
}
.ss-pdp3000-readiness {
    padding: 13px 14px;
    border: 1px solid #d7eeee;
    border-radius: 13px;
    background: linear-gradient(135deg, #f2fbfb 0%, #fffaf1 100%);
}
.ss-pdp3000-readiness__eyebrow {
    margin-bottom: 3px;
    font-size: 10.5px;
}
.ss-pdp3000-readiness__title {
    font-size: 15.5px;
    line-height: 1.28;
}
.ss-pdp3000-readiness__copy {
    margin: 4px 0 8px;
    font-size: 12.5px;
    line-height: 1.38;
}
.ss-pdp3000-readiness__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.ss-pdp3000-readiness__chip {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 8px;
    border: 1px solid rgba(0,173,181,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    color: #42535a;
    font-size: 11.5px;
    line-height: 1.2;
    font-weight: 700;
}
.ss-pdp3000-readiness__chip::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--ss3-teal);
    flex: 0 0 auto;
}
.ss-pdp3000-readiness__chip--included::before {
    background: var(--ss3-green);
}
.ss-pdp3000-readiness__next {
    margin-top: 8px;
    font-size: 11.5px;
    line-height: 1.35;
}

/* Payment methods: the JS flattens DanDomain's nested widget into this row. */
.ss-pdp3000-payment {
    margin-top: 12px;
    padding: 13px 14px;
}
.ss-pdp3000-payment__label {
    font-size: 13.5px !important;
}
.ss-pdp3000-payment__hint {
    font-size: 11.5px !important;
}
.ss-pdp3000-payment__icons.is-normalized {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.ss-pdp3000-payment__icons.is-normalized img {
    display: block !important;
    width: auto !important;
    height: 24px !important;
    max-width: 52px !important;
    max-height: 24px !important;
    object-fit: contain !important;
    margin: 0 !important;
}
.ss-pdp3000-payment__fallback {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid #dce5e7;
    border-radius: 7px;
    background: #fff;
    color: #485960;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}
.ss-pdp3000-trust {
    margin-top: 10px;
    gap: 6px 16px;
    font-size: 12.5px !important;
    line-height: 1.35;
}

/* Slightly stronger SmartSwap hierarchy without competing with the CTA. */
.ss-pdp3000 .m-smartswap-card-inner {
    padding: 13px 14px !important;
}
.ss-pdp3000 .m-smartswap-card-title {
    font-size: 14.5px !important;
}
.ss-pdp3000 .m-smartswap-card-subtitle {
    font-size: 12.5px !important;
}

/* Guide links are supporting content and are moved below FAQ by JS. */
.ss-guide-snippet-v3--under-image.ss-pdp3000-guide-lower {
    max-width: 1080px;
    margin: 24px auto 0 !important;
}

/* Recommendations should visually belong to the redesigned PDP. */
.products-related-list .productItem .m-productlist-price,
.products-also-bought-list .productItem .m-productlist-price,
.products-related-list .productItem [class*="price"],
.products-also-bought-list .productItem [class*="price"] {
    font-size: 14px !important;
    font-weight: 800 !important;
}
.products-related-list .productItem .button,
.products-also-bought-list .productItem .button {
    min-height: 36px !important;
    font-size: 11.5px !important;
}

@media (max-width: 767px) {
    .ss-pdp3000 .ss-pdp3000-buy-col .product-title {
        font-size: 21px !important;
        line-height: 1.16 !important;
    }
    .ss-pdp3000 .ss-pdp3000-buy-col .m-product-price {
        font-size: 32px !important;
    }
    .ss-pdp3000-financing {
        font-size: 12.5px;
    }
    .ss-pdp3000--device .m-product-short-description p {
        font-size: 14.5px !important;
        line-height: 1.38 !important;
        padding-left: 24px !important;
    }
    .ss-pdp3000-primary-buy {
        min-height: 52px;
        margin-top: 11px;
        font-size: 16px;
    }
    .ss-pdp3000-readiness {
        padding: 12px !important;
    }
    .ss-pdp3000-readiness__title {
        font-size: 15px !important;
    }
    .ss-pdp3000-readiness__copy {
        font-size: 12.5px !important;
    }
    .ss-pdp3000-readiness__chip {
        font-size: 11.5px;
    }
    .ss-pdp3000-payment {
        padding: 12px !important;
    }
    .ss-pdp3000-payment__head {
        display: flex !important;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
    }
    .ss-pdp3000-payment__hint {
        margin-top: 0 !important;
        text-align: right;
    }
    .ss-pdp3000-trust {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px 12px !important;
        font-size: 11.75px !important;
    }
}


/* ==========================================================
   PDP 3000.3 - clearer box contents / missing accessories
   ========================================================== */
.ss-pdp3000-readiness {
    background: #fff !important;
    border: 1px solid #dce7e9 !important;
    padding: 14px !important;
}
.ss-pdp3000-readiness__title {
    margin: 2px 0 4px !important;
    color: #152126 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}
.ss-pdp3000-readiness__copy {
    max-width: 54ch;
    margin: 0 0 11px !important;
    color: #52636a !important;
    font-size: 12.5px !important;
}
.ss-pdp3000-readiness__groups {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}
.ss-pdp3000-readiness__group {
    padding: 10px 11px !important;
    border: 1px solid transparent;
    border-radius: 10px !important;
}
.ss-pdp3000-readiness__group--included {
    border-color: #cfe9df;
    background: #f3fbf7 !important;
}
.ss-pdp3000-readiness__group--missing {
    border-color: #f0dfb9;
    background: #fffaf0 !important;
}
.ss-pdp3000-readiness__group-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
}
.ss-pdp3000-readiness__group-head > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.ss-pdp3000-readiness__group-head strong {
    margin: 0 !important;
    color: #1d2b30;
    font-size: 12.5px !important;
    line-height: 1.2;
    font-weight: 800;
}
.ss-pdp3000-readiness__group-head small {
    margin-top: 1px;
    color: #68787e;
    font-size: 10.5px;
    line-height: 1.2;
}
.ss-pdp3000-readiness__group-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
}
.ss-pdp3000-readiness__group--included .ss-pdp3000-readiness__group-icon {
    background: #dff4e9;
}
.ss-pdp3000-readiness__group--included .ss-pdp3000-readiness__group-icon::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 5px;
    width: 6px;
    height: 10px;
    border-right: 2px solid #23855d;
    border-bottom: 2px solid #23855d;
    transform: rotate(45deg);
}
.ss-pdp3000-readiness__group--missing .ss-pdp3000-readiness__group-icon {
    background: #fff0cb;
}
.ss-pdp3000-readiness__group--missing .ss-pdp3000-readiness__group-icon::before,
.ss-pdp3000-readiness__group--missing .ss-pdp3000-readiness__group-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 11px;
    width: 10px;
    height: 2px;
    border-radius: 1px;
    background: #a36d00;
}
.ss-pdp3000-readiness__group--missing .ss-pdp3000-readiness__group-icon::after {
    transform: rotate(90deg);
}
.ss-pdp3000-readiness__list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.ss-pdp3000-readiness__list li {
    position: relative;
    margin: 5px 0 !important;
    padding: 0 0 0 17px !important;
    color: #33454c !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 650;
}
.ss-pdp3000-readiness__list li::before {
    position: absolute;
    left: 0;
    top: .03em;
    font-weight: 900;
}
.ss-pdp3000-readiness__list--included li::before {
    content: "" !important;
    width: 5px;
    height: 9px;
    left: 3px;
    top: .12em;
    border-right: 2px solid #23855d;
    border-bottom: 2px solid #23855d;
    transform: rotate(45deg);
}
.ss-pdp3000-readiness__list--missing li::before {
    content: "+" !important;
    color: #9a6900;
    font-size: 14px;
    line-height: 1;
}
.ss-pdp3000-readiness__next {
    margin-top: 10px !important;
    color: #42555c !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}
.ss-pdp3000-readiness__next strong {
    color: var(--ss3-teal-dark);
    font-weight: 800;
}
@media (max-width: 767px) {
    .ss-pdp3000-financing-native {
        margin-top: 5px;
        margin-bottom: 10px;
        font-size: 12px;
    }
    .ss-pdp3000-financing-native anyday-price-widget {
        font-size: 12px !important;
    }
    .ss-pdp3000-readiness__groups {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .ss-pdp3000-readiness__group {
        padding: 9px 10px !important;
    }
}


/* ==========================================================================
   PDP 3001A - UNIVERSAL PRODUCT ARCHITECTURE
   One purchase shell across categories. Product-specific behavior comes from
   data-pdp-profile; product data remains importable through DanDomain.
   ========================================================================== */

.ss-pdp3001 {
    --ss31-text: #102026;
    --ss31-muted: #63727a;
    --ss31-line: #dde8ea;
}

/* A consistent typographic floor. DanDomain's legacy microtext must not define PDP 3001. */
.ss-pdp3001 .ss-pdp3000-buy-col,
.ss-pdp3001 .ss-pdp3000-buy-col p,
.ss-pdp3001 .ss-pdp3000-buy-col li,
.ss-pdp3001 .ss-pdp3000-buy-col span:not(.h4):not(.m-product-price) {
    font-size: max(13px, 0.86rem);
}

/* Short description becomes the universal 2-4 point purchase-highlight source. */
.ss-pdp3001 .m-description-short-wrap { margin: 12px 0 0 !important; }
.ss-pdp3001 .m-product-short-description { margin: 0 !important; }
.ss-pdp3001 .m-product-short-description .ss-pdp3001-highlights {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 7px;
}
.ss-pdp3001 .ss-pdp3001-highlights li {
    position: relative;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
    color: var(--ss31-text) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
}
.ss-pdp3001 .ss-pdp3001-highlights li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .08em;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #e7f8f8;
}
.ss-pdp3001 .ss-pdp3001-highlights li::after {
    content: "";
    position: absolute;
    left: 5px;
    top: .27em;
    width: 5px;
    height: 9px;
    border-right: 2px solid #008a91;
    border-bottom: 2px solid #008a91;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.ss-pdp3001 .m-product-short-description hr,
.ss-pdp3001 .m-product-description-separator { display: none !important; }

/* PDP 3001: special attention copy from DESCRIPTION_SHORT_DK.
   Any trailing block starting with "OBS." / "OBS:" is lifted out of the normal
   four highlights and rendered as a distinct, theme-owned notice. */
.ss-pdp3001 .ss-pdp3001-attention {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 11px 0 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #efcccc !important;
    border-left: 4px solid #d92d20 !important;
    border-radius: 10px;
    background: #fff5f5 !important;
    color: #48201e !important;
    box-sizing: border-box;
}
.ss-pdp3001 .ss-pdp3001-attention__icon {
    display: flex !important;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    border-radius: 50%;
    background: #d92d20;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900;
    line-height: 1 !important;
}
.ss-pdp3001 .ss-pdp3001-attention__content {
    min-width: 0;
}
.ss-pdp3001 .ss-pdp3001-attention__title {
    display: block;
    margin: 0 !important;
    color: #9b201b !important;
    font-size: 13px !important;
    font-weight: 800;
    line-height: 1.35 !important;
}
.ss-pdp3001 .ss-pdp3001-attention__text {
    margin: 3px 0 0 !important;
    color: #5e3936 !important;
    font-size: 12px !important;
    line-height: 1.48 !important;
}

/* One primary purchase component for every normal product.
   DanDomain's native action stays accessible in the DOM as our functional source. */
/* PDP 3001A.1: ss-pdp3001-ready is added after the universal purchase
   component is initialized, so the native DanDomain action is hidden once
   our proxy controls are ready (prevents duplicate buy buttons). */
.ss-pdp3001-ready .ss-pdp3000-actions-wrap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.ss-pdp3001-purchase-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    margin-top: 14px;
}
.ss-pdp3001-purchase-row.is-single { grid-template-columns: minmax(0, 1fr); }
.ss-pdp3001-purchase-row .ss-pdp3000-primary-buy {
    width: 100% !important;
    margin: 0 !important;
    min-height: 54px;
    font-size: 15px !important;
    font-weight: 800 !important;
}
.ss-pdp3001-qty {
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    min-height: 54px;
    border: 1px solid #d7e2e4;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.ss-pdp3001-qty__button {
    height: 100%;
    border: 0;
    background: #f5f8f9;
    color: #102026;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
}
.ss-pdp3001-qty__button:hover { background: #edf5f6; }
.ss-pdp3001-qty__value {
    text-align: center;
    color: #102026;
    font-size: 15px !important;
    font-weight: 800;
}

/* Non-device products now receive the same purchase emphasis as mobiles. */
.ss-pdp3001:not(.ss-pdp3000--device) .ss-pdp3000-buy-col .product-title {
    font-size: 25px !important;
    line-height: 1.18 !important;
}
.ss-pdp3001:not(.ss-pdp3000--device) .ss-pdp3000-buy-col .m-product-price {
    font-size: 36px !important;
    line-height: 1.05 !important;
}
.ss-pdp3001:not(.ss-pdp3000--device) .m-product-short-description p,
.ss-pdp3001:not(.ss-pdp3000--device) .m-product-short-description li {
    font-size: 14px !important;
    line-height: 1.42 !important;
}

/* Product profiles are intentionally light in 3001A. They are hooks for the next
   category-specific content layer without hardcoding styling into product HTML. */
.ss-pdp3001--audio .ss-pdp3000-buy-col,
.ss-pdp3001--earbuds .ss-pdp3000-buy-col,
.ss-pdp3001--charging .ss-pdp3000-buy-col,
.ss-pdp3001--wearable .ss-pdp3000-buy-col,
.ss-pdp3001--gaming .ss-pdp3000-buy-col,
.ss-pdp3001--household .ss-pdp3000-buy-col,
.ss-pdp3001--accessory .ss-pdp3000-buy-col,
.ss-pdp3001--gadget .ss-pdp3000-buy-col,
.ss-pdp3001--computer .ss-pdp3000-buy-col,
.ss-pdp3001--smart-home .ss-pdp3000-buy-col {
    align-self: start;
}

/* Legacy content safety: 3001A only restructures the known Smartphoneshop master.
   Unknown legacy HTML remains rendered as supplied by DanDomain. */
body[data-pdp-content-mode="legacy-raw"] .ck-content {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .ss-pdp3001 .ss-pdp3001-highlights li { font-size: 14px !important; }
    .ss-pdp3001-purchase-row { grid-template-columns: 102px minmax(0, 1fr); gap: 8px; }
    .ss-pdp3001-purchase-row.is-single { grid-template-columns: minmax(0, 1fr); }
    .ss-pdp3001-qty,
    .ss-pdp3001-purchase-row .ss-pdp3000-primary-buy { min-height: 52px; }
}

/* ================================================================
   PDP CONTENT CONTRACT v1.1
   Structural presentation belongs to the theme, never product HTML.
   Supports both legacy Smartphoneshop master markup and the new
   SHORT/LONG contract used by Hurtel imports.
   ================================================================ */
body.ss-pdp3001-page .ss-cards {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 14px;
    margin: 16px 0 18px;
}

body.ss-pdp3001-page .ss-card {
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid var(--ss3-line, #dfe8ea);
    border-radius: 14px;
    background: #fff;
    color: #394950;
}

body.ss-pdp3001-page .ss-card-title,
body.ss-pdp3001-page .ss-callout-title {
    margin: 0 0 9px;
    color: var(--ss3-ink, #11181c);
    font-family: "Alexandria", "Open Sans", sans-serif;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;
}

body.ss-pdp3001-page .ss-card ul,
body.ss-pdp3001-page .ss-card .ss-check {
    margin: 0;
    padding-left: 20px;
}

body.ss-pdp3001-page .ss-card li {
    margin: 6px 0;
}

body.ss-pdp3001-page .ss-card p,
body.ss-pdp3001-page .ss-callout p {
    margin: 0;
}

body.ss-pdp3001-page .ss-callout {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #dcebed;
    border-left: 5px solid var(--ss3-teal-dark, #008f96);
    border-radius: 12px;
    background: #f3f9fa;
    color: #394950;
}

/* New contract specs deliberately contain no icons/layout CSS. */
body.ss-pdp3001-page .ss-specs {
    overflow: hidden;
    border: 1px solid var(--ss3-line, #dfe8ea);
    border-radius: 12px;
    background: #fff;
}

body.ss-pdp3001-page .ss-specs-row > .ss-specs-title {
    margin: 0 0 7px;
    color: var(--ss3-ink, #11181c);
    font-weight: 800;
}

body.ss-pdp3001-page .ss-specs-row > ul {
    margin: 0;
    padding-left: 18px;
}

body.ss-pdp3001-page .ss-specs-row:not(:has(.ss-specs-main)) {
    padding: 14px 16px;
}

body.ss-pdp3001-page .ss-specs-row:not(:has(.ss-specs-main)):nth-child(even) {
    background: #fafcfc;
}

body.ss-pdp3001-page .ss-description {
    color: #394950;
    font-size: 15.5px;
    line-height: 1.62;
}

body.ss-pdp3001-page .ss-faq {
    margin: 14px 0 18px;
}

body.ss-pdp3001-page .ss-faq-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--ss3-line, #dfe8ea);
}

body.ss-pdp3001-page .ss-faq-item h3 {
    margin: 0 0 6px;
}

body.ss-pdp3001-page .ss-eat {
    margin-top: 18px;
    color: #64757b;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

@media (max-width: 767px) {
    body.ss-pdp3001-page .ss-cards {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ================================================================
   PDP 3001.2 - FINAL ALIGNMENT + TRANSACTIONAL TRUST
   Same content rail from summary through recommendations; native SKU
   restored; e-mark and PriceRunner placed where they support purchase.
   ================================================================ */

/* Native DanDomain item number is useful product information. Keep the
   source markup (including variant-aware values), but present it as quiet
   metadata instead of the old warning panel. */
.ss-pdp3001-ready .m-product-info {
    display: block !important;
    width: 100% !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ss-pdp3001-ready .m-product-info .panel-body {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.ss-pdp3001-ready .m-product-info .m-product-weight {
    display: none !important;
}
.ss-pdp3001-ready .m-product-itemNumber {
    display: flex !important;
    align-items: baseline;
    gap: 4px;
    margin: 0 !important;
    color: #718087 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}
.ss-pdp3001-ready .m-product-itemNumber-text,
.ss-pdp3001-ready .m-product-itemNumber-value {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}
.ss-pdp3001-ready .m-product-itemNumber-text {
    font-weight: 700 !important;
}
.ss-pdp3001-ready .m-product-itemNumber-value {
    font-weight: 500 !important;
}

/* DanDomain's small orphan description label is superseded by the PDP's own
   content hierarchy. JS marks only the exact native label. */
body.ss-pdp3001-page [data-pdp-description-label-hidden="1"] {
    display: none !important;
}

/* One post-hero content rail. Recommendations are outside the native product
   container in the template, so they need their own max-width to line up with
   summary/details/FAQ. */
body.ss-pdp3001-page .ss-pdp3000-summary-section,
body.ss-pdp3001-page .ss-pdp3000-details,
body.ss-pdp3001-page .ss-pdp3000-faq-upgraded,
body.ss-pdp3001-page .ss-guide-snippet-v3--under-image.ss-pdp3000-guide-lower,
body.ss-pdp3001-page .ss-eat {
    box-sizing: border-box;
    width: 100%;
    max-width: 1080px;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.ss-pdp3001-page .ss-pdp-recommendations {
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* PriceRunner = price proof, therefore it belongs immediately below the price
   financing line. Override the old global absolute-position rule. */
.ss-pdp3001 .m-pricerunner-badge.ss-pdp3001-pricerunner {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 2px 0 10px !important;
    padding: 0 !important;
    visibility: visible !important;
}
.ss-pdp3001 .m-pricerunner-badge.ss-pdp3001-pricerunner > a {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.ss-pdp3001 .m-pricerunner-badge.ss-pdp3001-pricerunner #pricerunner,
.ss-pdp3001 .m-pricerunner-badge.ss-pdp3001-pricerunner img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 118px !important;
    max-height: 34px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* e-mærket review/certification widget belongs at the transaction point. It is
   moved by JS to sit directly below the compact reassurance row. Do not reserve
   space while the async widget is empty. */
body.ss-pdp3001-page #emaerket-widget-qyyf2r3udj.ss-pdp3001-emaerket {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 8px 0 0 !important;
    border-top: 1px solid #edf2f3;
    overflow: hidden;
}
body.ss-pdp3001-page #emaerket-widget-qyyf2r3udj.ss-pdp3001-emaerket:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.ss-pdp3001-page #emaerket-widget-qyyf2r3udj.ss-pdp3001-emaerket iframe,
body.ss-pdp3001-page #emaerket-widget-qyyf2r3udj.ss-pdp3001-emaerket > * {
    max-width: 100% !important;
}

@media (max-width: 767px) {
    body.ss-pdp3001-page .ss-pdp-recommendations {
        width: calc(100% - 24px);
    }
    .ss-pdp3001-ready .m-product-itemNumber {
        font-size: 11px !important;
    }
    .ss-pdp3001 .m-pricerunner-badge.ss-pdp3001-pricerunner {
        margin-bottom: 8px !important;
    }
}

/* ===== PDP recommendations ===== */
/* Smartphoneshop PDP3001B.3 – recommendation cards
   Final visual pass: explicit relations only, one owned grid, lighter typography. */

.ss-pdp-recommendations {
  margin: 36px auto 46px;
  padding: 0;
  max-width: 100%;
}

.ss-pdp-recommendations__head {
  margin: 0 0 18px;
  text-align: left;
}

.ss-pdp-recommendations__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #007f86;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ss-pdp-recommendations__title {
  margin: 0;
  color: #11181c;
  font-family: Alexandria, Arial, sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.ss-pdp-recommendations__copy {
  margin: 6px 0 0;
  color: #5d6a70;
  font-size: 14px;
  line-height: 1.45;
}

/* Hide legacy headings/noise only inside this module. */
.ss-pdp-recommendations .page-title,
.ss-pdp-recommendations p.products-related-headline,
.ss-pdp-recommendations .m-pricerunner-badge,
.ss-pdp-recommendations .m-productlist-brand,
.ss-pdp-recommendations .m-productlist-brand-link,
.ss-pdp-recommendations .m-productlist-itemNumber,
.ss-pdp-recommendations .m-productlist-short-description,
.ss-pdp-recommendations .m-productlist-stock,
.ss-pdp-recommendations .m-reviews-stars {
  display: none !important;
}

.ss-pdp-recommendations .m-productlist-list,
.ss-pdp-recommendations .products-related-list {
  margin: 0 !important;
}

/* JS marks the actual card row once DanDomain has rendered it. This avoids
   applying grid styles to nested .row elements in buttons/transactions. */
.ss-pdp-recommendations .ss-pdp-rec-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
}

.ss-pdp-recommendations .ss-pdp-rec-source-row--empty {
  display: none !important;
}

.ss-pdp-recommendations .ss-pdp-rec-grid--owned {
  width: 100%;
}

.ss-pdp-recommendations .ss-pdp-rec-grid > .ss-pdp-rec-col {
  display: flex !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ss-pdp-recommendations .productItem,
.ss-pdp-recommendations .m-productlist-list-item,
.ss-pdp-recommendations article.productContent {
  text-align: left !important;
}

.ss-pdp-recommendations article.productContent,
.ss-pdp-recommendations .type-col > article,
.ss-pdp-recommendations .productContent {
  box-sizing: border-box;
  width: 100%;
  height: 100% !important;
  min-height: 100%;
  padding: 16px !important;
  border: 1px solid #dbe6e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(17,24,28,.045);
  overflow: hidden;
}

/* Let the description area absorb title-height differences so price/CTA align. */
.ss-pdp-recommendations article.productContent > form,
.ss-pdp-recommendations .productContent > form {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.ss-pdp-recommendations .product-description,
.ss-pdp-recommendations .m-productlist-heading,
.ss-pdp-recommendations .m-productlist-transactions {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ss-pdp-recommendations .product-description {
  flex: 1 1 auto;
}

/* Stable visual slot for every product image. */
.ss-pdp-recommendations .m-productlist-figure,
.ss-pdp-recommendations figure.image {
  position: relative;
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-height: 176px;
  height: 176px;
  margin: 0 0 12px !important;
  padding: 7px !important;
  border-radius: 10px;
  background: #fbfcfc;
  overflow: hidden;
}

.ss-pdp-recommendations .m-productlist-figure > a,
.ss-pdp-recommendations figure.image > a,
.ss-pdp-recommendations .m-productlist-figure .placeholder-wrapper,
.ss-pdp-recommendations figure.image .placeholder-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

.ss-pdp-recommendations .m-productlist-figure .placeholder,
.ss-pdp-recommendations figure.image .placeholder {
  display: none !important;
}

.ss-pdp-recommendations .m-productlist-image,
.ss-pdp-recommendations figure.image img:not(.m-pricerunner-badge img) {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 160px !important;
  margin: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.ss-pdp-recommendations .m-productlist-title,
.ss-pdp-recommendations .title h4,
.ss-pdp-recommendations .product-title {
  min-height: 0 !important;
  margin: 0 0 8px !important;
  color: #11181c !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.38 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  min-height: 68px !important;
}

.ss-pdp-recommendations .m-productlist-price,
.ss-pdp-recommendations .price {
  margin: 0 0 10px !important;
  color: #11181c !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.ss-pdp-recommendations .m-productlist-transactions {
  flex: 0 0 auto;
  margin-top: auto !important;
  text-align: left !important;
}

.ss-pdp-recommendations .prices,
.ss-pdp-recommendations .product-various-price-info {
  text-align: left !important;
}

/* No quantity selector in recommendation cards: the PDP is for discovery/add-one.
   Quantity remains available on the destination PDP/cart. */
.ss-pdp-recommendations .m-productlist-amount,
.ss-pdp-recommendations .product-action .col-s-1,
.ss-pdp-recommendations .product-action .col-m-4,
.ss-pdp-recommendations .product-action .col-l-4,
.ss-pdp-recommendations .product-action .col-xl-8 {
  display: none !important;
}

.ss-pdp-recommendations .m-productlist-tractions-button,
.ss-pdp-recommendations .product-action .col-s-3,
.ss-pdp-recommendations .product-action .col-m-8,
.ss-pdp-recommendations .product-action .col-l-8,
.ss-pdp-recommendations .product-action .col-xl-16 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

.ss-pdp-recommendations .product-action,
.ss-pdp-recommendations .product-action .row,
.ss-pdp-recommendations .product-action fieldset {
  margin: 0 !important;
  padding: 0 !important;
}

.ss-pdp-recommendations .product-action {
  flex: 0 0 auto;
  margin-top: auto !important;
}

.ss-pdp-recommendations .product-action .button-primary,
.ss-pdp-recommendations .m-productlist-tractions-button .button-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px;
  padding: 10px 14px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* The button label is sufficient; the inherited DanDomain cart glyph is
   slightly off-axis inside the recommendation cards and adds visual noise. */
.ss-pdp-recommendations .product-action button[name="cartadd"] i {
  display: none !important;
}

.ss-pdp-recommendations .product-action button[name="cartadd"] span {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 959px) {
  .ss-pdp-recommendations .ss-pdp-rec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
  }
}

@media (max-width: 767px) {
  .ss-pdp-recommendations {
    margin-top: 28px;
    margin-bottom: 32px;
  }
  .ss-pdp-recommendations__title { font-size: 21px; }
  .ss-pdp-recommendations__copy { font-size: 13px; }
  .ss-pdp-recommendations article.productContent,
  .ss-pdp-recommendations .type-col > article,
  .ss-pdp-recommendations .productContent {
    padding: 10px !important;
    border-radius: 12px;
  }
  .ss-pdp-recommendations .m-productlist-figure,
  .ss-pdp-recommendations figure.image {
    min-height: 128px;
    height: 128px;
    padding: 6px !important;
  }
  .ss-pdp-recommendations .m-productlist-image,
  .ss-pdp-recommendations figure.image img:not(.m-pricerunner-badge img) {
    max-height: 116px !important;
  }
  .ss-pdp-recommendations .m-productlist-title,
  .ss-pdp-recommendations .title h4,
  .ss-pdp-recommendations .product-title {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    line-height: 1.36 !important;
    min-height: 60px !important;
  }
  .ss-pdp-recommendations .m-productlist-price,
  .ss-pdp-recommendations .price { font-size: 16px !important; font-weight: 700 !important; }
}

@media (max-width: 370px) {
  .ss-pdp-recommendations .ss-pdp-rec-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Recommendation Index v1 – dynamic PDP cards
   ============================================================ */
.ss-pdp-recommendations[hidden] { display: none !important; }

.ss-pdp-rec-grid--dynamic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ss-pdp-rec-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e6e8ee;
  border-radius: 14px;
  background: #fff;
}

.ss-pdp-rec-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 14px;
  background: #fff;
  text-decoration: none;
}

.ss-pdp-rec-card__image img {
  width: 100%;
  height: 100%;
  max-width: 180px;
  max-height: 180px;
  object-fit: contain;
}

.ss-pdp-rec-card__image-placeholder {
  width: 72%;
  height: 72%;
  border-radius: 12px;
  background: #f3f5f7;
}

.ss-pdp-rec-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0 14px 14px;
}

.ss-pdp-rec-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.ss-pdp-rec-card__role,
.ss-pdp-rec-card__tier {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.ss-pdp-rec-card__role {
  background: #eef8f9;
  color: #176f75;
}

.ss-pdp-rec-card__tier {
  background: #f4f5f7;
  color: #4c5560;
}

.ss-pdp-rec-card__title {
  display: -webkit-box;
  overflow: hidden;
  min-height: 42px;
  color: #11181c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ss-pdp-rec-card__title:hover { text-decoration: underline; }

.ss-pdp-rec-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 13px;
}

.ss-pdp-rec-card__meta strong {
  color: #11181c;
  font-size: 16px;
  font-weight: 800;
}

.ss-pdp-rec-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef8f9;
  color: #176f75;
  font-size: 10px;
  font-weight: 700;
}

.ss-pdp-rec-card__add {
  width: 100%;
  min-height: 42px;
  margin-top: 11px;
  border: 0;
  border-radius: 9px;
  background: #00adb5;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.ss-pdp-rec-card__add:hover { filter: brightness(.96); }
.ss-pdp-rec-card__add:disabled { cursor: default; opacity: .72; }
.ss-pdp-rec-card__add.is-added { background: #167c53; opacity: 1; }

@media (max-width: 900px) {
  .ss-pdp-rec-grid--dynamic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .ss-pdp-rec-grid--dynamic {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ss-pdp-rec-card__image { padding: 10px; }
  .ss-pdp-rec-card__body { padding: 0 10px 10px; }
  .ss-pdp-rec-card__title { font-size: 13px; }
  .ss-pdp-rec-card__meta strong { font-size: 15px; }
}

/* ============================================================
   A23 – PDP recommendation UX + cart feedback
   ============================================================ */
.ss-pdp-rec-card {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ss-pdp-rec-card.is-added {
  border-color: #8fd7b7;
  box-shadow: 0 0 0 3px rgba(22,124,83,.08);
}

.ss-pdp-rec-card__add {
  position: relative;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ss-pdp-rec-card__add.is-loading {
  opacity: .82;
}

.ss-pdp-rec-card__add.is-added {
  background: #167c53;
  box-shadow: 0 6px 16px rgba(22,124,83,.16);
  opacity: 1;
}

.ss-cart-just-updated {
  animation: ssCartPulse .85s ease;
}

@keyframes ssCartPulse {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.035); }
}

.ss-pdp-rec-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 10050;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  width: min(520px, calc(100vw - 32px));
  padding: 13px 14px;
  border: 1px solid #c9e8d9;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(17,24,28,.18);
  color: #11181c;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.ss-pdp-rec-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ss-pdp-rec-toast__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e5f6ed;
  color: #167c53;
  font-size: 18px;
  font-weight: 900;
}

.ss-pdp-rec-toast__copy {
  min-width: 0;
}

.ss-pdp-rec-toast__copy strong,
.ss-pdp-rec-toast__copy span {
  display: block;
}

.ss-pdp-rec-toast__copy strong {
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 850;
}

.ss-pdp-rec-toast__copy span {
  overflow: hidden;
  color: #59666c;
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ss-pdp-rec-toast__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 11px;
  border-radius: 9px;
  background: #00adb5;
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none !important;
  white-space: nowrap;
}

.ss-pdp-rec-toast__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #718087;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.ss-pdp-rec-toast__close:hover {
  background: #f3f6f7;
  color: #11181c;
}

@media (max-width: 620px) {
  .ss-pdp-rec-toast {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .ss-pdp-rec-toast__link {
    grid-column: 2 / 4;
    width: 100%;
  }

  .ss-pdp-rec-toast__close {
    grid-column: 3;
    grid-row: 1;
  }
}

/* ===== PDP bundle pricing ===== */
/* Smartphoneshop PDP – quantity + cross-product bundle pricing, Tilvalg 3.0 alpha 1.2 */
.ss-pdp-bundle-tier-hidden,
.ss-pdp-bundle-native-paragraph-hidden { display:none !important; }

.ss-pdp-bundle-pricing {
  margin:10px 0 12px;
  padding:0;
}
.ss-pdp-bundle-pricing__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin:0 0 7px;
}
.ss-pdp-bundle-pricing__head > span {
  color:#008b93;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.07em;
}
.ss-pdp-bundle-pricing__head > small {
  color:#758187;
  font-size:10px;
  line-height:1.2;
  text-align:right;
}
.ss-pdp-bundle-pricing__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.ss-pdp-bundle-tier {
  position:relative;
  display:flex;
  min-width:0;
  min-height:92px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:3px;
  padding:12px 9px 9px 30px;
  border:1px solid #d7e2e4;
  border-radius:12px;
  background:#fff;
  color:#11181c;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.ss-pdp-bundle-tier:hover {
  border-color:#7bcbd0;
  background:#fbfefe;
}
.ss-pdp-bundle-tier.is-active {
  border-color:#00adb5;
  background:#f2fcfc;
  box-shadow:0 0 0 1px rgba(0,173,181,.08);
}
.ss-pdp-bundle-tier__radio {
  position:absolute;
  top:13px;
  left:10px;
  width:14px;
  height:14px;
  border:2px solid #a6b7bb;
  border-radius:50%;
  background:#fff;
}
.ss-pdp-bundle-tier.is-active .ss-pdp-bundle-tier__radio {
  border-color:#00adb5;
  box-shadow:inset 0 0 0 3px #fff;
  background:#00adb5;
}
.ss-pdp-bundle-tier__badge {
  position:absolute;
  top:-9px;
  right:7px;
  padding:4px 7px;
  border-radius:999px;
  background:#fed766;
  color:#11181c;
  font-size:9px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
.ss-pdp-bundle-tier__title {
  display:block;
  padding-right:2px;
  color:#182126;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.ss-pdp-bundle-tier strong {
  display:block;
  color:#11181c;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
}
.ss-pdp-bundle-tier strong small {
  color:#6f7d82;
  font-size:8.5px;
  font-weight:600;
}
.ss-pdp-bundle-tier__total {
  color:#69777c;
  font-size:9px;
  line-height:1.2;
}
.ss-pdp-bundle-pricing__note {
  margin:7px 0 0;
  padding:7px 9px;
  border:1px solid #dceced;
  border-radius:9px;
  background:#f7fbfb;
  color:#4b5c62;
  font-size:10.5px;
  line-height:1.35;
}
.ss-pdp-bundle-pricing__note strong { color:#007f86; font-weight:800; }

@media (max-width:480px) {
  .ss-pdp-bundle-pricing__head { align-items:flex-start; flex-direction:column; gap:2px; }
  .ss-pdp-bundle-pricing__head > small { text-align:left; }
  .ss-pdp-bundle-pricing__grid { gap:5px; }
  .ss-pdp-bundle-tier { min-height:88px; padding:11px 6px 8px 25px; border-radius:10px; }
  .ss-pdp-bundle-tier__radio { left:7px; top:12px; width:12px; height:12px; }
  .ss-pdp-bundle-tier__title { font-size:11px; }
  .ss-pdp-bundle-tier strong { font-size:10.5px; white-space:normal; }
  .ss-pdp-bundle-tier__badge { right:4px; padding:3px 5px; font-size:8px; }
}
