:root {
    --peniel-control-radius: 5px;
}

/* Honor the theme setting over legacy pill-shaped custom styles. */
body:not(.wp-admin) :is(.button:not(.icon), button:not(.icon), input[type="submit"], input[type="button"], .pnl-btn):not(.ux-quantity__button),
body:not(.wp-admin) .product-summary .button:not(.icon)::before,
body:not(.wp-admin) .product-summary .button:not(.icon)::after,
body:not(.wp-admin) .terslab-loc-widget {
    border-radius: var(--peniel-control-radius) !important;
}

/* Quantity is one joined control: round only its outer corners. */
body:not(.wp-admin) .quantity.quantity {
    border-radius: var(--peniel-control-radius) !important;
}

body:not(.wp-admin) .quantity.quantity .minus {
    border-radius: var(--peniel-control-radius) 0 0 var(--peniel-control-radius) !important;
}

body:not(.wp-admin) .quantity.quantity .plus {
    border-radius: 0 var(--peniel-control-radius) var(--peniel-control-radius) 0 !important;
}

body:not(.wp-admin) .quantity.quantity .qty {
    border-radius: 0 !important;
}

/* AWS uses div-based controls, outside the theme's normal button selectors. */
body #header .aws-container .aws-search-form {
    border-radius: var(--peniel-control-radius) !important;
}

body #header .aws-container .aws-search-field {
    border-radius: var(--peniel-control-radius) 0 0 var(--peniel-control-radius) !important;
    min-height: 44px;
    font-size: 16px;
}

body #header .aws-container .aws-search-btn {
    border-radius: 0 var(--peniel-control-radius) var(--peniel-control-radius) 0 !important;
    min-width: 44px;
    min-height: 44px;
}

body #header .aws-search-field:focus-visible {
    outline: 2px solid #ba462e;
    outline-offset: -2px;
}

/* Keep the currency symbol on the amount's baseline instead of superscript. */
body .transfer-price-single .woocommerce-Price-currencySymbol,
body .transfer-price-loop .woocommerce-Price-currencySymbol {
    display: inline;
    vertical-align: baseline !important;
    font-size: 1em !important;
    line-height: inherit;
    position: static;
    top: auto;
    margin-right: 0.15em;
}

body :is(.transfer-price-single, .transfer-price-loop) .amount {
    white-space: nowrap;
}

#masthead .header-cart-link {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

@media (min-width: 850px) {
    #masthead .header-cart-link {
        border-radius: var(--peniel-control-radius) !important;
        padding-inline: 14px;
    }

    #masthead .header-search-form {
        min-width: 160px;
        max-width: 240px;
    }
}

@media (min-width: 850px) and (max-width: 1100px) {
    #masthead .header-search-form {
        width: 180px;
        max-width: 180px;
    }

    #masthead .header-nav-main > li {
        margin-inline: 5px;
    }

    #masthead .header-cart-title {
        display: none;
    }
}

@media (max-width: 549px) {
    /* Account access remains in the mobile menu; prioritize logo and cart here. */
    #masthead .mobile-nav .account-item {
        display: none;
    }
}

@media (max-width: 849px) {
    #masthead .mobile-nav .nav-icon > a,
    #masthead .account-link-mobile {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* A compact uncropped cover leaves more room for price and purchase options. */
    .single-product .product-gallery-slider .woocommerce-product-gallery__image img {
        max-height: min(42vh, 320px);
        object-fit: contain;
    }

    .single-product .product-thumbnails img {
        max-height: 60px;
        object-fit: contain;
    }

    body .product-small .add_to_cart_button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: normal;
        line-height: 1.3;
        padding-block: 8px;
    }
}
