/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* Prevent mobile horizontal scroll bleed. iOS Safari ignores body { overflow-x: hidden }
   when html is overflow-x: visible. Clipping both kills the rubber-band sideways scroll. */
html, body {
    overflow-x: clip;
    max-width: 100%;
}

body {
    overflow-x: hidden;
    background-color: #f6f6f6;
}

.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1280px;
}

.prestahu-documentation-block {
    width: 100vw;
    position: relative;
    left: calc(-50vw + 50%);
}

.ybc_block_latest.page_home {
    width: 100vw;
    position: relative;
    left: calc(-50vw + 50%);
}

footer#footer {
    padding-top: 0;
}

body#product .product-tabs {
    border-left: 0;
    border-right: 0;
    left: calc(-50vw + 50%);
    width: 100vw;
    padding-top: 0;
}

footer#footer > .container {
    max-width: 100vw;
    padding: 10px 15%;
    background: #34219D;
}

.elementor-element-v3gkt8c > .elementor-container {
    margin: 0 !important;
    max-width: unset !important;
}

.elementor-element-v3gkt8c > .elementor-container .elementor-cta-content {
    background-color: #011638;
}

.product__card-img {
    max-width: 50%;
    margin: 0 auto;
}

.card card-product {
    padding: 16px;
}

.product-miniature .highlighted-informations {
    display: none !important;
}

.color-grey {
    color: grey;
}

.h3.product-title {
    font-size: 16px;
    line-height: 24px;
}

.block-newsletter-label {
    color: white;
}

.product-miniature-description {
    text-align: center;
    font-size: 13px;
    line-height: 18px;
}

.product-price-and-shipping {
    line-height: 20px;
    font-size: 16px;
    font-weight: normal;
}

.product-price-and-shipping * {
    font-weight: normal;
}

.product-miniature .card-product {
    border-radius: 4px;
    padding: 16px;
}

#block-newsletter-label {
    color: white;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
}

.block_newsletter input {
    border-radius: 4px;
    margin-right: 20px;
}

.block_newsletter .input-group-append button {
    height: 42px;
    font-size: 15px;
    padding: 8px 16px;
    background-color: transparent;
    border-color: white;
    border-radius: 4px;
}

.block_newsletter .input-group-append button:hover {
    color: #34219e;
    background-color: white
}

.header__rightitem:not(:last-child) {
    margin-right: 1.5rem;
}

@media (max-width: 768px) {
    .cart-products-count {
        display: none;
    }

    .menu__item-link--top {
        color: #011638 !important;
    }
}

.breadcrumb {
    display: none;
}

.block-category {
    text-align: center;
    width: 100vw;
    left: calc(-50vw + 50%);
    /*background-color: #011638;*/
}

.block-category * {
    color: #011638;
    text-transform: initial;
    font-weight: bold;
}

body:not(#index) #header {
    margin-bottom: 0;
}

.color-transparent-white {
    color: rgba(255, 255, 255, 0.7);
}

#emailsub_hover:hover {
    color: white;
}

.search-widget__btn {
    color: white;
}

.header__logo > img {
    max-width: 215px;
}

body#product #content-wrapper {
    margin-top: 25px;
}

body#product .product-quantity .qty,
body#product .product-quantity label.quantity__label {
    display: none;
}

.btn-primary,
.btn {
    border-radius: 4px;
}

body:not(#index) #wrapper {
    margin-top: 25px;
    padding-bottom: 50px;
}

.account-links .link-item, .address, .block-categories, .card, .card-block, .left-column .search_filters, .page-wrapper {
    border-radius: 4px;
}

.product-flag {
    border-radius: 4px;
}

.product-name {
    font-weight: 600;
    font-size: 26px;
    line-height: 30px;
    text-transform: initial;
}

.btn-add-to-cart {
    background-color: #ff0076;
    border-color: #ff0076;
}

.current-price-display {
    font-size: var(--ph-text-3xl, 34px);
    color: var(--ph-text, #111111) !important;
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.current-price {
    position: relative;
}

.discount {
    background-color: var(--ph-brand, oklch(54% 0.165 150));
    color: var(--ph-brand-ink, oklch(98% 0.008 150));
    border-radius: var(--ph-radius-pill, 999px);
    padding: 2px 10px;
    font-weight: 700;
    font-size: var(--ph-text-xs, 12px);
}

@media (max-width: 998px) {
    .current-price-display {
        font-size: var(--ph-text-2xl, 26px);
    }
}

.tax-shipping-delivery-label {
    display: none;
    position: absolute;
    right: -83px;
    top: 10px;
    font-size: 12px;
    line-height: 16px;
}

.product-main-information-holder {
    /*background-color: rgb(243, 241, 255);*/
    /*padding: 15px;*/
    /*border-radius: 4px;*/
}

.opc_shipping_method {
    display: none;
}

body#module-supercheckout-supercheckout #header {
    background: white;
    box-shadow: none;
    border-bottom: 1px solid #d2d2d2;
}

body#module-supercheckout-supercheckout #header .container:before {
    content: none;
}

body#module-supercheckout-supercheckout .header-nav--checkout {
    display: block;
    margin-bottom: 0 !important;
    padding: 5px 0;
}

body#module-supercheckout-supercheckout .header-nav--checkout > a,
body#module-supercheckout-supercheckout .header-nav--checkout > div.small {
    display: inline-block;
}

body#module-supercheckout-supercheckout .header-nav--checkout > div.small {
    float: right;
    margin-top: 20px;
}

body#module-supercheckout-supercheckout {
    background-color: #f3f3f3;
}

@media (min-width: 1200px) {
    body#module-supercheckout-supercheckout .container,
    body#module-supercheckout-supercheckout .l-wrapper,
    body#module-supercheckout-supercheckout .l-wrapper--boxed {
        max-width: 90%;
    }
}

@media (min-width: 1650px) {
    body#module-supercheckout-supercheckout .container,
    body#module-supercheckout-supercheckout .l-wrapper,
    body#module-supercheckout-supercheckout .l-wrapper--boxed {
        max-width: 1600px;
    }
}

.opc-container .custom-panel h2 {
    background: none;
    font-size: 16px;
    line-height: 24px;
    color: #011638;
    font-weight: bold;
}

.opc-container input[type=checkbox]:checked + label:before {
    background-color: #011638 !important;
    border-color: #011638 !important;
}

.paymentInfo {
    display: none !important;
}

.opc_shipping_method li.alert-info,
.opc_payment_method li.alert-info {
    border: 1px solid #34219e;
    background-color: transparent;
    height: 72px;
    background-color: transparent;
    padding-top: 17px;
}

body#module-supercheckout-supercheckout .product-title a {
    font-size: 15px;
    line-height: 18px;
    color: black !important;
    font-weight: bold;
}

body#module-supercheckout-supercheckout footer {
    /*display: none;*/
}

body#module-supercheckout-supercheckout .shopping-cart-description .kblabel {
    display: none
}

.product-flags {
    display: none;
}

.mz-expand {
    background-color: initial !important;
}

body#module-supercheckout-supercheckout .unit-price-text {
    display: none !important;
}

body#module-supercheckout-supercheckout .smallViewSection .shopping-product-price {
    position: absolute;
    right: 0;
}

body#cart .product-line__body .product-price {
    display: none !important;
}

body .form-control:focus {
    border-color: #7360de !important;
}

/* ------------------------------------------------------------------
   Hungarian documentation page (CMS 6)
   templates/cms/documentation_hu.tpl. Replaces the earlier indigo
   diagonal panel: the page now uses the shop's own surfaces, green
   accent and token scale, like the rest of the site.
   ------------------------------------------------------------------ */
/* Only the vertical margin goes: the horizontal one is what centres the
   wrapper on a wide screen. */
body.cms-id-6 #wrapper,
body.cms-id-6 .page-wrapper {
    margin-block: 0 !important;
    border: 0 !important;
}

/* The section keeps its place in the column the theme already centres, and the
   tinted surface reaches the window edges through a spread shadow. Pulling the
   block itself out with 100vw put the content off-centre. */
.ph-doc {
    background: var(--ph-surface-cream, oklch(97.5% 0.012 60));
    box-shadow: 0 0 0 100vmax var(--ph-surface-cream, oklch(97.5% 0.012 60));
    clip-path: inset(0 -100vmax);
    padding: var(--ph-section-md, clamp(56px, 9vw, 96px)) 0;
}

.ph-doc__inner {
    max-width: 1280px;
    margin-inline: auto;
}

.ph-doc__head {
    display: flex;
    flex-direction: column;
    gap: var(--ph-space-3, 12px);
    margin-bottom: var(--ph-space-7, 48px);
}

.ph-doc__kicker {
    align-self: flex-start;
    padding: 6px 14px;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand-soft, oklch(94% 0.030 150));
    color: var(--ph-brand, #108644);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.ph-doc__title {
    margin: 0;
    font-size: var(--ph-text-3xl, clamp(32px, 2rem + 1.5vw, 48px));
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ph-ink, #111111);
    text-transform: none;
}

.ph-doc__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ph-space-6, 32px);
    align-items: start;
}

/* The story reads at a comfortable measure; the card keeps its own width. */
@media (min-width: 992px) {
    .ph-doc__grid {
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: var(--ph-space-7, 48px);
    }
    .ph-doc__text { grid-column: 1; grid-row: 1; }
    .ph-doc__aside { grid-column: 2; grid-row: 1; position: sticky; top: var(--ph-space-5, 24px); }
}

.ph-doc__card {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    padding: var(--ph-space-6, 32px);
}

.ph-doc__card-title {
    margin: 0 0 var(--ph-space-2, 8px);
    font-size: var(--ph-text-xl, clamp(22px, 1.2rem + 0.6vw, 28px));
    line-height: 1.2;
    font-weight: 700;
    color: var(--ph-ink, #111111);
}

.ph-doc__card-lead {
    margin: 0 0 var(--ph-space-5, 24px);
    font-size: var(--ph-text-base, 16px);
    line-height: 1.55;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-doc__label {
    display: block;
    margin-bottom: var(--ph-space-2, 8px);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
}

.ph-doc__input {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    border: var(--ph-border-w, 1px) solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-radius: var(--ph-radius-sm, 12px);
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-base, 16px);
    color: var(--ph-ink, #111111);
}

.ph-doc__input:focus {
    border-color: var(--ph-brand, #108644);
    outline: 2px solid var(--ph-focus-ring, rgba(16,134,68,0.35));
    outline-offset: 2px;
}

.ph-doc__input.is-invalid {
    border-color: var(--ph-danger, #c0392b);
}

.ph-doc__submit {
    display: block;
    width: 100%;
    min-height: 48px;
    margin-top: var(--ph-space-4, 16px);
    padding: 12px 24px;
    border: 0;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand, #108644);
    color: var(--ph-brand-ink, #ffffff);
    font-size: var(--ph-text-base, 16px);
    font-weight: 600;
    transition: filter var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
}

.ph-doc__submit:hover { filter: brightness(0.95); }
.ph-doc__submit:focus-visible {
    outline: 2px solid var(--ph-brand, #108644);
    outline-offset: 3px;
}

.ph-doc__msg {
    margin: var(--ph-space-4, 16px) 0 0;
    padding: 10px 14px;
    border-radius: var(--ph-radius-sm, 12px);
    background: var(--ph-brand-soft, oklch(94% 0.030 150));
    color: var(--ph-ink, #111111);
    font-size: var(--ph-text-sm, 14px);
}

.ph-doc__msg--error {
    background: var(--ph-danger-soft, oklch(94% 0.040 25));
    color: var(--ph-danger, #c0392b);
}

.ph-doc__fine {
    margin: var(--ph-space-4, 16px) 0 0;
    font-size: var(--ph-text-xs, 12px);
    line-height: 1.5;
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
}

.ph-doc__fine a {
    color: var(--ph-brand, #108644);
    text-decoration: underline;
}

.ph-doc__text {
    max-width: 70ch;
    font-size: var(--ph-text-md, 17px);
    line-height: 1.6;
    color: var(--ph-ink, #111111);
}

.ph-doc__text > *:first-child { margin-top: 0; }
.ph-doc__text p { margin: 0 0 var(--ph-space-4, 16px); }
.ph-doc__text strong { font-weight: 700; }
.ph-doc__text em { color: var(--ph-ink-muted, oklch(48% 0.010 140)); }
.ph-doc__text h2 {
    margin: var(--ph-space-6, 32px) 0 var(--ph-space-3, 12px);
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px));
    line-height: 1.2;
    font-weight: 700;
}
.ph-doc__text a {
    color: var(--ph-brand, #108644);
    text-decoration: underline;
}
.ph-doc__text ul,
.ph-doc__text ol {
    margin: 0 0 var(--ph-space-4, 16px);
    padding-left: var(--ph-space-5, 24px);
}
.ph-doc__text li { margin-bottom: var(--ph-space-2, 8px); }

body#module-prestablog-blog .product-miniature {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

.elementor-text-editor p {
    font-size: 16px !important;
}

body#module-prestablog-blog .date_blog-cat {
    display: none;
}

body#module-prestablog-blog #blog_list_1-7 .block_top {
    text-align: center;
}

/*.header__right.header-top__col{*/
/*    visibility: hidden !important;*/
/*}*/
.elementor-widget-product-grid .elementor-title {
    color: #495057 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: bold;
}

.elementor-widget-product-grid .elementor-price {
    color: #495057 !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

#footer .footer-container .footer-toggle {
    margin: 20px 0 0;
    display: inherit;
}

#footer-profile {
    /*max-width: 45%;*/
    margin-bottom: 1em;
    max-width: 150px;
    /*border-radius: 50%;*/
}

@media (min-width: 992px) {
    .hidden-lg-up {
        display: none !important;
    }
}

@media (max-width: 768px) {
    #footer_sub_menu_profil {
        text-align: center;
    }
}

.price-free {
    color: #ff0076 !important;
    font-weight: bold;
}

.menu-sub {
    display: none !important;
}

.rc {
    background: none !important;
}

.product__card-img {
    max-width: 80% !important;
}

.comment-author {
    display: none;
}

.elementor-product-miniature .elementor-badge-sale {
    background: #ff0076;
    border-radius: 5px;
}

.price.current-price-discount {
    color: #ff0076;
}

.elementor-product-miniature .elementor-badge-new {
    background: #34219D;
    border-radius: 5px;
}

#prestahu_back_button {
    visibility: hidden;
}

.hMxmxV.hMxmxV.hMxmxV.hMxmxV.hMxmxV.hMxmxV {
    top: -53px;
}

.elementor-widget .elementor-product-miniature {
    padding: 0 !important;
    background: #fafafa;
    border: 0 solid;
    /* padding: 10px!important; */
    -webkit-transition: all .4s;
    transition: all .4s;
    border-radius: 10px;
    /* -webkit-box-shadow: -9px 5px 11px -4px rgb(0 0 0 / 77%); */
    /* box-shadow: -9px 5px 11px -4px rgb(0 0 0 / 77%); */
    -webkit-box-shadow: 1px 2px 11px 1px rgb(0 0 0);
    box-shadow: 1px 2px 11px 1px #6c757d;
}

.elementor-product-miniature .elementor-content {
    padding: 10px;
    text-align: center;
    background: #141A5D;
    border-radius: 0 0 10px 10px;
}

.elementor-widget-product-grid .elementor-title {
    color: white !important;
}

.elementor-content * {
    color: white !important;
}

.elementor-widget-product-grid .elementor-price {
    color: #ff0076 !important;
}

section#products {
    padding-bottom: 40px !important;
}

/* PROMOTION PAGE*/
.rounded-lg {
    border-radius: 1rem !important;
}

.text-small {
    font-size: 0.9rem !important;
}

.custom-separator {
    width: 5rem;
    height: 6px;
    border-radius: 1rem;
}

.text-uppercase {
    letter-spacing: 0.2em;
}

body.cms-id-11 .page-wrapper {
    border: 0 !important;
}

body.cms-id-11 #wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.cms-id-11 footer {
    margin-top: 0 !important;
}

body.cms-id-11 .text {
    background: rgba(255, 255, 255, 0.78);
    border-radius: 4px;
    margin: 15px;
    color: black;
}

body.cms-id-11 h1 {
    text-transform: initial;
    text-align: center;
    font-weight: bold;
    font-size: 2.5em;
}

body.cms-id-11 #pshupromo_holder {
    background: /*-webkit-linear-gradient(rgba(135, 60, 255, 1), rgba(135, 60, 255, 0.0) 0%),*/ -webkit-linear-gradient(-45deg, white 45%, #34219D 0%);
    min-height: 300px;
    width: 100vw;
    position: relative;
    left: calc(-50vw + 50%);
    padding: 0 30px;
    padding-top: 10vh;
    padding-bottom: 70px;
}

body.cms-id-11 .prestahu-text-primary {
    color: #ff0076 !important;
}

body.cms-id-11 .promotion-percent {
    position: absolute;
    top: 5px;
    right: 19px;
    font-size: 3em;
    background: #ff0076;
    color: white;
    border-radius: 10px;
}

body.cms-id-11 .original-price {
    font-size: 1em;
    text-decoration: line-through;
    margin-right: 20%;
}

body.cms-id-11 .promo-price {
    color: #ff0076;
}

body.cms-id-11 .rounded-pill {
    background: #ff0076 !important;
    border-color: #ff0076 !important;
}

.floating-info-text {
    position: absolute;
    width: 38%;
    font-weight: 600;
    font-size: 1.3em;
}

.bottom-info-text {
    font-weight: 600;
    font-size: 1.3em;
    color: white;
    text-align: center;
    width: 100%;
}

body.cms-id-11 .modal-content {
    border-radius: 10px;
}

body.cms-id-11 .modal-content input {
    border-radius: 5px;
}

@media (max-width: 768px) {
    .floating-info-text {
        position: relative;
        width: 100%;
        text-align: justify;
    }

    body.cms-id-11 .promotion-percent {
        font-size: 2em;
    }

    body.cms-id-11 h1 {
        font-size: 1.3em;
    }
}

body#cms #wrapper {
    padding-bottom: 50px;
}

/* END PROMO PAGE*/

body#my-account section#wrapper {
    padding-bottom: 40px;
}

.banner {
    background-color: #ff0076;
    text-align: center;
    color: white;
    padding: 25px;
    font-size: 20px;
}

/* CSS modifications for multilanguage site */
.header-nav__right {
    z-index: 2 !important;
}

.language-selector-wrapper .dropdown-item {
    color: black;
}

.language-selector-wrapper *,
.language-selector-wrapper .dropdown-item.active,
#_desktop_currency_selector * {
    color: white;
}

.header-nav.u-bor-bot {
    border-bottom: none
}

.dropdown-item {
    color: black !important;
}

.dropdown-menu.show {
    color: black;
}

.language-selector-wrapper .dropdown-toggle:hover,
.language-selector-wrapper .dropdown-item.active {
    color: white !important;
}

.product-description * {
    max-width: 100%;
}

body#product .product-description ul > li {
    margin-left: 2%;
}

.page-content form {
    max-width: unset;
}

.prestaplussubscriptions .btn-primary * {
    color: white;
}

.product-comments {
    display: none !important;
}

.product-main-information-holder-subscription {
    background-color: rgb(31, 28, 115);
    padding: 15px;
    border-radius: 4px;
    color: white;
}

.product-main-information-holder-subscription * {
    color: white !important;
}

.product-main-information-holder-subscription .btn-primary {
    background-color: #0e8644;
    border-color: #0e8644
}

.product-main-information-holder-subscription .product-variants-item .btn-primary {
    width: 32%;
    display: inline-block;
    height: 100px;
}

.product-main-information-holder-subscription .product-variants-item .btn-primary.selected {
    background-color: #06391d;
    border-color: #06391d;
}

.product-main-information-holder-subscription .product-add-to-cart,
.product-main-information-holder-subscription .product-prices {
    display: inline-block;
}

.product-main-information-holder-subscription .product-customization textarea {
    color: black !important;
}

#product-description-67 {
    text-align: justify;
}

.description-holder {
    background-color: white;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .description-holder-full-width {
        width: max-content;
    }
}

.description-holder-full-width ul {
    padding-left: 25px;
}

body.product-id-67 .featured-products {
    display: none;
}

body.product-id-70 .product-quantity .qty, body.product-id-70 .product-quantity label.quantity__label,
body.product-id-46 .product-quantity .qty, body.product-id-46 .product-quantity label.quantity__label {
    display: block !important;
}

body.product-id-75 .product-message,
body.product-id-75 .needs-validation .btn,
body.product-id-75 .needs-validation .form-group > label {
    display: none !important;
}

body.product-id-75 .customization-message {
    font-size: 24px;
    font-weight: bold;
    color: green;
}

.module-card-header-title {
    font-weight: 600 !important;
    font-size: 26px !important;
    line-height: 30px !important;
    text-transform: initial !important;
}

.module-card-header-sub * {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #212529;
}

#_desktop_currency_selector,
#_mobile_currency_selector {
    display: block;
}

/* Banani-inspired modern footer */
#footer .ph-footer-legacy-hooks {
    display: none !important;
}

#footer .ph-footer-modern {
    background: #101010;
    color: #ffffff;
    padding: 90px 0 32px;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
}

#footer .ph-footer-modern .container {
    padding-left: 40px;
    padding-right: 40px;
}
#footer .ph-footer-col.ph-footer-col-contact{
    text-align: right;
}

#footer .ph-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-bottom: 70px;
}

#footer .ph-footer-title {
    font-size: 60px;
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin: 0;
    font-weight: 800;
    max-width: 760px;
    color: #ffffff;
}

#footer .ph-footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #101010;
    border-radius: 999px;
    padding: 14px 30px;
    font-weight: 700;
    white-space: nowrap;
}

#footer .ph-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    margin-bottom: 44px;
}

#footer .ph-footer-col h3 {
    color: #ffffff;
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 700;
}

#footer .ph-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer .ph-footer-col ul li {
    margin-bottom: 10px;
}

#footer .ph-footer-col a {
    color: rgba(255, 255, 255, 0.72);
}

#footer .ph-footer-col a:hover,
#footer .ph-footer-col a:focus {
    color: #ffffff;
}

#footer .ph-footer-col-contact p {
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.8);
}

#footer .ph-footer-col-contact a {
    color: #ffffff;
}

#footer .ph-footer-payment {
    text-align: center;
    padding: 22px 0 26px;
}

#footer .ph-footer-payment img {
    max-width: 100%;
    height: auto;
}

#footer .ph-footer-bottom {
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding-top: 24px;
}

#footer .ph-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

#footer .ph-footer-bottom i {
    color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 1199px) {
    #footer .ph-footer-title {
        font-size: 46px;
    }
}

@media (max-width: 991px) {
    #footer .ph-footer-modern {
        border-top-left-radius: 28px;
        border-top-right-radius: 28px;
        padding-top: 64px;
    }

    #footer .ph-footer-modern .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #footer .ph-footer-top {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 48px;
    }

    #footer .ph-footer-title {
        font-size: 38px;
    }

    #footer .ph-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

@media (max-width: 575.98px) {
    #footer .ph-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* Banani-inspired modern header using hooked modules */
.l-header {
    background: radial-gradient(100% 100% at 50% 0, #fff0e0 0%, #fdf6f2 42%, #ffffff 100%);
}

/* Force override legacy dark header background */
body #header.l-header {
    background: radial-gradient(100% 100% at 50% 0, #fff0e0 0%, #fdf6f2 42%, #ffffff 100%) !important;
    overflow: visible !important;
    position: relative;
}

/* Hard override: reset legacy header sizing/effects to match new design */
body #header,
body #header.l-header,
body#index #header,
body:not(#index) #header {
    background: transparent !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
}

body #header::before,
body #header::after {
    content: none !important;
    display: none !important;
}

body #header * {
    box-shadow: none;
}

body #header .header-banner {
    display: none !important;
}

body #header .header-nav.u-bor-bot {
    border: 0 !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    background: transparent !important;
}



body #header .ph-header-modern {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 999px !important;
}

body #header #_desktop_language_selector .dropdown-toggle,
body #header #_desktop_currency_selector .dropdown-toggle {
    background: #ffffff !important;
    border: 1px solid #ececec !important;
    border-radius: 999px !important;
    color: #111111 !important;
}

body #header .ph-header-cart .shopping-cart > a,
body #header .ph-header-cart .shopping-cart {
    background: #108644 !important;
    color: #ffffff !important;
}

body #header .ph-header-cart .blockcart__label {
    color: #ffffff !important;
    display: inline-block !important;
}

body #header .ph-cart-count {
    background: #ffffff !important;
    color: #111111 !important;
}

@media (max-width: 991px) {
    body #header .header__container.container,
    body #header .ph-header-modern-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Absolute color enforcement for header/menu (default + hover + active) */
body #header .ph-header-modern,
body #header .ph-header-modern * {
    color: #111111 !important;
}

body #header .ph-header-menu .menu-top,
body #header .ph-header-menu .menu-top * {
    color: #111111 !important;
}

body #header .ph-header-menu .menu__item-link--top,
body #header .ph-header-menu .menu__item-link--top span {
    color: #111111 !important;
}

body #header .ph-header-menu .menu__item-link--top:hover,
body #header .ph-header-menu .menu__item-link--top:hover span,
body #header .ph-header-menu .menu__item-link--top:focus,
body #header .ph-header-menu .menu__item-link--top:focus span {
    color: #000000 !important;
    opacity: 1 !important;
}

body #header .ph-header-menu .menu__item--current > .menu__item-link--top,
body #header .ph-header-menu .menu__item--current > .menu__item-link--top span {
    color: #000000 !important;
    font-weight: 700 !important;
}

body #header .ph-header-menu .menu-sub,
body #header .ph-header-menu .menu-sub__content,
body #header .ph-header-menu .menu-sub__list {
    background: #ffffff !important;
}

body #header .ph-header-menu .menu-sub {
    border: 1px solid #ececec !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 30px rgba(16, 16, 16, 0.08) !important;
}

body #header .ph-header-menu .menu__item-link--sub,
body #header .ph-header-menu .menu__item-link--sub span,
body #header .ph-header-menu .menu__item-link--1,
body #header .ph-header-menu .menu__item-link--1 span {
    color: #111111 !important;
}

body #header .ph-header-menu .menu__item-link--sub:hover,
body #header .ph-header-menu .menu__item-link--sub:hover span,
body #header .ph-header-menu .menu__item-link--sub:focus,
body #header .ph-header-menu .menu__item-link--sub:focus span {
    color: #000000 !important;
    background: #f7f7f7 !important;
}

body #header .ph-header-menu .icon-collapse,
body #header .ph-header-menu .menu__collapseicon {
    color: #111111 !important;
}

body #header .ph-search-input,
body #header .ph-search-input::placeholder {
    color: #111111 !important;
}

body #header .ph-search-submit,
body #header .ph-search-submit:hover,
body #header .ph-search-submit:focus {
    color: #111111 !important;
    background: #ffffff !important;
}

body #header .ph-search-submit .material-icons {
    color: #111111 !important;
}

body #header .ph-header-account > a,
body #header .ph-header-account > a:hover,
body #header .ph-header-account > a:focus {
    color: #111111 !important;
    background: #ffffff !important;
}

body #header .ph-header-account .material-icons {
    color: #111111 !important;
}

body #header .ph-header-cart .shopping-cart,
body #header .ph-header-cart .shopping-cart > a,
body #header .ph-header-cart .shopping-cart:hover,
body #header .ph-header-cart .shopping-cart > a:hover,
body #header .ph-header-cart .shopping-cart:focus,
body #header .ph-header-cart .shopping-cart > a:focus {
    background: #108644 !important;
    color: #ffffff !important;
}

body #header .ph-header-cart .shopping-cart .material-icons,
body #header .ph-header-cart .shopping-cart .blockcart__label {
    color: #ffffff !important;
}

body #header .ph-cart-count,
body #header .ph-cart-count:hover,
body #header .ph-cart-count:focus {
    background: #ffffff !important;
    color: #111111 !important;
}

/* Final fixes: account contrast, cart badge placement, click-to-open search */
body #header .ph-header-account > a,
body #header .ph-header-account > a:hover,
body #header .ph-header-account > a:focus {
    background: #f6b400 !important;
    border: 1px solid #f6b400 !important;
    color: #111111 !important;
}

body #header .ph-header-account .material-icons,
body #header .ph-header-account .ph-header-action-label {
    color: #111111 !important;
}

body #header .ph-header-cart .shopping-cart,
body #header .ph-header-cart .shopping-cart > a {
    position: relative !important;
    padding-right: 28px !important;
}

body #header .ph-cart-count {
    top: -7px !important;
    right: -7px !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    z-index: 3 !important;
}

body #header .ph-search-widget {
    position: relative !important;
}

body #header .ph-search-group {
    display: flex !important;
    align-items: center !important;
}

body #header .ph-search-widget .ph-search-input {
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
    border-width: 0 !important;
    transition: width 0.2s ease, opacity 0.2s ease !important;
}

body #header .ph-search-widget.is-open .ph-search-input {
    width: 230px !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-right: 8px !important;
    border-width: 1px !important;
}

body #header .ph-search-widget .ph-search-submit,
body #header .ph-search-widget .ph-search-submit:hover,
body #header .ph-search-widget .ph-search-submit:focus {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid #ececec !important;
}

@media (max-width: 991px) {
    body #header .ph-search-widget.is-open .ph-search-input {
        width: 160px !important;
    }
}

/* FINAL HEADER OVERRIDE - design alignment */
body #header .ph-header-modern {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body #header .ph-header-actions,
body #header .header__right.header-top__col {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

body #header .ph-header-account > a {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid #ececec !important;
    cursor: pointer !important;
}

body #header .ph-header-account > a:hover,
body #header .ph-header-account > a:focus {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid #d8d8d8 !important;
    cursor: pointer !important;
}

body #header .ph-header-account .material-icons {
    color: #111111 !important;
    font-size: 20px !important;
}

body #header .ph-header-account .ph-header-action-label {
    display: none !important;
}

body #header .ph-header-cart {
    margin-left: 6px !important;
}

body #header .ph-header-cart .shopping-cart,
body #header .ph-header-cart .shopping-cart > a {
    all: unset !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 88px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: #108644 !important;
    color: #ffffff !important;
    cursor: pointer !important;
}

body #header .ph-header-cart .shopping-cart .material-icons,
body #header .ph-header-cart .shopping-cart .blockcart__label {
    color: white !important;
} 

body #header .ph-header-cart .shopping-cart .blockcart__label {
    display: inline-block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

body #header .ph-header-cart .shopping-cart .ph-cart-count {
    position: relative !important;
    top: 0px !important;
    right: 0px !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    border-radius: 999px !important;
    padding: 0 4px !important;
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    z-index: 5 !important;
    height: auto !important;
    width: auto !important;
    text-align: center !important;
    padding: 0 !important;
    display: block !important;
    font-size: 12px !important;
}

/* FINAL TUNING: no shadow, visible search, exact spacing */
.l-header,
body #header,
body #header.l-header {
    box-shadow: none !important;
}

/* Home design content blocks from home_design.html */
body#index .newdesign-home .pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    background: #fff6ea !important;
    color: #a96200 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

body#index .newdesign-home .brand-intro,
body#index .newdesign-home .services-section,
body#index .newdesign-home .handbook-section,
body#index .newdesign-home .social-proof-section,
body#index .newdesign-home .modules-section {
    padding: 18px 0 72px !important;
}

body#index .newdesign-home .brand-intro-panel {
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-lg, 28px) !important;
    background: rgba(255, 255, 255, 0.84) !important;
    padding: 34px !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
}

body#index .newdesign-home .brand-intro-panel h2 {
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px)) !important;
    margin: 18px 0 12px !important;
    line-height: 1.1 !important;
    color: var(--ph-text, #111111) !important;
}

body#index .newdesign-home .brand-intro-panel p {
    margin: 0 !important;
    max-width: 840px !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    font-size: var(--ph-text-md, 17px) !important;
}

body#index .newdesign-home .section-lead {
    max-width: 860px !important;
    margin: -34px auto 24px !important;
    text-align: center !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
}

body#index .newdesign-home .services-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body#index .newdesign-home .service-card {
    background: #ffffff !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-md, 20px) !important;
    padding: 22px !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body#index .newdesign-home .service-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06)) !important;
    border-color: var(--ph-border-strong, oklch(82% 0.012 90)) !important;
}

body#index .newdesign-home .service-icon {
    width: 52px !important;
    height: 52px !important;
    border-radius: var(--ph-radius-sm, 12px) !important;
    background: var(--ph-brand-soft, oklch(94% 0.030 150)) !important;
    color: var(--ph-brand, oklch(54% 0.165 150)) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
}

body#index .newdesign-home .service-card h3 {
    font-size: var(--ph-text-lg, 20px) !important;
    margin: 0 0 10px 0 !important;
    color: var(--ph-text, #111111) !important;
}

body#index .newdesign-home .service-card p {
    margin: 0 !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    font-size: var(--ph-text-sm, 14px) !important;
    line-height: 1.55 !important;
}

body#index .newdesign-home .handbook-panel {
    border-radius: var(--ph-radius-lg, 28px) !important;
    background: var(--ph-text, #111111) !important;
    color: #ffffff !important;
    padding: 34px !important;
    box-shadow: var(--ph-shadow-lg, 0 18px 48px rgba(16,16,16,0.10)) !important;
}

body#index .newdesign-home .handbook-inner {
    display: grid !important;
    grid-template-columns: 1.2fr .8fr !important;
    gap: 24px !important;
    align-items: center !important;
}

body#index .newdesign-home .handbook-pill {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

body#index .newdesign-home .handbook-copy h2 {
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px)) !important;
    margin: 16px 0 12px !important;
    line-height: 1.1 !important;
}

body#index .newdesign-home .handbook-copy p {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: var(--ph-text-md, 17px) !important;
    line-height: 1.55 !important;
}

body#index .newdesign-home .handbook-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding: 12px 22px !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body#index .newdesign-home .handbook-book img {
    width: 100% !important;
    border-radius: var(--ph-radius-md, 20px) !important;
}

body#index .newdesign-home .social-proof-card {
    border-radius: 28px !important;
    border: 1px solid #eadfce !important;
    background: #ffffff !important;
    display: block !important;
    overflow: hidden !important;
}

body#index .newdesign-home .social-copy {
    padding: 30px !important;
}

body#index .newdesign-home .social-pill {
    background: #ede9fe !important;
    color: #312e81 !important;
}

body#index .newdesign-home .social-quote {
    color: #5f564d !important;
}

body#index .newdesign-home .social-quote a {
    color: inherit !important;
    text-decoration: none !important;
}

body#index .newdesign-home .social-banner-link {
    display: block !important;
    margin: 14px 0 8px !important;
}

body#index .newdesign-home .social-banner-image {
    display: block !important;
    width: 100% !important;
    max-width: 990px !important;
    height: auto !important;
    border-radius: 14px !important;
}

body#index .newdesign-home .modules-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
}

body#index .newdesign-home .modules-header-copy h2 {
    font-size: 48px !important;
    margin: 12px 0 !important;
}

body#index .newdesign-home .modules-header-copy p {
    color: #6e6257 !important;
    margin: 0 !important;
}

body#index .newdesign-home .modules-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 24px !important;
    border-radius: 999px !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Newsletter exact block styling */
body .ph-newsletter-prefooter {
    background: transparent !important;
    padding: 0 0 48px !important;
}

body .ph-newsletter-prefooter .newsletter-panel {
    background: linear-gradient(180deg, #fff0e0 0%, #ffffff 100%) !important;
    border-radius: 32px !important;
    padding: 40px 44px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 24px !important;
    align-items: center !important;
    border: 1px solid #eadfce !important;
}

body .ph-newsletter-prefooter .newsletter-copy h2 {
    margin: 12px 0 !important;
    font-size: 40px !important;
    line-height: 1.08 !important;
}

body .ph-newsletter-prefooter .newsletter-copy p {
    margin: 0 !important;
    max-width: 760px !important;
    font-size: 17px !important;
    color: #6e6257 !important;
}

body .ph-newsletter-prefooter .newsletter-form {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body .ph-newsletter-prefooter .block_newsletter #block-newsletter-label {
    display: none !important;
}

body .ph-newsletter-prefooter .block_newsletter .row,
body .ph-newsletter-prefooter .block_newsletter .col-lg-5,
body .ph-newsletter-prefooter .block_newsletter .col-lg-7 {
    all: unset !important;
    display: block !important;
}

body .ph-newsletter-prefooter .block_newsletter form {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body .ph-newsletter-prefooter .block_newsletter .input-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body .ph-newsletter-prefooter .block_newsletter input.form-control {
    min-width: 320px !important;
    padding: 16px 18px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #6e6257 !important;
    box-shadow: inset 0 0 0 1px #e9ddd0 !important;
    border: 0 !important;
    height: auto !important;
}

body .ph-newsletter-prefooter .block_newsletter button.btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #111111 !important;
    color: #ffffff !important;
    padding: 16px 22px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 0 !important;
}

/* D1: Universal product card — retokened to DESIGN.md spec.
   Token fallbacks let this load before the :root token block on cold cache. */
.product-miniature .module-card.ph-module-card {
    background: #ffffff !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-md, 20px) !important;
    overflow: hidden !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
    position: relative !important;
}

.product-miniature .module-card.ph-module-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06)) !important;
    border-color: var(--ph-border-strong, oklch(82% 0.012 90)) !important;
}

.product-miniature .module-thumb.ph-module-thumb {
    aspect-ratio: 1 / 1 !important;
    background: var(--ph-surface-cream, oklch(97.5% 0.012 60)) !important;
    padding: 18px !important;
    border-bottom: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
}

.product-miniature .module-thumb.ph-module-thumb .product-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.product-miniature .module-thumb.ph-module-thumb img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

.product-miniature .module-top.ph-module-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 18px 0 !important;
}

.product-miniature .module-category {
    font-size: var(--ph-text-xs, 12px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: var(--ph-text-muted, oklch(55% 0.010 60)) !important;
}

.product-miniature .quick-open.ph-quick-open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    background: var(--ph-brand-soft, oklch(94% 0.030 150)) !important;
    color: var(--ph-brand, oklch(54% 0.165 150)) !important;
    border: 0 !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}

.product-miniature .quick-open.ph-quick-open:hover {
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    transform: translate(2px, -2px) !important;
}

.product-miniature .module-body.ph-module-body {
    padding: 12px 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important;
}

.product-miniature .ph-module-title {
    margin: 0 !important;
    font-size: var(--ph-text-md, 17px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.product-miniature .ph-module-title a {
    color: var(--ph-text, #111111) !important;
    text-decoration: none !important;
}

.product-miniature .ph-module-title a:hover {
    color: var(--ph-brand, oklch(54% 0.165 150)) !important;
}

.product-miniature .ph-module-text {
    font-size: var(--ph-text-sm, 14px) !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.product-miniature .module-footer.ph-module-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    background: #ffffff !important;
}

.product-miniature .module-footer .module-price {
    font-size: var(--ph-text-md, 17px) !important;
    font-weight: 700 !important;
    color: var(--ph-text, #111111) !important;
    font-variant-numeric: tabular-nums !important;
}

.product-miniature .ph-module-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    font-size: var(--ph-text-sm, 14px) !important;
    font-weight: 600 !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: filter .2s ease, transform .2s ease !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
}

.product-miniature .ph-module-link:hover,
.product-miniature .ph-module-link:focus {
    filter: brightness(0.95) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    text-decoration: none !important;
}

.product-miniature .ph-module-link i.material-icons,
.product-miniature .ph-module-link iconify-icon {
    font-size: 16px !important;
    line-height: 1 !important;
    margin-left: 4px !important;
}

@media (max-width: 991px) {
    body#index .newdesign-home .services-grid {
        grid-template-columns: 1fr !important;
    }

    body#index .newdesign-home .handbook-inner,
    body#index .newdesign-home .social-proof-card,
    body#index .newdesign-home .modules-header {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }

    body .ph-newsletter-prefooter .newsletter-panel {
        grid-template-columns: 1fr !important;
        padding: 24px 18px !important;
    }

    body .ph-newsletter-prefooter .block_newsletter form,
    body .ph-newsletter-prefooter .block_newsletter .input-group {
        width: 100% !important;
        flex-direction: column !important;
    }

    body .ph-newsletter-prefooter .block_newsletter input.form-control {
        min-width: 100% !important;
        width: 100% !important;
    }
}

/* Exact home_design classes (hero under -> footer above) */
body#index .newdesign-home .reviews-section { padding: 100px 40px !important; }
body#index .newdesign-home .reviews-track { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important; }
body#index .newdesign-home .review-card { background: var(--ph-surface-cream, oklch(97.5% 0.012 60)) !important; border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important; padding: 28px !important; border-radius: var(--ph-radius-md, 20px) !important; box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
body#index .newdesign-home .stars { color: var(--ph-brand, oklch(54% 0.165 150)) !important; font-size: 18px !important; letter-spacing: 2px !important; }
body#index .newdesign-home .review-text { font-size: var(--ph-text-base, 16px) !important; line-height: 1.6 !important; font-weight: 500 !important; color: var(--ph-text, #111111) !important; flex-grow: 1 !important; }
body#index .newdesign-home .reviewer { display: flex !important; align-items: center !important; gap: 14px !important; margin-top: 8px !important; padding-top: 16px !important; border-top: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important; }
body#index .newdesign-home .reviewer img { width: 44px !important; height: 44px !important; border-radius: 50% !important; object-fit: cover !important; }
body#index .newdesign-home .reviewer-name { font-weight: 700 !important; font-size: var(--ph-text-sm, 14px) !important; color: var(--ph-text, #111111) !important; }
body#index .newdesign-home .reviewer-role { font-size: var(--ph-text-xs, 12px) !important; color: var(--ph-text-muted, oklch(45% 0.012 60)) !important; font-weight: 500 !important; }

body#index .newdesign-home .intro-panel { display: grid !important; grid-template-columns: 1.15fr .85fr !important; gap: 24px !important; }
body#index .newdesign-home .intro-copy h2 { margin: 16px 0 !important; font-size: 48px !important; line-height: 1.06 !important; letter-spacing: -0.03em !important; }
body#index .newdesign-home .intro-copy p { color: #6e6257 !important; margin: 0 0 18px !important; font-size: 18px !important; }
body#index .newdesign-home .intro-points { display: grid !important; gap: 12px !important; }
body#index .newdesign-home .intro-point { display: flex !important; align-items: center !important; gap: 10px !important; color: #3a352f !important; }
body#index .newdesign-home .intro-stats { display: grid !important; gap: 12px !important; }
body#index .newdesign-home .intro-stat-card { border: 1px solid #eadfce !important; background: #fffaf4 !important; border-radius: 18px !important; padding: 18px !important; }
body#index .newdesign-home .intro-stat-card strong { display: block !important; font-size: 28px !important; margin-bottom: 6px !important; }
body#index .newdesign-home .intro-stat-card p { margin: 0 !important; color: #6e6257 !important; }

body#index .newdesign-home .service-link { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; font-weight: 700 !important; margin-top: 10px !important; }

body#index .newdesign-home .handbook-meta { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; margin-top: 16px !important; }
body#index .newdesign-home .handbook-stat strong { display: block !important; font-size: 18px !important; color: #ffffff !important; }
body#index .newdesign-home .handbook-stat span { color: #c9c9c9 !important; font-size: 13px !important; }
body#index .newdesign-home .handbook-note { margin-top: 10px !important; color: #b7b7b7 !important; font-size: 13px !important; }
body#index .newdesign-home .handbook-book-label { margin-top: 10px !important; color: #dcdcdc !important; }
body#index .newdesign-home .handbook-book-label strong { display: block !important; color: #ffffff !important; }

body#index .newdesign-home .social-person { display: flex !important; align-items: center !important; gap: 14px !important; margin-top: 18px !important; }
body#index .newdesign-home .social-person img { width: 56px !important; height: 56px !important; border-radius: 50% !important; }
body#index .newdesign-home .social-person strong { display: block !important; font-size: 16px !important; }
body#index .newdesign-home .social-person span { display: block !important; font-size: 14px !important; color: #6e6257 !important; }

body#index .newdesign-home .module-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; }
body#index .newdesign-home .module-grid .product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
body#index .newdesign-home .module-card { background: #ffffff !important; border-radius: 24px !important; overflow: hidden !important; box-shadow: 0 12px 32px rgba(16, 16, 16, 0.06) !important; display: flex !important; flex-direction: column !important; }
body#index .newdesign-home .module-thumb { aspect-ratio: 4/3 !important; background: linear-gradient(180deg, #fbfbfd 0%, #f3f3f8 100%) !important; padding: 20px !important; }
body#index .newdesign-home .module-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 18px !important; }
body#index .newdesign-home .module-body { padding: 20px 20px 22px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; flex: 1 !important; }
body#index .newdesign-home .module-meta { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important; }
body#index .newdesign-home .module-type { font-size: 12px !important; font-weight: 700 !important; color: #6e6257 !important; white-space: nowrap !important; }
body#index .newdesign-home .module-price { font-size: 15px !important; font-weight: 800 !important; white-space: nowrap !important; }
body#index .newdesign-home .module-card h3 { font-size: 19px !important; line-height: 1.25 !important; letter-spacing: -0.02em !important; margin: 0 !important; }
body#index .newdesign-home .module-card p { font-size: 14px !important; color: #6e6257 !important; margin: 0 !important; line-height: 1.55 !important; flex: 1 !important; }
body#index .newdesign-home .module-link { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; font-weight: 700 !important; white-space: nowrap !important; }

body#index .newdesign-home .newsletter-section { padding: 0 0 48px !important; }
body#index .newdesign-home .newsletter-panel { background: linear-gradient(180deg, #fff0e0 0%, #ffffff 100%) !important; border-radius: 32px !important; padding: 40px 44px !important; display: grid !important; grid-template-columns: 1fr auto !important; gap: 24px !important; align-items: center !important; }
body#index .newdesign-home .newsletter-copy h2 { margin: 0 0 12px !important; font-size: 40px !important; line-height: 1.08 !important; letter-spacing: -0.03em !important; }
body#index .newdesign-home .newsletter-copy p { margin: 0 !important; max-width: 760px !important; font-size: 17px !important; color: #6e6257 !important; }
body#index .newdesign-home .newsletter-form { display: flex !important; align-items: center !important; gap: 12px !important; }
body#index .newdesign-home .newsletter-input { min-width: 320px !important; padding: 16px 18px !important; border-radius: 999px !important; background: #ffffff !important; color: #6e6257 !important; font-size: 15px !important; font-weight: 500 !important; white-space: nowrap !important; box-shadow: inset 0 0 0 1px #e9ddd0 !important; }
body#index .newdesign-home .newsletter-btn { display: inline-flex !important; align-items: center !important; gap: 10px !important; background: #111111 !important; color: #ffffff !important; padding: 16px 22px !important; border-radius: 999px !important; font-size: 15px !important; font-weight: 700 !important; white-space: nowrap !important; }

@media (max-width: 991px) {
  body#index .newdesign-home .reviews-track,
  body#index .newdesign-home .module-grid,
  body#index .newdesign-home .services-grid,
  body#index .newdesign-home .intro-panel { grid-template-columns: 1fr !important; }
  body#index .newdesign-home .newsletter-panel { grid-template-columns: 1fr !important; padding: 24px 18px !important; }
}

/* Global primary button behavior: brand fill + brightness hover */
body .btn-primary,
body#index .newdesign-home .btn-primary,
body#index .newdesign-home .modules-cta,
body#index .newdesign-home .newsletter-btn,
body#index .newdesign-home .handbook-link {
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    border: 1px solid var(--ph-brand, oklch(54% 0.165 150)) !important;
    transition: filter .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body .btn-primary:hover,
body#index .newdesign-home .btn-primary:hover,
body#index .newdesign-home .modules-cta:hover,
body#index .newdesign-home .newsletter-btn:hover,
body#index .newdesign-home .handbook-link:hover {
    filter: brightness(0.95) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06)) !important;
}

body#index .newdesign-home .module-card {
    transition: transform .2s ease, box-shadow .2s ease !important;
}

body#index .newdesign-home .module-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 18px 36px rgba(16, 16, 16, 0.14) !important;
}

/* Font normalization: max 2 families everywhere */
html body,
html body * {
    font-family: "Inter", "DM Sans", sans-serif !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
    font-family: "DM Sans", "Inter", sans-serif !important;
}

/* Keep icon fonts untouched after font normalization */
html body .material-icons,
html body i.material-icons {
    font-family: "Material Icons" !important;
}

html body .fa,
html body .fas,
html body .far,
html body .fal,
html body .fab,
html body [class^="fa-"],
html body [class*=" fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome", sans-serif !important;
}

html body iconify-icon,
html body iconify-icon * {
    font-family: inherit !important;
}

/* PrestaHU expert logos placements */
body #header .ph-header-expert-logo {
    width: 146px !important;
    height: 113px !important;
    object-fit: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

body #header .ph-header-expert-logo--left {
    margin-right: 10px !important;
}

body #header .small {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body#index .newdesign-home .hero-expert-logo {
    margin-top: 14px !important;
}

body#index .newdesign-home .hero-expert-logo img {
    height: 32px !important;
    width: auto !important;
    display: block !important;
}

body .ph-footer-badges {
    margin-top: 20px !important;
    padding: 18px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}

body .ph-footer-badges__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    column-gap: 18px !important;
    row-gap: 18px !important;
}

body .ph-footer-badges__grid img {
    width: auto !important;
    max-width: 100% !important;
    height: 120px !important;
    border-radius: 6px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    padding: 8px !important;
}

/* ============================================================
 * PRESTA.HU DESIGN SYSTEM TOKENS + COMPONENT LIBRARY
 * Source of truth: /DESIGN.md  |  Application guide: /.claude/design/RULES.md
 * ============================================================ */

:root {
    /* Ink */
    --ph-ink:           oklch(20%   0.012 60);
    --ph-ink-muted:     oklch(48%   0.010 140);
    --ph-ink-subtle:    oklch(62%   0.008 140);

    /* Surfaces */
    --ph-bg:            oklch(99%   0.004 90);
    --ph-surface-cream: oklch(97.5% 0.012 60);
    --ph-surface-sand:  oklch(96%   0.010 90);
    --ph-surface-mint:  oklch(97%   0.014 150);
    --ph-surface-blush: oklch(94%   0.020 20);
    --ph-surface-peach: oklch(96%   0.030 60);

    /* Borders */
    --ph-border:        oklch(90%   0.010 90);
    --ph-border-strong: oklch(82%   0.012 90);
    --ph-border-w:      1px;

    /* Brand */
    --ph-brand:         oklch(51%   0.160 150);
    --ph-brand-strong:  oklch(44%   0.145 150);
    --ph-brand-ink:     oklch(98%   0.008 150);
    --ph-brand-soft:    oklch(94%   0.030 150);

    /* Reserved roles */
    --ph-warning:       oklch(82%   0.170 85);
    --ph-warning-ink:   oklch(28%   0.040 85);
    --ph-warning-soft:  oklch(96%   0.040 85);
    --ph-warning-strong: oklch(50%  0.110 65);
    --ph-danger:        oklch(54%   0.205 25);
    --ph-danger-soft:   oklch(94%   0.040 25);
    --ph-info:          oklch(38%   0.150 280);
    --ph-info-soft:     oklch(94%   0.040 280);
    --ph-success:       var(--ph-brand);
    --ph-focus-ring:    oklch(51%   0.160 150 / 0.35);

    /* Typography */
    --ph-font-sans:     'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --ph-font-display:  'DM Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --ph-text-xs:   clamp(11px, 0.72rem, 12px);
    --ph-text-sm:   clamp(13px, 0.85rem, 14px);
    --ph-text-base: 16px;
    --ph-text-md:   clamp(16px, 1rem + 0.1vw, 18px);
    --ph-text-lg:   clamp(18px, 1.05rem + 0.25vw, 22px);
    --ph-text-xl:   clamp(22px, 1.2rem + 0.6vw, 28px);
    --ph-text-2xl:  clamp(26px, 1.4rem + 1vw, 36px);
    --ph-text-3xl:  clamp(32px, 2rem + 1.5vw, 48px);
    --ph-text-hero: clamp(40px, 2.4rem + 3.6vw, 72px);

    /* Spacing */
    --ph-space-1:  4px;
    --ph-space-2:  8px;
    --ph-space-3:  12px;
    --ph-space-4:  16px;
    --ph-space-5:  24px;
    --ph-space-6:  32px;
    --ph-space-7:  48px;
    --ph-space-8:  64px;
    --ph-space-9:  96px;
    --ph-space-10: 128px;
    --ph-section-sm: clamp(32px, 6vw, 56px);
    --ph-section-md: clamp(56px, 9vw, 96px);
    --ph-section-lg: clamp(96px, 14vw, 160px);

    /* Radii */
    --ph-radius-sm:   12px;
    --ph-radius-md:   20px;
    --ph-radius-lg:   28px;
    --ph-radius-pill: 999px;

    /* Shadows */
    --ph-shadow-sm: 0 1px 2px  oklch(20% 0.012 60 / 0.04);
    --ph-shadow-md: 0 6px 24px oklch(20% 0.012 60 / 0.06);
    --ph-shadow-lg: 0 18px 48px oklch(20% 0.012 60 / 0.10);
    --ph-shadow-brand: 0 10px 24px oklch(51% 0.160 150 / 0.22);

    /* Motion */
    --ph-dur-fast:  120ms;
    --ph-dur:       200ms;
    --ph-dur-slow:  320ms;
    --ph-dur-reward: 560ms;
    --ph-ease-out:  cubic-bezier(0.22, 1, 0.36, 1);
    --ph-ease-in:   cubic-bezier(0.16, 1, 0.30, 1);
    --ph-ease-pop:  cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ---------- Reusable components ---------- */

.ph-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: var(--ph-space-2);
    border-radius: var(--ph-radius-pill);
    padding: 12px 20px;
    font-family: var(--ph-font-sans);
    font-weight: 600;
    font-size: var(--ph-text-base);
    line-height: 1.2;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: background-color var(--ph-dur-fast) var(--ph-ease-out),
                color var(--ph-dur-fast) var(--ph-ease-out),
                filter var(--ph-dur-fast) var(--ph-ease-out);
}
.ph-btn--primary { background: var(--ph-brand); color: var(--ph-brand-ink); }
.ph-btn--primary:hover,
.ph-btn--primary:focus { background: var(--ph-brand-strong); color: var(--ph-brand-ink); text-decoration: none; }
.ph-btn--secondary { background: transparent; color: var(--ph-ink); border: 1.5px solid var(--ph-ink); }
.ph-btn--secondary:hover { background: var(--ph-ink); color: var(--ph-bg); text-decoration: none; }
.ph-btn--ghost { background: transparent; color: var(--ph-ink-muted); }
.ph-btn--ghost:hover { color: var(--ph-ink); text-decoration: none; }
.ph-btn--lg { padding: 14px 24px; font-size: var(--ph-text-md); }
.ph-btn--sm { padding: 8px 14px; font-size: var(--ph-text-sm); }

.ph-card {
    background: var(--ph-bg);
    border: var(--ph-border-w) solid var(--ph-border);
    border-radius: var(--ph-radius-md);
    padding: var(--ph-space-5);
    box-shadow: var(--ph-shadow-sm);
}
.ph-card--cream { background: var(--ph-surface-cream); }
.ph-card--sand  { background: var(--ph-surface-sand); }
.ph-card--mint  { background: var(--ph-surface-mint); }

.ph-callout {
    border-radius: var(--ph-radius-md);
    padding: var(--ph-space-5) var(--ph-space-6);
    color: var(--ph-ink);
}
.ph-callout--success { background: var(--ph-brand); color: var(--ph-brand-ink); }
.ph-callout--warning { background: var(--ph-warning-soft); color: var(--ph-warning-ink); }
.ph-callout--danger  { background: var(--ph-danger-soft); }
.ph-callout--info    { background: var(--ph-info-soft); }

.ph-list { list-style: none; margin: 0; padding: 0; }
.ph-list > .ph-list__row {
    display: flex; align-items: center; gap: var(--ph-space-4);
    padding: var(--ph-space-4) 0;
    border-top: 1px solid var(--ph-border);
}
.ph-list > .ph-list__row:first-child { border-top: 0; }

.ph-price { font-weight: 700; color: var(--ph-ink); font-variant-numeric: tabular-nums; }
.ph-price--muted { color: var(--ph-ink-muted); font-weight: 500; }

/* ============================================================
 * Order confirmation page — retoken the vanilla PS classes
 * Per .claude/design/RULES.md §10 (concrete fix list)
 * ============================================================ */

body#order-confirmation .page-wrapper--order-confirmation,
body.checkout .page-wrapper--order-confirmation {
    padding-top: var(--ph-space-7);
    padding-bottom: var(--ph-space-7);
}

/* 1. Green success card — replace .bg-success Bootstrap with brand green */
body#order-confirmation #content-hook_order_confirmation.card,
body.checkout #content-hook_order_confirmation.card {
    background: var(--ph-brand) !important;
    color: var(--ph-brand-ink) !important;
    border: 0 !important;
    border-radius: var(--ph-radius-md) !important;
    box-shadow: var(--ph-shadow-sm) !important;
    margin-bottom: var(--ph-space-6) !important;
}
body#order-confirmation #content-hook_order_confirmation.card .card-body,
body.checkout #content-hook_order_confirmation.card .card-body {
    padding: var(--ph-space-6) !important;
}
body#order-confirmation #content-hook_order_confirmation .card-title,
body.checkout #content-hook_order_confirmation .card-title {
    font-family: var(--ph-font-sans);
    font-weight: 800;
    font-size: var(--ph-text-2xl);
    color: var(--ph-brand-ink);
    margin-bottom: var(--ph-space-3);
}
body#order-confirmation #content-hook_order_confirmation p,
body.checkout #content-hook_order_confirmation p {
    font-size: var(--ph-text-md);
    color: var(--ph-brand-ink);
    margin-bottom: 0;
}

/* 2. Module download CTA — replace the purple inline-style border */
#prestahu-order-downloads.card {
    background: var(--ph-surface-cream) !important;
    border: var(--ph-border-w) solid var(--ph-border-strong) !important;
    border-radius: var(--ph-radius-md) !important;
    box-shadow: var(--ph-shadow-sm) !important;
    margin-bottom: var(--ph-space-6) !important;
}
#prestahu-order-downloads .card-body {
    padding: var(--ph-space-6) !important;
}
#prestahu-order-downloads h2 {
    color: var(--ph-ink) !important;
    font-family: var(--ph-font-sans);
    font-weight: 800;
    font-size: var(--ph-text-2xl);
}
#prestahu-order-downloads .pshu-download-btn {
    background: var(--ph-brand) !important;
    border-color: var(--ph-brand) !important;
    color: var(--ph-brand-ink) !important;
    border-radius: var(--ph-radius-pill) !important;
    padding: 14px 24px !important;
    font-family: var(--ph-font-sans);
    font-weight: 600 !important;
    font-size: var(--ph-text-md) !important;
    box-shadow: none !important;
}
#prestahu-order-downloads .pshu-download-btn:hover {
    filter: brightness(0.95);
}
#prestahu-order-downloads #pshu-download-timer {
    color: var(--ph-danger) !important;
    font-variant-numeric: tabular-nums;
}
#prestahu-order-downloads a:not(.pshu-download-btn) {
    color: var(--ph-brand) !important;
    text-decoration: underline;
}

/* 3. Order items section — surface + table retoken */
body#order-confirmation #content.page-order-confirmation.card,
body.checkout #content.page-order-confirmation.card {
    background: var(--ph-surface-sand) !important;
    border: 0 !important;
    border-radius: var(--ph-radius-md) !important;
    box-shadow: var(--ph-shadow-sm) !important;
    padding: var(--ph-space-6) !important;
    margin-bottom: var(--ph-space-6) !important;
}
body#order-confirmation .page-order-confirmation #order-items .row,
body.checkout .page-order-confirmation #order-items .row {
    margin-bottom: var(--ph-space-3);
}
body#order-confirmation .page-order-confirmation .table__title-head,
body.checkout .page-order-confirmation .table__title-head {
    font-family: var(--ph-font-sans);
    font-weight: 700;
    font-size: var(--ph-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ph-ink-muted);
    margin: 0 0 var(--ph-space-3);
}
body#order-confirmation .page-order-confirmation .order-confirmation-table,
body.checkout .page-order-confirmation .order-confirmation-table {
    background: var(--ph-bg);
    border-radius: var(--ph-radius-sm);
    padding: var(--ph-space-5);
}
body#order-confirmation .page-order-confirmation .order-line.row,
body.checkout .page-order-confirmation .order-line.row {
    border-top: 1px solid var(--ph-border);
    padding: var(--ph-space-4) 0;
    margin: 0;
    align-items: center;
}
body#order-confirmation .page-order-confirmation .order-confirmation-table > .order-line.row:first-child,
body.checkout .page-order-confirmation .order-confirmation-table > .order-line.row:first-child {
    border-top: 0;
}
body#order-confirmation .page-order-confirmation .order-line .image img,
body.checkout .page-order-confirmation .order-line .image img {
    border-radius: var(--ph-radius-sm);
    border: 1px solid var(--ph-border);
    background: var(--ph-bg);
}
body#order-confirmation .page-order-confirmation .order-line .details span,
body.checkout .page-order-confirmation .order-line .details span {
    font-family: var(--ph-font-sans);
    font-weight: 600;
    color: var(--ph-ink);
    font-size: var(--ph-text-md);
}
body#order-confirmation .page-order-confirmation .order-confirmation-table hr,
body.checkout .page-order-confirmation .order-confirmation-table hr {
    display: none;
}
body#order-confirmation .page-order-confirmation .order-confirmation-table .table,
body.checkout .page-order-confirmation .order-confirmation-table .table {
    margin-top: var(--ph-space-4);
    border-top: 1px solid var(--ph-border);
    padding-top: var(--ph-space-4);
    color: var(--ph-ink);
}
body#order-confirmation .page-order-confirmation .order-confirmation-table .table td,
body.checkout .page-order-confirmation .order-confirmation-table .table td {
    border: 0;
    padding: var(--ph-space-2) 0;
    font-variant-numeric: tabular-nums;
    font-size: var(--ph-text-md);
}
body#order-confirmation .page-order-confirmation .order-confirmation-table .total-value,
body.checkout .page-order-confirmation .order-confirmation-table .total-value {
    border-top: 1px solid var(--ph-border-strong);
}
body#order-confirmation .page-order-confirmation .order-confirmation-table .total-value td,
body.checkout .page-order-confirmation .order-confirmation-table .total-value td {
    padding-top: var(--ph-space-4) !important;
    font-size: var(--ph-text-lg) !important;
    font-weight: 800;
    color: var(--ph-ink);
}
body#order-confirmation .page-order-confirmation .order-line .qty .text-right.bold,
body.checkout .page-order-confirmation .order-line .qty .text-right.bold {
    font-weight: 700;
    color: var(--ph-ink);
    font-variant-numeric: tabular-nums;
}

/* 4. Order details section */
body#order-confirmation #order-details,
body.checkout #order-details {
    margin-top: var(--ph-space-6) !important;
}
body#order-confirmation #order-details .card-title,
body.checkout #order-details .card-title {
    font-family: var(--ph-font-sans);
    font-weight: 700;
    font-size: var(--ph-text-xl);
    color: var(--ph-ink);
    margin-bottom: var(--ph-space-4);
}
body#order-confirmation #order-details ul,
body.checkout #order-details ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
body#order-confirmation #order-details ul li,
body.checkout #order-details ul li {
    padding: var(--ph-space-3) 0;
    border-top: 1px solid var(--ph-border);
    color: var(--ph-ink);
    font-family: var(--ph-font-sans);
    font-size: var(--ph-text-md);
}
body#order-confirmation #order-details ul li:first-child,
body.checkout #order-details ul li:first-child {
    border-top: 0;
}

body #header .ph-header-modern-wrap {
    margin-bottom: 0 !important;
}

body #header .ph-header-modern {
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    column-gap: 22px !important;
}

body #header .ph-header-actions {
    gap: 18px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
}

body #header .ph-header-account {
    margin-right: 4px !important;
    position: relative !important;
    flex: 0 0 40px !important;
    order: 2 !important;
    align-self: center !important;
}

body #header .ph-header-cart {
    margin-left: 10px !important;
    order: 3 !important;
    align-self: center !important;
}

body #header .ph-search-widget {
    display: flex !important;
    align-items: center !important;
    z-index: 30 !important;
    align-self: center !important;
}

body #header .header__search {
    position: relative !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    margin-right: 0 !important;
    order: 1 !important;
    align-self: center !important;
    top: 0 !important;
}

body #header .header__right.header-top__col {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative !important;
    flex: 0 0 auto !important;
    order: 2 !important;
    top: 0 !important;
}

body #header .header__right.header-top__col > .ph-header-account,
body #header .header__right.header-top__col > div:last-child {
    position: relative !important;
    top: 0 !important;
}

body #header .header__right.header-top__col > .ph-header-account {
    order: 1 !important;
}

body #header .header__right.header-top__col > div:last-child {
    order: 2 !important;
}

/* HARD LOCK: action row order + no overlap */
body #header .ph-header-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    position: relative !important;
}

body #header .ph-header-actions > .header__search {
    order: 1 !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    left: -50% !important;
}

body #header .ph-header-actions > .header__right.header-top__col {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    left: 0 !important;
}

body #header .header__right.header-top__col > .ph-header-account {
    order: 1 !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
}

body #header .header__right.header-top__col > div:nth-of-type(2) {
    order: 2 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
}

body #header .header__right.header-top__col #prestablog_displayslider {
    order: 3 !important;
    display: none !important;
}

body #header .ph-header-cart,
body #header .ph-header-cart .shopping-cart,
body #header .ph-header-cart .shopping-cart > a {
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

body #header .ph-search-widget .ph-search-input {
    width: 190px !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-width: 1px !important;
    margin-right: 8px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    position: relative !important;
    z-index: 31 !important;
}

body #header .ph-search-widget .ph-search-submit {
    position: relative !important;
    z-index: 32 !important;
}

body #header .ph-header-cart .shopping-cart .ph-cart-count {
    /*top: 12px !important;*/
    /*right: 10px !important;*/
    min-width: 17px !important;
    height: 17px !important;
    line-height: 17px !important;
    /*font-size: 10px !important;*/
}

@media (max-width: 991px) {
    body #header .ph-search-widget .ph-search-input {
        width: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        border-width: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Search behavior: hidden by default, open on icon click, floating absolute */
body #header .ph-header-actions .header__search {
    position: relative !important;
    width: 40px !important;
    min-width: 40px !important;
    z-index: 40 !important;
}

body #header .ph-search-widget {
    position: relative !important;
    width: 40px !important;
    min-width: 40px !important;
}

body #header .ph-search-group {
    position: relative !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
}

body #header .ph-search-widget .ph-search-submit,
body #header .ph-search-widget .ph-search-submit:hover,
body #header .ph-search-widget .ph-search-submit:focus {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 42 !important;
}

body #header .ph-search-widget .ph-search-submit::before,
body #header .ph-search-widget .ph-search-submit::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

body #header .ph-search-widget .ph-search-submit {
    background-image: none !important;
}

body #header .ph-search-widget .ph-search-submit .material-icons.search {
    display: inline-block !important;
    line-height: 1 !important;
}

body #header .ph-search-widget .ph-search-input {
    position: absolute !important;
    right: calc(100% + 8px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-width: 0 !important;
    z-index: 41 !important;
    transition: width 0.2s ease, opacity 0.2s ease !important;
}

body #header .ph-search-widget.is-open .ph-search-input {
    width: 220px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    border-width: 1px !important;
}

.header-nav.u-bor-bot {
    background: transparent;
    border-bottom: 0 !important;
    padding-top: 8px;
}

.header-nav__right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-nav__right .dropdown-toggle {
    border-radius: 999px;
    border: 1px solid #e9e9e9;
    background: rgba(255, 255, 255, 0.85);
    color: #111111;
    min-height: 34px;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
}

.header-nav__right .dropdown-menu {
    border-radius: 12px;
    border: 1px solid #ececec;
    box-shadow: 0 16px 30px rgba(16, 16, 16, 0.08);
}

.header-nav__right .dropdown-item {
    color: #111111 !important;
}

.ph-header-modern-wrap {
    padding-top: 22px;
    padding-bottom: 8px;
}

.ph-header-modern {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 20px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.ph-header-modern .header__logo {
    flex: 0 0 auto;
    max-width: 200px;
    margin-right: 0;
}

.ph-header-menu {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.ph-header-menu .menu-top {
    display: flex;
    align-items: center;
    gap: 22px;
}

.ph-header-menu .menu__item {
    height: auto !important;
}

.ph-header-menu .menu__item-link--top {
    color: #111111 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    padding: 8px 2px;
}

.ph-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.ph-header-actions .header__search {
    width: auto;
    margin-right: 0;
}

.ph-search-widget form {
    display: flex;
    align-items: center;
}

.ph-search-input {
    width: 190px;
    border-radius: 999px;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    padding: 10px 14px;
    height: 40px;
}

.ph-search-submit {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #ffffff;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ph-header-action {
    margin-right: 0 !important;
}

.ph-header-action > a,
.ph-header-cart .shopping-cart > a,
.ph-header-cart .shopping-cart {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.ph-header-action .material-icons,
.ph-header-cart .material-icons {
    color: #111111;
    font-size: 20px;
}

.ph-header-action-label,
.ph-header-cart .blockcart__label {
    display: none !important;
}

.ph-header-cart .shopping-cart > a,
.ph-header-cart .shopping-cart {
    width: auto;
    min-width: 112px;
    padding: 0 14px;
    background: #111111;
}

.ph-header-cart .material-icons {
    color: #ffffff;
}

.ph-header-cart .blockcart__label {
    display: inline-block !important;
    margin-left: 6px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
}

.ph-cart-count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #ffffff;
    color: #111111 !important;
    font-size: 11px;
    line-height: 18px;
    text-align: center;
    padding: 0 4px;
}

.ph-header-menu-mobile {
    margin-top: 10px;
}

@media (max-width: 1199px) {
    .ph-header-menu .menu-top {
        gap: 14px;
    }

    .ph-search-input {
        width: 130px;
    }
}

@media (max-width: 991px) {
    .ph-header-modern-wrap {
        padding-top: 10px;
    }

    .ph-header-modern {
        border-radius: 14px;
        padding: 10px 12px;
    }

    .ph-header-menu {
        display: none;
    }

    .ph-search-input {
        display: none;
    }

    .ph-search-submit {
        margin-left: 0;
    }

    .header-nav.u-bor-bot {
        display: none;
    }

    .ph-header-cart .blockcart__label {
        display: none !important;
    }

    .ph-header-cart .shopping-cart > a,
    .ph-header-cart .shopping-cart {
        min-width: 40px;
        width: 40px;
        padding: 0;
    }
}

/* Home page - new design shell */
body#index .ph-home-modern {
    padding-top: 0 !important;
}

body#index .ph-home-hero {
    padding: 90px 0 70px !important;
    background: radial-gradient(100% 100% at 50% 0, #fff0e0 0%, #fdf6f2 42%, #ffffff 100%) !important;
}

body#index .ph-home-hero .container {
    max-width: 1240px !important;
}

body#index .ph-home-hero__badge {
    display: inline-block !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid #ece6df !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 8px 14px !important;
    margin-bottom: 18px !important;
}

body#index .ph-home-hero__title {
    font-size: 56px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    color: #111111 !important;
    margin: 0 0 16px 0 !important;
    max-width: 920px !important;
}

body#index .ph-home-hero__subtitle {
    font-size: 18px !important;
    color: #5b6470 !important;
    max-width: 760px !important;
    margin: 0 0 24px 0 !important;
}

body#index .ph-home-hero__actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body#index .ph-home-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 12px 20px !important;
    text-decoration: none !important;
}

body#index .ph-home-btn--primary {
    background: #111111 !important;
    color: #ffffff !important;
}

body#index .ph-home-btn--primary:hover {
    background: #000000 !important;
    color: #ffffff !important;
}

body#index .ph-home-btn--ghost {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #dbdee4 !important;
}

body#index .ph-home-btn--ghost:hover {
    background: #f8f9fb !important;
    color: #111111 !important;
}

body#index .ph-home-info {
    padding: 24px 0 40px !important;
}

body#index .ph-home-info__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body#index .ph-home-info__card {
    background: #ffffff !important;
    border: 1px solid #ebeef3 !important;
    border-radius: 18px !important;
    padding: 22px !important;
}

body#index .ph-home-info__card h3 {
    font-size: 20px !important;
    margin: 0 0 8px 0 !important;
    color: #111111 !important;
}

body#index .ph-home-info__card p {
    margin: 0 !important;
    color: #616b78 !important;
}

body#index .ph-home-reviews {
    padding: 22px 0 28px !important;
}

body#index .ph-home-section-title {
    font-size: 36px !important;
    color: #111111 !important;
    margin: 0 0 20px 0 !important;
}

/* Keep only required legacy home sections */
body#index .ph-home-legacy-content .elementor-element-ob209r2,
body#index .ph-home-legacy-content .elementor-element-rb8qqq7,
body#index .ph-home-legacy-content .elementor-element-h5nq0n9,
body#index .ph-home-legacy-content .elementor-widget-spacer {
    display: none !important;
}

body#index .ph-home-legacy-content .elementor-section {
    margin-top: 0 !important;
}

body#index .ph-home-legacy-content .elementor-element-v3gkt8c,
body#index .ph-home-legacy-content .elementor-element-6k3zo6h,
body#index .ph-home-legacy-content .elementor-element-hdwlo14 {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

@media (max-width: 991px) {
    body#index .ph-home-hero__title {
        font-size: 36px !important;
    }

    body#index .ph-home-info__grid {
        grid-template-columns: 1fr !important;
    }
}

/* Home redesign v2 - Banani-inspired, orange/black palette */
body#index .ph-home-modern {
    background: transparent !important;
}

body#index .ph-home-hero {
    padding: 112px 0 96px !important;
    background: radial-gradient(110% 110% at 50% 0%, #fff1df 0%, #fdf7f1 43%, #ffffff 100%) !important;
}

body#index .ph-home-hero__badge {
    box-shadow: 0 8px 22px rgba(16, 16, 16, 0.07) !important;
}

body#index .ph-home-hero__title {
    font-size: 64px !important;
    font-weight: 800 !important;
    max-width: 980px !important;
}

body#index .ph-home-hero__subtitle {
    font-size: 20px !important;
    max-width: 840px !important;
}

body#index .ph-home-stats {
    margin-top: -42px !important;
    position: relative !important;
    z-index: 9 !important;
    padding-bottom: 34px !important;
}

body#index .ph-home-stats__card {
    background: #111111 !important;
    border-radius: 24px !important;
    padding: 28px 24px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body#index .ph-home-stats__card div {
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
}

body#index .ph-home-stats__card strong {
    color: #ff9f1c !important;
    font-size: 36px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body#index .ph-home-stats__card span {
    color: #c8ccd4 !important;
    font-size: 13px !important;
    margin-top: 7px !important;
}

body#index .ph-home-info {
    padding-top: 22px !important;
}

body#index .ph-home-info__card {
    transition: transform .2s ease, box-shadow .2s ease !important;
}

body#index .ph-home-info__card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 34px rgba(17, 17, 17, 0.08) !important;
}

body#index .ph-home-categories {
    padding: 18px 0 38px !important;
}

body#index .ph-home-categories__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body#index .ph-home-cat-card {
    border-radius: 20px !important;
    padding: 24px !important;
    border: 1px solid #eceff4 !important;
    background: #ffffff !important;
}

body#index .ph-home-cat-card h3 {
    font-size: 20px !important;
    margin: 0 0 10px 0 !important;
    color: #111111 !important;
}

body#index .ph-home-cat-card p {
    margin: 0 !important;
    color: #636d7c !important;
}

body#index .ph-home-reviews .ph-home-section-title,
body#index .ph-home-categories .ph-home-section-title {
    font-size: 44px !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 24px !important;
}

body#index .ph-home-cta {
    padding: 26px 0 16px !important;
}

body#index .ph-home-cta__box {
    border-radius: 24px !important;
    background: #ff9f1c !important;
    color: #111111 !important;
    padding: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

body#index .ph-home-cta__box h3 {
    margin: 0 0 7px 0 !important;
    font-size: 28px !important;
    color: #111111 !important;
}

body#index .ph-home-cta__box p {
    margin: 0 !important;
    color: #2b2b2b !important;
}

/* Keep only requested legacy Elementor blocks */
body#index .ph-home-legacy-content .elementor-element-ob209r2,
body#index .ph-home-legacy-content .elementor-element-rb8qqq7,
body#index .ph-home-legacy-content .elementor-element-h5nq0n9,
body#index .ph-home-legacy-content .elementor-widget-spacer {
    display: none !important;
}

@media (max-width: 991px) {
    body#index .ph-home-hero__title {
        font-size: 42px !important;
    }

    body#index .ph-home-stats {
        margin-top: -30px !important;
    }

    body#index .ph-home-stats__card,
    body#index .ph-home-categories__grid {
        grid-template-columns: 1fr !important;
    }

    body#index .ph-home-reviews .ph-home-section-title,
    body#index .ph-home-categories .ph-home-section-title {
        font-size: 32px !important;
    }

    body#index .ph-home-cta__box {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* Home redesign v3 - Banani-like hero slider */
body#index .ph-home-modern {
    background: transparent !important;
}

body#index .ph-home-hero-slider {
    padding: 28px 0 22px !important;
}

body#index .ph-hero-slider {
    position: relative !important;
    background: radial-gradient(130% 120% at 85% 0%, #fff3e3 0%, #ffffff 60%, #ffffff 100%) !important;
    border: 1px solid #f1e6da !important;
    border-radius: 26px !important;
    padding: 24px 72px 46px !important;
    overflow: hidden !important;
}

body#index .ph-hero-track {
    position: relative !important;
    min-height: 380px !important;
}

body#index .ph-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(28px) !important;
    transition: opacity .35s ease, transform .35s ease !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 22px !important;
    align-items: center !important;
}

body#index .ph-hero-slide.is-active {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

body#index .ph-home-hero__badge {
    display: inline-flex !important;
    border: 1px solid #ffd3a2 !important;
    background: #fff8f0 !important;
    color: #111111 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 7px 12px !important;
    margin-bottom: 14px !important;
    font-weight: 700 !important;
}

body#index .ph-home-hero__title {
    font-size: 50px !important;
    line-height: 1.04 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: #101010 !important;
    margin: 0 0 14px 0 !important;
}

body#index .ph-home-hero__subtitle {
    font-size: 18px !important;
    color: #505b69 !important;
    margin: 0 0 18px 0 !important;
    max-width: 720px !important;
}

body#index .ph-home-btn--primary {
    background: #ff8f1f !important;
    color: #111111 !important;
    border: 1px solid #ff8f1f !important;
    border-radius: 999px !important;
    padding: 11px 18px !important;
    font-weight: 700 !important;
}

body#index .ph-home-btn--primary:hover {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
}

body#index .ph-hero-slide__media img {
    width: 100% !important;
    max-height: 300px !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    border: 1px solid #ebeff4 !important;
    box-shadow: 0 16px 36px rgba(17, 17, 17, 0.12) !important;
}

body#index .ph-hero-nav {
    all: unset !important;
    position: absolute !important;
    top: calc(50% - 22px) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #ffffff !important;
    text-align: center !important;
    line-height: 44px !important;
    font-size: 28px !important;
    cursor: pointer !important;
    z-index: 5 !important;
}

body#index .ph-hero-nav--prev {
    left: 16px !important;
}

body#index .ph-hero-nav--next {
    right: 16px !important;
}

body#index .ph-hero-nav:hover {
    background: #ff8f1f !important;
    color: #111111 !important;
}

body#index .ph-hero-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 16px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

body#index .ph-hero-dot {
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #d8dde4 !important;
    cursor: pointer !important;
}

body#index .ph-hero-dot.is-active {
    width: 24px !important;
    border-radius: 999px !important;
    background: #ff8f1f !important;
}

body#index .ph-home-reviews {
    padding: 26px 0 10px !important;
}

body#index .ph-home-reviews .ph-home-section-title {
    font-size: 42px !important;
    color: #111111 !important;
    margin: 0 0 18px 0 !important;
}

body#index .ph-home-legacy-content {
    padding: 8px 0 24px !important;
}

/* Newsletter band right before global footer */
body .ph-newsletter-prefooter {
    background: #111111 !important;
    padding: 34px 0 26px !important;
    border-top-left-radius: 48px;
    border-top-right-radius: 48px;
}

body .ph-newsletter-prefooter__inner {
    border: 1px solid #2a2a2a !important;
    border-radius: 18px !important;
    padding: 22px !important;
    background: linear-gradient(160deg, #151515 0%, #202020 100%) !important;
}

body .ph-newsletter-prefooter__title {
    color: #ffffff !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    margin: 0 0 14px 0 !important;
}

body .ph-newsletter-prefooter .block_newsletter {
    margin: 0 !important;
    max-width: 100% !important;
}

body .ph-newsletter-prefooter .block_newsletter p,
body .ph-newsletter-prefooter .block_newsletter #block-newsletter-label {
    color: #d1d1d1 !important;
}

body .ph-newsletter-prefooter .block_newsletter .input-group {
    display: flex !important;
    gap: 10px !important;
}

body .ph-newsletter-prefooter .block_newsletter input.form-control {
    border-radius: 999px !important;
    border: 1px solid #3f3f3f !important;
    background: #ffffff !important;
    height: 46px !important;
}

body .ph-newsletter-prefooter .block_newsletter button.btn-primary {
    border-radius: 999px !important;
    background: #ff8f1f !important;
    border: 1px solid #ff8f1f !important;
    color: #111111 !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    font-weight: 700 !important;
}

body .ph-newsletter-prefooter .block_newsletter button.btn-primary:hover {
    background: #ffffff !important;
    color: #111111 !important;
}

@media (max-width: 991px) {
    body#index .ph-hero-slider {
        padding: 18px 16px 44px !important;
    }

    body#index .ph-hero-slide {
        grid-template-columns: 1fr !important;
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        display: none !important;
    }

    body#index .ph-hero-slide.is-active {
        display: grid !important;
    }

    body#index .ph-hero-track {
        min-height: 0 !important;
    }

    body#index .ph-home-hero__title {
        font-size: 33px !important;
    }

    body#index .ph-home-reviews .ph-home-section-title {
        font-size: 30px !important;
    }

    body .ph-newsletter-prefooter__title {
        font-size: 22px !important;
    }
}

/* HARD OVERRIDE: home hero must match new_design style */
.page-home.ph-home-modern .hero-wrapper {
    padding: 20px 0 18px !important;
}

.page-home.ph-home-modern .hero-wrapper .hero-grid {
    max-width: 1280px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-slider {
    position: relative !important;
    border-radius: 28px !important;
    border: 1px solid #f0dfcf !important;
    background: linear-gradient(135deg, #fff5ec 0%, #fffdfa 42%, #ffffff 100%) !important;
    padding: 28px 78px 50px !important;
    overflow: hidden !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-track {
    min-height: 400px !important;
    position: relative !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-slide {
    display: none !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 24px !important;
    align-items: center !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-slide.is-active {
    display: grid !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-hero__badge {
    display: inline-flex !important;
    margin: 0 0 16px 0 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    border: 1px solid #ffc88b !important;
    background: #fff7ef !important;
    color: #131313 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-size: 12px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-hero__title {
    margin: 0 0 14px 0 !important;
    color: #111111 !important;
    font-size: 62px !important;
    line-height: 1.01 !important;
    letter-spacing: -0.03em !important;
    font-weight: 800 !important;
    max-width: 820px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-hero__subtitle {
    margin: 0 0 18px 0 !important;
    color: #57616f !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
    max-width: 720px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-hero__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-btn--primary {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 20px !important;
    border-radius: 999px !important;
    background: #ff8f1f !important;
    color: #111111 !important;
    border: 1px solid #ff8f1f !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-home-btn--primary:hover {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-slide__media {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-slide__media img {
    width: 100% !important;
    max-height: 330px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    border: 1px solid #f0f2f5 !important;
    box-shadow: 0 20px 44px rgba(17, 17, 17, 0.15) !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-nav {
    all: unset !important;
    position: absolute !important;
    top: calc(50% - 25px) !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #ffffff !important;
    text-align: center !important;
    line-height: 50px !important;
    font-size: 30px !important;
    cursor: pointer !important;
    z-index: 8 !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-nav--prev {
    left: 16px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-nav--next {
    right: 16px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-nav:hover {
    background: #ff8f1f !important;
    color: #111111 !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 16px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-dot {
    all: unset !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #d5dbe3 !important;
    cursor: pointer !important;
}

.page-home.ph-home-modern .hero-wrapper .ph-hero-dot.is-active {
    width: 26px !important;
    border-radius: 999px !important;
    background: #ff8f1f !important;
}

@media (max-width: 991px) {
    .page-home.ph-home-modern .hero-wrapper .ph-hero-slider {
        padding: 20px 14px 42px !important;
    }

    .page-home.ph-home-modern .hero-wrapper .ph-hero-track {
        min-height: 0 !important;
    }

    .page-home.ph-home-modern .hero-wrapper .ph-hero-slide,
    .page-home.ph-home-modern .hero-wrapper .ph-hero-slide.is-active {
        grid-template-columns: 1fr !important;
    }

    .page-home.ph-home-modern .hero-wrapper .ph-home-hero__title {
        font-size: 36px !important;
    }
}

/* The storefront surface. It is the page default, so a page that names its own
   surface (the account and module pages below) overrides it; the earlier
   !important kept even those pages on the gradient. */
body {
    background: radial-gradient(100% 100% at 50% 0%, #fff0e0 0%, #fdf6f2 40%, #ffffff 100%);
}

body#index .newdesign-home {
    color: #111111 !important;
    background-color: transparent !important;
    line-height: 1.5 !important;
    -webkit-font-smoothing: antialiased !important;
}

body#index .newdesign-home * {
    box-sizing: border-box !important;
}

body#index .newdesign-home .container {
    margin: 0 auto !important;
}

body#index .newdesign-home .hero-wrapper {
    position: relative !important;
    padding: 40px 0 40px !important;
    background: transparent !important;
    overflow: hidden !important;
}

body#index .newdesign-home .reviews-section,
body#index .newdesign-home .features-section,
body#index .newdesign-home .screenshots-section,
body#index .newdesign-home .details-section,
body#index .newdesign-home .manifesto-section,
body#index .newdesign-home .related-section {
    background: transparent !important;
}

body#index .newdesign-home .hero-grid {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 64px !important;
    align-items: center !important;
}

body#index .newdesign-home .hero-badge {
    display: inline-block !important;
    padding: 8px 16px !important;
    background: #ffffff !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    font-size: var(--ph-text-sm, 14px) !important;
    font-weight: 700 !important;
    color: var(--ph-text, #111111) !important;
    margin-bottom: 28px !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
}

body#index .newdesign-home .hero-title {
    font-size: var(--ph-text-3xl, clamp(32px, 2rem + 1.5vw, 56px)) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    color: var(--ph-text, #111111) !important;
    margin-bottom: 24px !important;
}

body#index .newdesign-home .tilted-box {
    display: inline-block !important;
    background: var(--ph-text, #111111) !important;
    color: #ffffff !important;
    padding: 4px 24px !important;
    border-radius: var(--ph-radius-sm, 12px) !important;
    transform: rotate(-2deg) !important;
    margin: 4px 0 !important;
}

body#index .newdesign-home .hero-desc {
    font-size: var(--ph-text-md, 18px) !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    margin-bottom: 40px !important;
    max-width: 540px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
}

body#index .newdesign-home .hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 32px !important;
    margin-bottom: 40px !important;
}

body#index .newdesign-home .price-tag {
    font-size: 40px !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
}

body#index .newdesign-home .btn-primary {
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    padding: 14px 28px !important;
    font-size: var(--ph-text-md, 17px) !important;
    font-weight: 700 !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06)) !important;
    border: none !important;
    transition: filter .2s ease, transform .2s ease !important;
}

body#index .newdesign-home .btn-primary:hover {
    filter: brightness(0.95) !important;
    transform: translateY(-1px) !important;
}

body#index .newdesign-home .hero-features {
    display: flex !important;
    gap: 24px !important;
    font-size: var(--ph-text-sm, 14px) !important;
    font-weight: 600 !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
}

body#index .newdesign-home .hero-features span {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body#index .newdesign-home .hero-image-wrapper img {
    width: auto;
    border-radius: 32px !important;
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.08) !important;
    height: 540px;
    float: right;
}

body#index .newdesign-home .home-hero-slider {
    position: relative !important;
}

body#index .newdesign-home .home-hero-track {
    position: relative !important;
}

body#index .newdesign-home .home-hero-item {
    display: none !important;
}

body#index .newdesign-home .home-hero-item.is-active {
    display: block !important;
}

body#index .newdesign-home .home-hero-nav {
    all: unset !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #ffffff !important;
    text-align: center !important;
    line-height: 46px !important;
    font-size: 28px !important;
    cursor: pointer !important;
    z-index: 4 !important;
    opacity: .9 !important;
}

body#index .newdesign-home .home-hero-nav:hover {
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
}

body#index .newdesign-home .home-hero-nav--prev {
    left: 18px !important;
}

body#index .newdesign-home .home-hero-nav--next {
    right: 18px !important;
}

body#index .newdesign-home .home-hero-dots {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 34px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

body#index .newdesign-home .home-hero-dot {
    all: unset !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: rgba(17, 17, 17, 0.25) !important;
    cursor: pointer !important;
}

body#index .newdesign-home .home-hero-dot.is-active {
    width: 26px !important;
    border-radius: 999px !important;
    background: #111111 !important;
}

body#index .newdesign-home .reviews-section {
    padding: 100px 40px !important;
}

body#index .newdesign-home .section-title {
    font-size: 48px !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 64px !important;
    text-align: center !important;
}

body#index .newdesign-home .features-section {
    padding: 80px 40px !important;
}

body#index .newdesign-home .bento-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

body#index .newdesign-home .bento-card {
    padding: 56px !important;
    border-radius: 32px !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-height: 320px !important;
}

body#index .newdesign-home .bento-card h3 {
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
    margin-bottom: 8px !important;
    z-index: 2 !important;
}

body#index .newdesign-home .bento-card p {
    font-size: 18px !important;
    font-weight: 500 !important;
    opacity: 0.9 !important;
    z-index: 2 !important;
    max-width: 85% !important;
    line-height: 1.5 !important;
}

body#index .newdesign-home .watermark {
    position: absolute !important;
    bottom: -20px !important;
    right: -20px !important;
    font-size: 200px !important;
    opacity: 0.1 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

body#index .newdesign-home .bento-blue {
    background: #e0f0ff !important;
    color: #111 !important;
}

body#index .newdesign-home .bento-orange {
    background: #ff9f1c !important;
    color: #111 !important;
}

body#index .newdesign-home .bento-pink {
    background: #ffc0cb !important;
    color: #111 !important;
}

body#index .newdesign-home .bento-yellow {
    background: #ffd166 !important;
    color: #111 !important;
}

body#index .newdesign-home .screenshots-section {
    padding: 80px 40px !important;
}

body#index .newdesign-home .screenshot-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
}

body#index .newdesign-home .screenshot-card {
    background: #f8f8f8 !important;
    border-radius: 32px !important;
    padding: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

body#index .newdesign-home .screenshot-card img {
    width: 100% !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
}

body#index .newdesign-home .screenshot-card h4 {
    font-size: 24px !important;
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: -0.5px !important;
}

body#index .newdesign-home .details-section {
    padding: 100px 40px !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

body#index .newdesign-home .details-content h2 {
    font-size: 40px !important;
    font-weight: 800 !important;
    margin-bottom: 40px !important;
    letter-spacing: -1px !important;
}

body#index .newdesign-home .details-content p, body#index .newdesign-home .details-content li {
    font-size: 18px !important;
    color: #555555 !important;
    line-height: 1.8 !important;
    font-weight: 500 !important;
}

body#index .newdesign-home .details-content p {
    margin-bottom: 24px !important;
}

body#index .newdesign-home .details-content ul {
    margin-bottom: 32px !important;
    padding-left: 24px !important;
}

body#index .newdesign-home .details-content li {
    margin-bottom: 12px !important;
}

body#index .newdesign-home .manifesto-section {
    padding: 160px 40px !important;
    text-align: center !important;
}

body#index .newdesign-home .manifesto-section h2 {
    font-size: 64px !important;
    font-weight: 800 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
}

body#index .newdesign-home .related-section {
    padding: 100px 40px !important;
}

body#index .newdesign-home .products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

body#index .newdesign-home .product-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 24px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

body#index .newdesign-home .product-card img {
    width: 100% !important;
    border-radius: 12px !important;
    background: #f4f4f4 !important;
}

body#index .newdesign-home .product-info h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

body#index .newdesign-home .product-price {
    font-weight: 800 !important;
    font-size: 20px !important;
}

@media (max-width: 991px) {
    body#index .newdesign-home .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body#index .newdesign-home .hero-title {
        font-size: 42px !important;
    }

    body#index .newdesign-home .bento-grid,
    body#index .newdesign-home .screenshot-grid,
    body#index .newdesign-home .products-grid {
        grid-template-columns: 1fr !important;
    }

    body#index .newdesign-home .container {
        padding: 0 16px !important;
    }

    body#index .newdesign-home .home-hero-nav {
        display: none !important;
    }

    body#index .newdesign-home .home-hero-dots {
        bottom: 22px !important;
    }
}

/* Header glass background: exact new_design feel */
body #header .ph-header-modern-wrap {
    padding-top: 0px !important;
    padding-bottom: 0 !important;
}
 
body #header .ph-header-modern {
    background: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 99px !important;
    padding: 12px 24px !important;
    box-shadow: none !important;
}

/* Mobile header: logo row + actions row */
@media (max-width: 991px) {
    body #header .ph-header-modern {
        display: grid !important;
        grid-template-columns: 44px 1fr !important;
        grid-template-areas:
            "menu logo"
            "actions actions" !important;
        row-gap: 10px !important;
        column-gap: 10px !important;
        align-items: center !important;
        border-radius: 16px !important;
        padding: 10px 12px !important;
    }

    body #header .ph-header-modern > .ph-menu-icon {
        grid-area: menu !important;
        justify-self: start !important;
        align-self: center !important;
        margin: 0 !important;
    }

    body #header .ph-header-modern > .header__logo {
        grid-area: logo !important;
        justify-self: center !important;
        align-self: center !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 190px !important;
        text-align: center !important;
    }

    body #header .ph-header-modern > .header__logo .logo {
        width: 100% !important;
        max-height: 52px !important;
        object-fit: contain !important;
    }

    body #header .ph-header-modern > .ph-header-actions {
        grid-area: actions !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 14px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body #header .ph-header-actions > .header__search {
        left: 0 !important;
    }
}

/* Category listing page: listing_design.html middle section */
body#category #main {
    padding-top: 18px !important;
}

body#category .ph-listing-hero {
    padding: 36px 0 28px !important;
}

body#category .ph-hero-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.5) 100%) !important;
    border-radius: 28px !important;
    padding: 40px 44px !important;
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 28px !important;
    align-items: end !important;
}

body#category .ph-listing-hero .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

body#category .ph-listing-hero .hero-copy .section-title {
    margin: 0 !important;
    font-size: 52px !important;
    line-height: 1.03 !important;
    letter-spacing: -0.04em !important;
    font-weight: 800 !important;
}

body#category .ph-listing-hero .hero-copy .section-lead {
    margin: 0 !important;
    max-width: 720px !important;
    font-size: 17px !important;
    color: #5f635f !important;
    line-height: 1.7 !important;
}

body#category .ph-listing-hero .hero-side {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
}

body#category .ph-listing-hero .highlight-card {
    width: 100% !important;
    max-width: 340px !important;
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* The module artwork is not 4:3, and a fixed box cut the edges off it, so the
   picture keeps its own proportions and the card grows with it. */
body#category .ph-listing-hero .highlight-card img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 18px !important;
}

body#category .ph-listing-hero .highlight-label {
    font-size: 13px !important;
    color: #5f635f !important;
    font-weight: 600 !important;
}

body#category .ph-listing-hero .highlight-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #111111 !important;
}

/* The listing hero above was written for a wide screen: two columns, 44px of
   padding and a 52px headline. Below the desktop width that is wider than the
   screen, so the panel stacks and the type comes down with it. */
@media (max-width: 991.98px) {
    body#category .ph-hero-panel {
        padding: 28px 24px !important;
        gap: 22px !important;
    }
    body#category .ph-listing-hero .hero-copy .section-title {
        font-size: 38px !important;
        letter-spacing: -0.03em !important;
    }
}

@media (max-width: 767.98px) {
    body#category .ph-listing-hero {
        padding: 20px 0 16px !important;
    }
    body#category .ph-hero-panel {
        grid-template-columns: 1fr !important;
        border-radius: 20px !important;
        padding: 24px 20px !important;
        gap: 20px !important;
        align-items: start !important;
    }
    body#category .ph-listing-hero .hero-copy {
        gap: 12px !important;
    }
    body#category .ph-listing-hero .hero-copy .section-title {
        font-size: 28px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.02em !important;
    }
    body#category .ph-listing-hero .hero-copy .section-lead {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }
    /* The featured card would push the listing itself below the fold here, so
       on a phone the hero is the copy alone. It stays on wider screens. */
    body#category .ph-listing-hero .hero-side {
        display: none !important;
    }
}


body#category .ph-toolbar-section {
    padding: 8px 0 24px !important;
}

body#category .ph-toolbar-section .toolbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 24px !important;
}

body#category .ph-toolbar-section .toolbar-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

body#category .ph-toolbar-section .meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body#category .ph-toolbar-section .result-count {
    font-size: 14px !important;
    color: #5f635f !important;
    font-weight: 600 !important;
}

body#category .ph-toolbar-section .category-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body#category .ph-toolbar-section .category-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

body#category .ph-toolbar-section .category-pill.active {
    background: #111111 !important;
    color: #ffffff !important;
}

body#category .ph-toolbar-section .sort-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
}

body#category .ph-toolbar-section .sort-chip label {
    display: none !important;
}

body#category .ph-toolbar-section .sort-chip .form-inline,
body#category .ph-toolbar-section .sort-chip .form-group {
    margin: 0 !important;
}

body#category .ph-toolbar-section .sort-chip .custom-select {
    border: 0 !important;
    background: transparent !important;
    height: auto !important;
    padding: 0 18px 0 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    min-width: 130px !important;
    box-shadow: none !important;
}

body#category .ph-listing-module-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body#category .ph-listing-module-grid .product-miniature {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

body#category .ph-listing-module-grid .ph-module-card {
    background: #ffffff !important;
    border-radius: 28px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    min-height: 340px !important;
}

body#category .ph-listing-module-grid .ph-module-thumb {
    border-radius: 22px !important;
    padding: 10px !important;
    aspect-ratio: 4 / 2.7 !important;
    background: linear-gradient(180deg, #f8f7f3 0%, #f2f7f2 100%) !important;
}

body#category .ph-listing-module-grid .ph-module-thumb .thumbnail {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body#category .ph-listing-module-grid .ph-module-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 16px !important;
}

body#category .ph-listing-module-grid .ph-module-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body#category .ph-listing-module-grid .module-category {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #5f635f !important;
    letter-spacing: 0.01em !important;
}

body#category .ph-listing-module-grid .ph-quick-open {
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #108644 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
}

body#category .ph-listing-module-grid .ph-quick-open iconify-icon {
    display: inline-flex !important;
    color: white !important;
}

body#category .ph-listing-module-grid .ph-module-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

body#category .ph-listing-module-grid .ph-module-title {
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    font-weight: 800 !important;
}

body#category .ph-listing-module-grid .ph-module-title a {
    color: #111111 !important;
}

body#category .ph-listing-module-grid .ph-module-text {
    margin: 0 !important;
    font-size: 13px !important;
    color: #5f635f !important;
    line-height: 1.55 !important;
}

body#category .ph-listing-module-grid .ph-module-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    padding-top: 6px !important;
}

body#category .ph-listing-module-grid .module-price {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111111 !important;
}

body#category .ph-listing-module-grid .ph-module-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

body#category .ph-listing-module-grid .ph-module-link:hover {
    color: #111111 !important;
    opacity: 0.75 !important;
}

@media (max-width: 991px) {
    body#category .ph-hero-panel {
        grid-template-columns: 1fr !important;
        padding: 24px 20px !important;
    }

    body#category .ph-toolbar-section .toolbar {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body#category .ph-listing-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1200px) {
    body#category .ph-listing-module-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body#category .ph-listing-module-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Shared product miniature component styles (all pages) */
body .product-miniature .ph-module-card {
    background: #ffffff !important;
    border-radius: 28px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    min-height: 340px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

body .product-miniature .ph-module-thumb {
    border-radius: 22px !important;
    padding: 10px !important;
    aspect-ratio: 4 / 2.7 !important;
    background: linear-gradient(180deg, #f8f7f3 0%, #f2f7f2 100%) !important;
}

body .product-miniature .ph-module-thumb .thumbnail {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body .product-miniature .ph-module-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 16px !important;
}

body .product-miniature .ph-module-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body .product-miniature .module-category {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #5f635f !important;
    letter-spacing: 0.01em !important;
}

body .product-miniature .ph-quick-open {
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #108644 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .product-miniature .ph-quick-open iconify-icon {
    display: inline-flex !important;
    color: white !important;
}

body .product-miniature .ph-module-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 0 !important;
}

body .product-miniature .ph-module-title {
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    font-weight: 800 !important;
}

body .product-miniature .ph-module-title a {
    color: #111111 !important;
}

body .product-miniature .ph-module-text {
    margin: 0 !important;
    font-size: 13px !important;
    color: #5f635f !important;
    line-height: 1.55 !important;
}

body .product-miniature .ph-module-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    padding-top: 6px !important;
}

body .product-miniature .module-price {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111111 !important;
}

body .product-miniature .ph-module-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
}

body .product-miniature .ph-module-link:hover {
    color: #111111 !important;
    opacity: 0.75 !important;
    transform: none !important;
}

body .product-miniature .ph-module-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 18px 36px rgba(16, 16, 16, 0.14) !important;
}

body .product-miniature .ph-quick-open:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

body .product-miniature .ph-quick-open:hover iconify-icon {
    color: #ffffff !important;
}

/* Global listing pagination styling */
body .pagination,
body .page-list.pagination {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body .page-list.pagination .page-item {
    margin: 0 !important;
}

body .page-list.pagination .page-link {
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: #111111 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 12px !important;
    box-shadow: none !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}

body .page-list.pagination .page-item.active .page-link,
body .page-list.pagination .page-link.disabled {
    background: #111111 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

body .page-list.pagination .page-item:not(.active) .page-link:hover {
    background: #108644 !important;
    color: white !important;
    transform: translateY(-1px) !important;
} 

body .page-list.pagination .page-link.next,
body .page-list.pagination .page-link.previous {
    min-width: 44px !important;
    padding: 0 !important;
}

body .page-list.pagination .page-link i.material-icons {
    font-size: 20px !important;
    line-height: 1 !important;
}

body #js-product-list-bottom .row.u-a-i-c > .small {
    font-size: 14px !important;
    color: #5f635f !important;
    font-weight: 600 !important;
}

/* Add-to-cart modal styling */
body .blockcart-modal .modal-dialog {
    max-width: 920px !important;
}

body .blockcart-modal .modal-content {
    border: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 48px rgba(16, 16, 16, 0.18) !important;
}

body .blockcart-modal .modal-header {
    border-bottom: 1px solid #ececec !important;
    padding: 18px 22px !important;
    background: linear-gradient(180deg, #fff7e8 0%, #ffffff 100%) !important;
}

body .blockcart-modal .modal-title {
    color: #111111 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body .blockcart-modal .modal-title i.material-icons {
    color: #108644 !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}

body .blockcart-modal .close {
    opacity: 1 !important;
}

body .blockcart-modal .close i.material-icons {
    color: #111111 !important;
}

body .blockcart-modal .modal-body {
    padding: 22px !important;
}

body .blockcart-modal .divide-right {
    border-right: 1px solid #ececec !important;
}

body .blockcart-modal .modal-cart__image {
    border-radius: 14px !important;
    background: #f8f7f3 !important;
    padding: 10px !important;
    width: 170px !important;
    height: 170px !important;
    object-fit: contain !important;
}

body .blockcart-modal .modal-cart__name {
    color: #111111 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

body .blockcart-modal .product-price,
body .blockcart-modal .product-total .value,
body .blockcart-modal .cart-content .value {
    color: #111111 !important;
    font-weight: 800 !important;
}

body .blockcart-modal .cart-content p {
    color: #5f635f !important;
    margin-bottom: 10px !important;
}

body .blockcart-modal .cart-products-count {
    font-weight: 700 !important;
    color: #111111 !important;
}

body .blockcart-modal .modal-footer {
    border-top: 1px solid #ececec !important;
    padding: 16px 22px 22px !important;
    background: #ffffff !important;
}

body .blockcart-modal .modal-footer .btn {
    border-radius: 999px !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    padding: 10px 18px !important;
}

body .blockcart-modal .modal-footer .btn.btn-outline-secondary {
    border: 1px solid #d9d9d9 !important;
    color: #111111 !important;
    background: #ffffff !important;
}

body .blockcart-modal .modal-footer .btn.btn-primary {
    border: 1px solid #108644 !important;
    background: #108644 !important;
    color: white !important;  
}

body .blockcart-modal .modal-footer .btn.btn-primary:hover {
    border-color: #111111 !important;
    background: #111111 !important;
    color: #ffffff !important;
}

@media (max-width: 991px) {
    body .blockcart-modal .divide-right {
        border-right: 0 !important;
        border-bottom: 1px solid #ececec !important;
        margin-bottom: 16px !important;
        padding-bottom: 16px !important;
    }

    body .blockcart-modal .modal-cart__image {
        width: 120px !important;
        height: 120px !important;
    }

    body .blockcart-modal .modal-title {
        font-size: 20px !important;
    }
}

/* Cart page redesign (content only, header/footer untouched) */
body#cart .ph-cart-page {
    padding-top: 22px !important;
}

body#cart .ph-cart-page .cart-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.9fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

body#cart .ph-cart-page .cart-grid > .cart-grid-body,
body#cart .ph-cart-page .cart-grid > .cart-grid-right {
    max-width: none !important;
    flex: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#cart .ph-cart-page .ph-cart-container {
    border: 0 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.66) 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body#cart .ph-cart-page .ph-cart-container .card-header {
    font-size: 32px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    font-weight: 800 !important;
    border: 0 !important;
    background: transparent !important;
    padding: 24px 28px 8px !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .ph-cart-container .cart__card-body {
    padding: 18px 28px 28px !important;
}

body#cart .ph-cart-page .cart-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

body#cart .ph-cart-page .cart-item {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    padding: 18px !important;
}

body#cart .ph-cart-page .product-line-grid {
    align-items: center !important;
}

body#cart .ph-cart-page .product-line__img {
    width: 132px !important;
    height: 132px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #f8f7f3 0%, #f2f7f2 100%) !important;
    padding: 10px !important;
    object-fit: contain !important;
}

body#cart .ph-cart-page .product-line__title {
    margin: 0 0 8px !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    font-weight: 800 !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .product-line-info.product-price .price,
body#cart .ph-cart-page .product-line-actions .product-price strong {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .product-line-grid-right.product-line-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
}

body#cart .ph-cart-page .cart-line-product-actions .remove-from-cart {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: #fce9ec !important;
    color: #cb2131 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body#cart .ph-cart-page .ph-cart-continue {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: fit-content !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body#cart .ph-cart-page .ph-cart-summary {
    border: 0 !important;
    border-radius: 28px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

body#cart .ph-cart-page .ph-cart-summary .card-body--summary {
    padding: 24px !important;
    background: #ffffff !important;
}

body#cart .ph-cart-page .ph-cart-summary-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}

body#cart .ph-cart-page .ph-cart-summary-title {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .ph-cart-summary-badge {
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #e8f4ec !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

body#cart .ph-cart-page .cart-summary-line {
    font-size: 16px !important;
}

body#cart .ph-cart-page .cart-summary-line .label {
    color: #5f635f !important;
}

body#cart .ph-cart-page .cart-summary-line .value,
body#cart .ph-cart-page .cart-total .value {
    color: #111111 !important;
    font-weight: 800 !important;
}

body#cart .ph-cart-page .cart-total {
    padding-top: 14px !important;
    border-top: 1px solid #ececec !important;
    margin-top: 6px !important;
}

body#cart .ph-cart-page .cart-detailed-totals,
body#cart .ph-cart-page .cart-voucher,
body#cart .ph-cart-page .block-promo,
body#cart .ph-cart-page .promo-code,
body#cart .ph-cart-page .promo-code__content {
    background: transparent !important;
}

body#cart .ph-cart-page .ph-cart-summary .card-footer {
    border-top: 1px solid #ececec !important;
    background: #ffffff !important;
    padding: 18px 24px 24px !important;
}

body#cart .ph-cart-page .cart-detailed-actions .btn-primary {
    width: 100% !important;
    border-radius: 999px !important;
    min-height: 52px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

body#cart .ph-cart-page .promo-code-button .collapse-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 999px !important;
    background: #f3f5f1 !important;
    color: #111111 !important;
    font-weight: 700 !important;
}

body#cart .ph-cart-page .cart-voucher .input-group .form-control {
    border-radius: 999px 0 0 999px !important;
    min-height: 44px !important;
}

body#cart .ph-cart-page .cart-voucher .input-group .btn-primary {
    border-radius: 0 999px 999px 0 !important;
    min-height: 44px !important;
}

body#cart .ph-cart-page .blockreassurance_product {
    border-radius: 24px !important;
    background: #ffffff !important;
    padding: 20px !important;
}

body#cart .ph-cart-page .ph-cart-recommend-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.7) 100%) !important;
    border-radius: 24px !important;
    padding: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

body#cart .ph-cart-page .ph-cart-recommend-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}

body#cart .ph-cart-page .ph-cart-recommend-title {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body#cart .ph-cart-page .ph-cart-mini-product {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 12px !important;
    text-decoration: none !important;
    color: inherit !important;
}

body#cart .ph-cart-page .ph-cart-mini-thumb {
    background: linear-gradient(180deg, #f8f7f3 0%, #f2f7f2 100%) !important;
    border-radius: 16px !important;
    padding: 8px !important;
    aspect-ratio: 1 / 1 !important;
}

body#cart .ph-cart-page .ph-cart-mini-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

body#cart .ph-cart-page .ph-cart-mini-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body#cart .ph-cart-page .ph-cart-mini-name {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .ph-cart-mini-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
}

body#cart .ph-cart-page .ph-cart-mini-price {
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    color: #111111 !important;
}

body#cart .ph-cart-page .ph-cart-mini-add {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    background: #108644 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

@media (max-width: 991px) {
    body#cart .ph-cart-page .cart-grid {
        grid-template-columns: 1fr !important;
    }

    body#cart .ph-cart-page .ph-cart-container .card-header {
        font-size: 28px !important;
        padding: 22px 18px 8px !important;
    }

    body#cart .ph-cart-page .ph-cart-container .cart__card-body {
        padding: 14px 18px 20px !important;
    }

    body#cart .ph-cart-page .cart-item {
        padding: 14px !important;
    }

    body#cart .ph-cart-page .product-line__img {
        width: 108px !important;
        height: 108px !important;
    }

    body#cart .ph-cart-page .product-line__title {
        font-size: 21px !important;
    }

    body#cart .ph-cart-page .product-line-grid-right.product-line-actions {
        justify-content: space-between !important;
        margin-top: 12px !important;
    }
}

/* Checkout page redesign (visual only) */
body#checkout #wrapper.l-wrapper {
    padding-top: 20px !important;
}

body#checkout #content > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.82fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

body#checkout #content > .row > .alert.alert-primary {
    grid-column: 1 / -1 !important;
    border: 0 !important;
    border-radius: 24px !important;
    padding: 22px 24px !important;
    background: rgba(226, 221, 255, 0.75) !important;
    color: #111111 !important;
    margin-bottom: 0 !important;
}

body#checkout #content > .row > .alert.alert-primary strong {
    display: block !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    margin-bottom: 6px !important;
}

body#checkout #content > .row > .alert.alert-primary p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: rgba(17, 17, 17, 0.84) !important;
}

body#checkout #js-checkout-process {
    max-width: none !important;
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#checkout .checkout-process {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

body#checkout .checkout-step.card {
    border: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.72) 100%) !important;
    box-shadow: none !important;
}

body#checkout .checkout-step .card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 22px 24px !important;
    border: 0 !important;
    background: transparent !important;
}

body#checkout .checkout-step .step-title {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body#checkout .checkout-step .step-title .step-number {
    font-size: 18px !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}

body#checkout .checkout-step .step-title .done {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: #e8f4ec !important;
    color: #108644 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
}

body#checkout .checkout-step .step-edit {
    color: #5f635f !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body#checkout .checkout-step .content.card-body {
    padding: 0 24px 24px !important;
}

body#checkout .checkout-step .nav-inline {
    display: flex !important;
    justify-content: center !important;
    gap: 30px !important;
    padding: 12px 0 22px !important;
}

body#checkout .checkout-step .nav-inline .nav-link {
    padding: 10px 6px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #5f635f !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
}

body#checkout .checkout-step .nav-inline .nav-link.active {
    color: #108644 !important;
    border-bottom-color: #108644 !important;
    background: transparent !important;
}

body#checkout .checkout-step .form-control,
body#checkout .checkout-step select.form-control {
    height: 50px !important;
    border-radius: 14px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #e2dcdc !important;
    color: #111111 !important;
    font-size: 15px !important;
}

body#checkout .checkout-step .custom-checkbox input[type=checkbox] + span,
body#checkout .checkout-step .custom-radio input[type=radio] + span {
    border-color: #e5e5e5 !important;
    background: #ffffff !important;
}

body#checkout .checkout-step .btn-primary,
body#checkout .checkout-step .continue,
body#checkout .checkout-step .btn.btn-primary {
    border-radius: 999px !important;
    min-height: 50px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

body#checkout .order-checkout {
    max-width: none !important;
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

body#checkout #js-checkout-summary.card {
    border: 0 !important;
    border-radius: 28px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

body#checkout #js-checkout-summary .card-body {
    padding: 24px !important;
}

body#checkout #js-checkout-summary .card-footer {
    border-top: 1px solid #ececec !important;
    background: #ffffff !important;
    padding: 18px 24px 24px !important;
}

body#checkout #js-checkout-summary .cart-summary-line .label {
    color: #5f635f !important;
}

body#checkout #js-checkout-summary .cart-summary-line .value,
body#checkout #js-checkout-summary .cart-total .value {
    color: #111111 !important;
    font-weight: 800 !important;
}

body#checkout #js-checkout-summary .cart-summary-totals .cart-total {
    border-top: 1px solid #ececec !important;
    padding-top: 14px !important;
}

body#checkout #js-checkout-summary .promo-code-button .collapse-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 999px !important;
    background: #f3f5f1 !important;
    color: #111111 !important;
    font-weight: 700 !important;
}

body#checkout #js-checkout-summary .input-group .form-control {
    border-radius: 999px 0 0 999px !important;
}

body#checkout #js-checkout-summary .input-group .btn-primary {
    border-radius: 0 999px 999px 0 !important;
}

body#checkout .order-checkout .blockreassurance_product {
    border-radius: 24px !important;
    background: #ffffff !important;
    padding: 22px !important;
}

@media (max-width: 991px) {
    body#checkout #content > .row {
        grid-template-columns: 1fr !important;
    }
}

/* Final typography normalization for redesigned pages */
body#index .newdesign-home,
body#index .newdesign-home *,
body#category #main,
body#category #main *,
body#cart .ph-cart-page,
body#cart .ph-cart-page *,
body#checkout #content,
body#checkout #content * {
    letter-spacing: normal !important;
    font-kerning: normal !important;
    text-rendering: optimizeLegibility !important;
}

body#index .newdesign-home p,
body#category #main p,
body#cart .ph-cart-page p,
body#checkout #content p, 
body#index .newdesign-home span,
body#category #main span,
body#cart .ph-cart-page span,
body#checkout #content span,
body#index .newdesign-home a,
body#category #main a,
body#cart .ph-cart-page a,
body#checkout #content a,
body#index .newdesign-home li,
body#category #main li,
body#cart .ph-cart-page li,
body#checkout #content li,
body#index .newdesign-home label,
body#category #main label,
body#cart .ph-cart-page label,
body#checkout #content label,
body#index .newdesign-home input,
body#category #main input,
body#cart .ph-cart-page input,
body#checkout #content input,
body#index .newdesign-home select,
body#category #main select,
body#cart .ph-cart-page select,
body#checkout #content select,
body#index .newdesign-home button,
body#category #main button,
body#cart .ph-cart-page button,
body#checkout #content button {
    letter-spacing: normal !important;
}

/* My account links redesign */
body#my-account #main .page-content {
    background: transparent !important;
}

body#my-account .account-links {
    margin-top: 6px !important;
    row-gap: 16px !important;
}

body#my-account .account-links > a {
    text-decoration: none !important;
}

body#my-account .account-links > a .link-item {
    width: 100% !important;
    min-height: 88px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.78) 100%) !important;
    box-shadow: 0 10px 24px rgba(16, 16, 16, 0.08) !important;
    border: 1px solid rgba(16, 16, 16, 0.06) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    color: #111111 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body#my-account .account-links > a .link-item i.material-icons {
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #108644 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

body#my-account .account-links > a:hover .link-item {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 30px rgba(16, 16, 16, 0.14) !important;
    background: #ffffff !important;
}

body#cart .ph-cart-page .item-topline {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-bottom: 8px !important;
}

body#cart .ph-cart-page .item-tag {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #5f635f !important;
    white-space: nowrap !important;
}

body#cart .ph-cart-page .item-desc {
    margin: 0 0 10px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #5f635f !important;
    max-width: 640px !important;
}

body#cart .ph-cart-page .item-details {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 8px !important;
}

body#cart .ph-cart-page .detail-chip {
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #f3f5f1 !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
.header__container.container{
    display: none !important;
}
.u-a-i-c{
    margin-top: 15px !important;
}
.card-body--summary .cart-total, .total-value{
    background: none !important;
}

/* Purchased modules / licence list redesign */
.prestahu-licence-page {
    --ph-green: #108644;
    --ph-text: #111111;
    --ph-muted: #5f635f;
}

.prestahu-licence-page .panel {
    border: 1px solid rgba(16, 16, 16, 0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 28px rgba(16, 16, 16, 0.08) !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.prestahu-licence-page .panel-heading {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(16, 16, 16, 0.08) !important;
    padding: 16px 20px !important;
}

.prestahu-licence-page .panel.panel-warning {
    border-color: rgba(16, 134, 68, 0.28) !important;
    background: #f5fbf7 !important;
}

.prestahu-licence-page .panel.panel-warning .panel-heading {
    background: rgba(16, 134, 68, 0.08) !important;
    border-bottom-color: rgba(16, 134, 68, 0.2) !important;
}

.prestahu-licence-page .panel .panel-title,
.prestahu-licence-page .panel .panel-title span,
.prestahu-licence-page .module-name {
    color: var(--ph-text) !important;
}

.prestahu-licence-page .panel .badge {
    background: var(--ph-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: none !important;
}

.prestahu-licence-page .panel-body {
    background: transparent !important;
    padding: 18px !important;
}

.prestahu-licence-page .licence-card {
    border: 1px solid rgba(16, 16, 16, 0.08) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 16px rgba(16, 16, 16, 0.06) !important;
}

.prestahu-licence-page .licence-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid rgba(16, 16, 16, 0.08) !important;
    padding-bottom: 10px !important;
    margin-bottom: 12px !important;
}

.prestahu-licence-page .module-name {
    font-size: 17px !important;
    font-weight: 700 !important;
}

.prestahu-licence-page .licence-status {
    padding: 5px 12px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}

.prestahu-licence-page .status-active {
    background: rgba(16, 134, 68, 0.14) !important;
    color: var(--ph-green) !important;
}

.prestahu-licence-page .status-expired {
    background: rgba(206, 39, 39, 0.12) !important;
    color: #a52a2a !important;
}

.prestahu-licence-page .licence-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.prestahu-licence-page .detail-item {
    min-width: 170px !important;
}

.prestahu-licence-page .detail-label {
    color: var(--ph-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.prestahu-licence-page .detail-value {
    color: var(--ph-text) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.prestahu-licence-page .licence-key-container {
    background: #f7f8f7 !important;
    border: 1px solid rgba(16, 16, 16, 0.08) !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.prestahu-licence-page .licence-key-masked,
.prestahu-licence-page .licence-key-full {
    color: #2f3231 !important;
    font-size: 14px !important;
}

.prestahu-licence-page .copy-btn,
.prestahu-licence-page .toggle-key-btn {
    border: none !important;
    background: transparent !important;
    color: var(--ph-text) !important;
    font-weight: 700 !important;
}

.prestahu-licence-page .download-section {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-top: 8px !important;
}

.prestahu-licence-page .btn.btn-primary,
.prestahu-licence-page .btn.btn-warning,
.prestahu-licence-page .btn.btn-success {
    background: var(--ph-green) !important;
    border-color: var(--ph-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.prestahu-licence-page .btn.btn-danger {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.prestahu-licence-page .btn:hover {
    filter: brightness(.92) !important;
}

@media (max-width: 768px) {
    body#index .newdesign-home .newsletter-input {
        min-width: auto !important;
    }
    .reviews-section{
        max-width: 100% !important;
        overflow: hidden;
    }
}

body#product .js-product-images-modal .slick-slide img{
    width: 100%;
    height: auto;
}  body#product .js-product-images-modal .modal-dialog {
       max-width: min(900px, 90vw);
   }
body#product .js-product-images-modal .rc,
body#product .js-product-images-modal .rc_1_1 {
    padding-top: 0 !important;
    height: auto !important;
    background: transparent !important;
}
body#product .js-product-images-modal .slick-slide img,
body#product .js-product-images-modal figure img {
    position: static !important;
    max-width: 100%;
    width: auto;
    max-height: 80vh;
    height: auto;
    margin: 0 auto;
    display: block;
    object-fit: contain;
}

/* D4: Contact page left column card */
body#contact #left-column .contact-rich {
    background: var(--ph-surface-cream, oklch(97.5% 0.012 60)) !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-md, 20px) !important;
    padding: 24px !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
}

body#contact #left-column .contact-rich > h4 {
    font-size: var(--ph-text-lg, 20px) !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
    color: var(--ph-text, #111111) !important;
}

body#contact #left-column .contact-rich .block {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 12px 0 !important;
}

body#contact #left-column .contact-rich hr {
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
}

body#contact #left-column .contact-rich .icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    background: var(--ph-brand-soft, oklch(94% 0.030 150)) !important;
    color: var(--ph-brand, oklch(54% 0.165 150)) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body#contact #left-column .contact-rich .icon i.material-icons {
    font-size: 20px !important;
    line-height: 1 !important;
}

body#contact #left-column .contact-rich .data {
    flex: 1 !important;
    font-size: var(--ph-text-sm, 14px) !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    line-height: 1.5 !important;
}

body#contact #left-column .contact-rich .data a {
    color: var(--ph-text, #111111) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body#contact #left-column .contact-rich .data a:hover {
    color: var(--ph-brand, oklch(54% 0.165 150)) !important;
}

/* D5: Cart trust-badge cards (blockreassurance on cart page) */
body#cart #block-reassurance,
body#checkout #block-reassurance {
    background: var(--ph-surface-cream, oklch(97.5% 0.012 60)) !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-md, 20px) !important;
    padding: 8px 16px !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
    margin-top: 16px !important;
}

body#cart #block-reassurance ul,
body#checkout #block-reassurance ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body#cart #block-reassurance li,
body#checkout #block-reassurance li {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    color: var(--ph-text, #111111) !important;
    font-size: var(--ph-text-sm, 14px) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

body#cart #block-reassurance li:last-child,
body#checkout #block-reassurance li:last-child {
    border-bottom: 0 !important;
}

body#cart #block-reassurance li img,
body#checkout #block-reassurance li img {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 7px !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    background: var(--ph-brand-soft, oklch(94% 0.030 150)) !important;
    object-fit: contain !important;
}

body#cart #block-reassurance li span,
body#checkout #block-reassurance li span {
    flex: 1 !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
}

/* D8: Product page retoken — applies to all product pages, including bespoke ones */
/* The quantity stepper lives in the same block but is not a call to action,
   so it is kept out of the buy-button styling. */
body#product .product-add-to-cart .btn:not(.js-touchspin),
body#product .add-to-cart,
body#product button[data-button-action="add-to-cart"] {
    background: var(--ph-brand, oklch(54% 0.165 150)) !important;
    color: var(--ph-brand-ink, oklch(98% 0.008 150)) !important;
    border: 1px solid var(--ph-brand, oklch(54% 0.165 150)) !important;
    border-radius: var(--ph-radius-pill, 999px) !important;
    font-weight: 700 !important;
    padding: 14px 28px !important;
    font-size: var(--ph-text-md, 17px) !important;
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06)) !important;
    transition: filter .2s ease, transform .2s ease !important;
}

body#product .product-add-to-cart .btn:not(.js-touchspin):hover,
body#product .add-to-cart:hover,
body#product button[data-button-action="add-to-cart"]:hover {
    filter: brightness(0.95) !important;
    transform: translateY(-1px) !important;
}

body#product .product-tabs .nav-tabs {
    border-bottom: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    gap: 4px !important;
}

body#product .product-tabs .nav-tabs .nav-link {
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    font-weight: 600 !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 14px 18px !important;
}

body#product .product-tabs .nav-tabs .nav-link.active,
body#product .product-tabs .nav-tabs .nav-link:hover {
    color: var(--ph-text, #111111) !important;
    border-bottom-color: var(--ph-brand, oklch(54% 0.165 150)) !important;
}

body#product h1.product-title,
body#product .product-main-information h1 {
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px)) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--ph-text, #111111) !important;
}
@media (max-width: 991px) {
    body#index .newdesign-home .hero-title {
        font-size: 36px !important;
    }

    #index .modules-section{
        display: none !important;
    }
    body#index .newdesign-home .price-tag{
        font-size: 22px !important;
    }
    body#index .newdesign-home .hero-desc{
        max-width: 100vw !Important;
    }
    body#index .newdesign-home .btn-primary{
        font-size: 16px !important;
    }
}
/* ============================================================
 * Add-to-cart status panel (_partials/add-to-cart-status.tpl)
 * Shown while a bespoke product page posts to the cart. Centered card on
 * desktop, bottom sheet on mobile.
 * ============================================================ */
.ph-atc-status {
    position: fixed;
    inset: 0;
    /* Above push-notification and consent prompts, which use very high values. */
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--ph-space-4);
    background: oklch(20% 0.012 60 / 0.32);
    opacity: 0;
    transition: opacity var(--ph-dur) var(--ph-ease-out);
}
.ph-atc-status.is-visible { opacity: 1; }
.ph-atc-status__panel {
    display: flex;
    align-items: center;
    gap: var(--ph-space-4);
    width: min(420px, 100%);
    padding: var(--ph-space-5);
    background: var(--ph-bg);
    border: var(--ph-border-w) solid var(--ph-border);
    border-radius: var(--ph-radius-md);
    box-shadow: var(--ph-shadow-lg);
    font-family: var(--ph-font-sans);
    transform: translateY(8px) scale(0.98);
    transition: transform var(--ph-dur) var(--ph-ease-out);
}
.ph-atc-status.is-visible .ph-atc-status__panel { transform: none; }
.ph-atc-status__spinner {
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid var(--ph-brand-soft);
    border-top-color: var(--ph-brand);
    animation: ph-atc-spin 800ms linear infinite;
}
.ph-atc-status__body { min-width: 0; }
.ph-atc-status__title {
    margin: 0;
    font-size: var(--ph-text-md);
    font-weight: 700;
    line-height: 1.3;
    color: var(--ph-ink);
}
.ph-atc-status__text {
    margin: var(--ph-space-1) 0 0;
    font-size: var(--ph-text-sm);
    line-height: 1.5;
    color: var(--ph-ink-muted);
}
.pshu-pp-cta-form button.is-busy { cursor: progress; }
@keyframes ph-atc-spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
    .ph-atc-status { align-items: flex-end; padding: 0; }
    .ph-atc-status__panel {
        width: 100%;
        border-bottom: 0;
        border-radius: var(--ph-radius-lg) var(--ph-radius-lg) 0 0;
        padding: var(--ph-space-5) var(--ph-space-5) calc(var(--ph-space-5) + env(safe-area-inset-bottom));
        transform: translateY(100%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .ph-atc-status,
    .ph-atc-status__panel { transition: none; }
    .ph-atc-status__panel { transform: none; }
    .ph-atc-status__spinner { animation: none; }
}

/* ---------- Floating action bar (narrow screens) ---------- */
/* _partials/floating-cta.tpl, shown by custom.js while the page's own button is out of view. */
.ph-float-cta { display: none; }
@media (max-width: 991.98px) {
    /* The base theme pins the checkout button to the bottom edge on narrow
       screens; the floating bar takes over that role, the button stays in the summary. */
    body#cart .ph-cart-page .cart-detailed-actions.checkout {
        position: static;
        z-index: auto;
        padding: 0;
        background-color: transparent;
    }
    .ph-float-cta.is-ready {
        display: block;
        position: fixed;
        left: var(--ph-space-3);
        right: var(--ph-space-3);
        bottom: calc(var(--ph-space-3) + env(safe-area-inset-bottom, 0px));
        /* Below Bootstrap modals (1040+) and the add-to-cart status panel. */
        z-index: 1030;
        visibility: hidden;
        transform: translateY(calc(100% + var(--ph-space-5)));
        transition: transform var(--ph-dur) var(--ph-ease-out),
                    visibility 0s linear var(--ph-dur);
    }
    .ph-float-cta.is-ready.is-visible {
        visibility: visible;
        transform: none;
        transition: transform var(--ph-dur) var(--ph-ease-out),
                    visibility 0s;
    }
    .ph-float-cta__bar {
        display: flex;
        align-items: center;
        gap: var(--ph-space-3);
        max-width: 560px;
        margin: 0 auto;
        padding: var(--ph-space-2) var(--ph-space-2) var(--ph-space-2) var(--ph-space-5);
        background: var(--ph-bg);
        border: var(--ph-border-w) solid var(--ph-border-strong);
        border-radius: var(--ph-radius-pill);
        box-shadow: var(--ph-shadow-lg);
        font-family: var(--ph-font-sans);
    }
    .ph-float-cta__info {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-width: 0;
        line-height: 1.25;
    }
    .ph-float-cta__label {
        overflow: hidden;
        font-size: var(--ph-text-xs);
        color: var(--ph-ink-muted);
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .ph-float-cta__value {
        overflow: hidden;
        font-size: var(--ph-text-md);
        font-weight: 700;
        color: var(--ph-ink);
        white-space: nowrap;
        text-overflow: ellipsis;
        font-variant-numeric: tabular-nums;
    }
    .ph-float-cta__btn {
        display: inline-flex;
        /* The action never shrinks: a half-written "Add to cart" is worse than
           a shortened product name, and the name already ends in an ellipsis. */
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        gap: var(--ph-space-2);
        min-width: 0;
        max-width: 68%;
        min-height: 48px;
        margin: 0;
        padding: 0 var(--ph-space-5);
        border: 0;
        border-radius: var(--ph-radius-pill);
        /* Same green as the product-page buttons: 5.5:1 with white text. */
        background: #007a2f;
        color: #ffffff;
        font-family: inherit;
        font-size: var(--ph-text-base);
        font-weight: 700;
        line-height: 1.2;
        white-space: nowrap;
        text-decoration: none;
        cursor: pointer;
        touch-action: manipulation;
        transition: filter var(--ph-dur-fast) var(--ph-ease-out),
                    transform var(--ph-dur-fast) var(--ph-ease-out);
    }
    .ph-float-cta__btn:hover,
    .ph-float-cta__btn:focus {
        color: #ffffff;
        text-decoration: none;
        filter: brightness(0.95);
    }
    .ph-float-cta__btn:focus-visible {
        outline: 3px solid var(--ph-focus-ring);
        outline-offset: 2px;
    }
    .ph-float-cta__btn:active { transform: scale(0.98); }
    .ph-float-cta__btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    .ph-float-cta__text {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ph-float-cta__icon {
        flex: none;
        font-size: 20px;
        line-height: 1;
    }
    /* Keeps the end of the footer clear of the bar. */
    body.has-ph-float-cta #footer .ph-footer-modern {
        padding-bottom: calc(32px + 64px + var(--ph-space-5) + env(safe-area-inset-bottom, 0px));
    }
}
@media (prefers-reduced-motion: reduce) {
    .ph-float-cta.is-ready,
    .ph-float-cta.is-ready.is-visible { transition: none; }
    .ph-float-cta__btn:active { transform: none; }
}

/* ------------------------------------------------------------------
   Home hero: legal deadline countdown
   Shown while the hero is pinned to the product that answers a running
   legal deadline. The blocks hide themselves once the clock runs out.
   ------------------------------------------------------------------ */

body#index .newdesign-home .hero-badge--deadline {
    background: var(--ph-danger, #c0392b) !important;
    border-color: var(--ph-danger, #c0392b) !important;
    color: #ffffff !important;
}

body#index .newdesign-home .hero-countdown {
    margin: 0 0 32px !important;
}

body#index .newdesign-home .hero-countdown__label {
    display: block !important;
    font-size: var(--ph-text-sm, 14px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
    margin-bottom: 10px !important;
}

body#index .newdesign-home .hero-countdown__blocks {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body#index .newdesign-home .hero-countdown__block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 76px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--ph-border, oklch(90% 0.010 90)) !important;
    border-radius: var(--ph-radius-sm, 12px) !important;
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04)) !important;
}

body#index .newdesign-home .hero-countdown__block b {
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    color: var(--ph-text, #111111) !important;
    font-variant-numeric: tabular-nums !important;
}

body#index .newdesign-home .hero-countdown__block i {
    margin-top: 6px !important;
    font-style: normal !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
}

body#index .newdesign-home .hero-countdown__over[hidden],
body#index .newdesign-home .hero-countdown__label[hidden],
body#index .newdesign-home .hero-countdown__blocks[hidden] {
    display: none !important;
}

body#index .newdesign-home .hero-countdown__over {
    display: inline-block !important;
    font-size: var(--ph-text-sm, 15px) !important;
    font-weight: 700 !important;
    color: var(--ph-danger, #c0392b) !important;
}

@media (max-width: 767px) {
    body#index .newdesign-home .hero-countdown__block {
        min-width: 62px !important;
        padding: 10px !important;
    }

    body#index .newdesign-home .hero-countdown__block b {
        font-size: 24px !important;
    }

    body#index .newdesign-home .hero-countdown__blocks {
        gap: 8px !important;
    }
}

/* Long single words (product names) forced the hero column to its min-content
   width, which pushed the copy past the screen edge on a phone. */
@media (max-width: 991px) {
    body#index .newdesign-home .hero-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body#index .newdesign-home .hero-content {
        min-width: 0 !important;
    }

    body#index .newdesign-home .hero-title {
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        font-size: clamp(22px, 6.4vw, 36px) !important;
    }

    body#index .newdesign-home .tilted-box {
        max-width: 100% !important;
        padding: 4px 14px !important;
    }

    body#index .newdesign-home .hero-desc {
        max-width: 100% !important;
    }
}

/* The hero picture is sized for the desktop column; on a phone it kept a fixed
   height and floated right, so its right edge ran off the screen. */
@media (max-width: 991px) {
    body#index .newdesign-home .hero-image-wrapper img {
        float: none !important;
        width: 100% !important;
        height: auto !important;
    }
}

/* ------------------------------------------------------------------
   Standing navigation to the customer's own modules
   _partials/bottom-nav.tpl. Narrow screens: a dock on the bottom edge
   holding one highlighted line and a bar with five destinations, which
   slides away as one piece when the add-to-cart bar needs that edge.
   Wide screens: a single pill in the lower left corner that steps aside
   when the footer arrives. Behaviour lives in custom.js.
   ------------------------------------------------------------------ */
.pshu-bdock,
.pshu-bhl-data,
.pshu-mine-pill { display: none; }

@media (max-width: 991.98px) {
    .pshu-bdock {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        /* Under the add-to-cart bar (1030) and Bootstrap modals (1040+). */
        z-index: 1020;
        background: #ffffff;
        box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06));
        padding-bottom: env(safe-area-inset-bottom, 0px);
        transform: translateY(0);
        transition: transform var(--ph-dur, 200ms) var(--ph-ease-out, ease-out);
    }
    /* The padding is inside the box, so the full height is one translate. */
    .pshu-bdock.is-away { transform: translateY(100%); }

    .pshu-bnav {
        display: block;
        border-top: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    }
    .pshu-bnav__row {
        display: flex;
        align-items: stretch;
    }
    .pshu-bnav__item {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 56px;
        padding: var(--ph-space-2, 8px) var(--ph-space-1, 4px);
        text-decoration: none;
        color: var(--ph-text-muted, oklch(45% 0.012 60));
        transition: color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out),
                    background-color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
    }
    .pshu-bnav__item:hover,
    .pshu-bnav__item:focus { text-decoration: none; color: var(--ph-brand, #108644); }
    .pshu-bnav__item:focus-visible {
        outline: 2px solid var(--ph-brand, #108644);
        outline-offset: -2px;
    }
    .pshu-bnav__item:active { background-color: var(--ph-surface-sand, oklch(96% 0.010 90)); }
    .pshu-bnav__item.is-current { color: var(--ph-brand, #108644); }
    .pshu-bnav__icon { font-size: 22px; line-height: 1; }
    .pshu-bnav__label {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.01em;
        line-height: 1.2;
        text-align: center;
    }

    .pshu-bhl {
        display: flex;
        align-items: center;
        gap: var(--ph-space-2, 8px);
        padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
        background: var(--ph-brand, #108644);
        color: var(--ph-brand-ink, #ffffff);
    }
    .pshu-bhl[hidden] { display: none; }
    .pshu-bhl__link {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: var(--ph-space-2, 8px);
        min-height: 28px;
        color: inherit;
        text-decoration: none;
    }
    .pshu-bhl__link:hover,
    .pshu-bhl__link:focus { color: inherit; text-decoration: none; }
    .pshu-bhl__icon { flex: none; font-size: 20px; line-height: 1; }
    .pshu-bhl__text {
        flex: 1 1 auto;
        min-width: 0;
        font-size: var(--ph-text-sm, 13px);
        font-weight: 600;
        line-height: 1.3;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .pshu-bhl__close {
        flex: none;
        width: 44px;
        height: 44px;
        margin: -8px -4px -8px 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        background: transparent;
        color: inherit;
        font-size: 22px;
        line-height: 1;
        opacity: 0.8;
    }
    .pshu-bhl__close:focus-visible {
        outline: 2px solid var(--ph-brand-ink, #ffffff);
        outline-offset: -4px;
    }

    /* One message at a time on a phone: the corner card is the wide-screen form. */
    .pshu-eut { display: none !important; }

    /* Keeps the end of the footer clear of the dock. */
    body.has-pshu-bnav #footer .ph-footer-modern {
        padding-bottom: calc(32px + 56px + 44px + env(safe-area-inset-bottom, 0px));
    }
}

@media (min-width: 992px) {
    .pshu-mine-pill {
        display: inline-flex;
        align-items: center;
        gap: var(--ph-space-2, 8px);
        position: fixed;
        left: var(--ph-space-5, 24px);
        bottom: var(--ph-space-5, 24px);
        z-index: 1020;
        padding: var(--ph-space-3, 12px) var(--ph-space-4, 16px);
        min-height: 44px;
        border-radius: var(--ph-radius-pill, 999px);
        background: var(--ph-brand, #108644);
        color: var(--ph-brand-ink, #ffffff);
        box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06));
        text-decoration: none;
        transform: translateY(0);
        opacity: 1;
        transition: transform var(--ph-dur, 200ms) var(--ph-ease-out, ease-out),
                    opacity var(--ph-dur, 200ms) var(--ph-ease-out, ease-out),
                    visibility 0s;
    }
    .pshu-mine-pill:hover,
    .pshu-mine-pill:focus { color: var(--ph-brand-ink, #ffffff); text-decoration: none; }
    .pshu-mine-pill:focus-visible {
        outline: 2px solid var(--ph-brand, #108644);
        outline-offset: 3px;
    }
    /* Steps aside once the footer is on screen, so it never sits over content. */
    .pshu-mine-pill.is-away {
        transform: translateY(200%);
        opacity: 0;
        visibility: hidden;
        transition: transform var(--ph-dur, 200ms) var(--ph-ease-out, ease-out),
                    opacity var(--ph-dur, 200ms) var(--ph-ease-out, ease-out),
                    visibility 0s linear var(--ph-dur, 200ms);
    }
    .pshu-mine-pill__icon { flex: none; font-size: 20px; line-height: 1; }
    .pshu-mine-pill__label {
        font-size: var(--ph-text-sm, 14px);
        font-weight: 700;
        line-height: 1;
    }
}

/* The count of modules with a release waiting. It rides on the bar item and on
   the desktop pill, which both establish their own positioning context. */
.pshu-badge {
    position: absolute;
    top: 4px;
    left: 50%;
    margin-left: 4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-danger, #c0392b);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 991.98px) {
    .pshu-bnav__item { position: relative; }
}

@media (min-width: 992px) {
    .pshu-mine-pill { position: fixed; }
    .pshu-mine-pill .pshu-badge {
        top: -6px;
        left: auto;
        right: -6px;
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pshu-bdock,
    .pshu-mine-pill { transition: none; }
}

/* ------------------------------------------------------------------
   Customer account — the account page and every page inside it
   The base theme ships these pages unstyled; this gives them the
   shop's own surfaces, radii and green accent. Selector list stays
   explicit so nothing outside the account is touched.
   ------------------------------------------------------------------ */
body#my-account,
body#identity,
body#addresses,
body#address,
body#history,
body#order-detail,
body#order-follow,
body#order-slip,
body#discount,
body#module-prestahu-invoiceList,
body#module-prestahu-moduleReleaseList,
body#module-prestahu-moduleLicenceList,
body#module-prestahu-maintenanceList {
    background: var(--ph-surface-cream, oklch(97.5% 0.012 60));
}

body#my-account #main.page-wrapper,
body#identity #main.page-wrapper,
body#addresses #main.page-wrapper,
body#address #main.page-wrapper,
body#history #main.page-wrapper,
body#order-detail #main.page-wrapper,
body#order-follow #main.page-wrapper,
body#module-prestahu-invoiceList #main.page-wrapper,
body#module-prestahu-moduleReleaseList #main.page-wrapper,
body#module-prestahu-moduleLicenceList #main.page-wrapper,
body#module-prestahu-maintenanceList #main.page-wrapper {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* The account page renders its header without the shared class, so it is
   listed separately. */
body#my-account [class*="page-header"] h1,
body#my-account .page-header h1,
body#identity .page-header h1,
body#addresses .page-header h1,
body#address .page-header h1,
body#history .page-header h1,
body#order-detail .page-header h1,
body#order-follow .page-header h1,
body#module-prestahu-invoiceList .page-header h1,
body#module-prestahu-moduleReleaseList .page-header h1,
body#module-prestahu-moduleLicenceList .page-header h1,
body#module-prestahu-maintenanceList .page-header h1 {
    margin: 0 0 var(--ph-space-6, 32px);
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px));
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ph-ink, #111111);
    text-transform: none;
}

/* Who you are, shown on the account page itself */
.ph-account-id {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    padding: var(--ph-space-5, 24px);
    margin-bottom: var(--ph-space-5, 24px);
}

.ph-account-id__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ph-space-4, 16px);
    margin-bottom: var(--ph-space-4, 16px);
}

.ph-account-id__kicker {
    margin: 0 0 2px;
    font-size: var(--ph-text-xs, 12px);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
}

.ph-account-id__name {
    margin: 0;
    font-size: var(--ph-text-lg, 20px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--ph-ink, #111111);
}

.ph-account-id__edit {
    flex: none;
    align-self: center;
    padding: 8px 16px;
    border-radius: var(--ph-radius-pill, 999px);
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
    text-decoration: none;
}

.ph-account-id__edit:hover {
    border-color: var(--ph-brand, #108644);
    color: var(--ph-brand, #108644);
    text-decoration: none;
}

.ph-account-id__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--ph-space-4, 16px);
    margin: 0;
    padding-top: var(--ph-space-4, 16px);
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90));
}

.ph-account-id__row--wide { grid-column: 1 / -1; }

.ph-account-id__row dt {
    margin: 0 0 2px;
    font-size: var(--ph-text-xs, 12px);
    font-weight: 600;
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
}

.ph-account-id__row dd {
    margin: 0;
    font-size: var(--ph-text-sm, 15px);
    line-height: 1.5;
    color: var(--ph-ink, #111111);
    word-break: break-word;
}

/* Address cards */
body#addresses .address {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    padding: var(--ph-space-5, 24px);
    height: 100%;
}

body#addresses .address .address-header {
    margin: 0 0 var(--ph-space-3, 12px);
    font-size: var(--ph-text-base, 16px);
    font-weight: 700;
    color: var(--ph-ink, #111111);
}

body#addresses .address address {
    margin: 0;
    font-size: var(--ph-text-sm, 15px);
    line-height: 1.6;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
    font-style: normal;
}

/* The base theme gives the inner blocks their own padding and a grey footer
   strip, which read as a second card inside the card. */
body#addresses .address .address-body {
    padding: 0 !important;
    background: transparent !important;
}

body#addresses .address .address-header {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body#addresses .address .address-footer {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-3, 12px);
    margin: var(--ph-space-4, 16px) 0 0 !important;
    padding: var(--ph-space-4, 16px) 0 0 !important;
    background: transparent !important;
    border: 0;
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90));
}

/* The two actions read as buttons, and the icon gets its own size so it stops
   sitting off the text baseline (the wrapper's .small class shrank it). */
body#addresses .address .address-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    line-height: 1;
    color: var(--ph-ink, #111111);
    text-decoration: none;
    transition: border-color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out),
                color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
}

body#addresses .address .address-footer a > i.material-icons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    flex: none;
}

body#addresses .address .address-footer a > span { line-height: 1; }

body#addresses .address .address-footer a:hover {
    border-color: var(--ph-brand, #108644);
    color: var(--ph-brand, #108644);
    text-decoration: none;
}

body#addresses .address .address-footer a[data-link-action="delete-address"]:hover {
    border-color: var(--ph-danger, #c0392b);
    color: var(--ph-danger, #c0392b);
}

body#addresses .address .address-footer a:focus-visible {
    outline: 2px solid var(--ph-brand, #108644);
    outline-offset: 2px;
}

/* Shared building blocks for the account subpages */
.ph-account-btn,
body#addresses .addresses-footer .btn,
body#my-account .page-footer .account-link,
body#identity .page-footer .account-link,
body#addresses .page-footer .account-link,
body#history .page-footer .account-link,
body#order-detail .page-footer .account-link,
body#module-prestahu-invoiceList .page-footer .account-link,
body#module-prestahu-maintenanceList .page-footer .account-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: var(--ph-radius-pill, 999px);
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
    text-decoration: none;
}

.ph-account-btn:hover,
body#addresses .addresses-footer .btn:hover,
body .page-footer .account-link:hover {
    border-color: var(--ph-brand, #108644);
    color: var(--ph-brand, #108644);
    text-decoration: none;
}

body#addresses .addresses-footer { margin-top: var(--ph-space-5, 24px); }

.ph-account-table-wrap {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    overflow: hidden;
}

.ph-account-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.ph-account-table th,
.ph-account-table td {
    padding: 14px 20px;
    text-align: left;
    font-size: var(--ph-text-sm, 15px);
    border-bottom: 1px solid var(--ph-border, oklch(90% 0.010 90));
}

.ph-account-table thead th {
    background: var(--ph-surface-sand, oklch(96% 0.010 90));
    font-size: var(--ph-text-xs, 12px);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
}

.ph-account-table tbody tr:last-child td { border-bottom: 0; }
.ph-account-table td { color: var(--ph-ink, #111111); font-variant-numeric: tabular-nums; }
.ph-account-table a { color: var(--ph-brand, #108644); text-decoration: underline; }
.ph-account-table__action { text-align: right; }
.ph-account-table__action a { text-decoration: none; }

.ph-account-empty {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    padding: var(--ph-space-7, 48px) var(--ph-space-5, 24px);
    text-align: center;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-account-empty p { margin: 0 0 var(--ph-space-4, 16px); }

/* The table turns into stacked cards where a row would not fit */
@media (max-width: 767.98px) {
    .ph-account-table thead { display: none; }
    .ph-account-table,
    .ph-account-table tbody,
    .ph-account-table tr,
    .ph-account-table td { display: block; width: 100%; }
    .ph-account-table tr {
        padding: var(--ph-space-3, 12px) 0;
        border-bottom: 1px solid var(--ph-border, oklch(90% 0.010 90));
    }
    .ph-account-table tbody tr:last-child { border-bottom: 0; }
    .ph-account-table td {
        display: flex;
        justify-content: space-between;
        gap: var(--ph-space-4, 16px);
        padding: 6px 20px;
        border: 0;
    }
    .ph-account-table td::before {
        content: attr(data-label);
        font-size: var(--ph-text-xs, 12px);
        font-weight: 600;
        color: var(--ph-ink-subtle, oklch(62% 0.008 140));
    }
    .ph-account-table__action { justify-content: flex-start; padding-top: 10px; }
    .ph-account-table__action::before { content: none; }
    .ph-account-table__action .ph-btn { min-height: 44px; }
    .ph-account-id__head { flex-direction: column; align-items: stretch; }
    .ph-account-id__edit { align-self: flex-start; }
}

/* Signing out sits apart from the tiles, as a quiet action. */
body#my-account [class*="page-footer"] .text-sm-center a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: var(--ph-radius-pill, 999px);
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
    text-decoration: none;
}

body#my-account [class*="page-footer"] .text-sm-center a:hover {
    border-color: var(--ph-danger, #c0392b);
    color: var(--ph-danger, #c0392b);
    text-decoration: none;
}

body#my-account [class*="page-footer"] { margin-top: var(--ph-space-6, 32px); text-align: center; }

/* Account forms: identity, address, password. The base theme leaves them as
   plain browser controls; here they follow the shop's field and button rules. */
body#identity #main [class*="page-header"],
body#address #main [class*="page-header"],
body#addresses #main [class*="page-header"],
body#history #main [class*="page-header"],
body#order-detail #main [class*="page-header"],
body#module-prestahu-invoiceList #main [class*="page-header"] {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

body#identity #content.page-content,
body#address #content.page-content {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    padding: var(--ph-space-6, 32px);
}

body#identity .form-control-label,
body#address .form-control-label,
body#identity label,
body#address label {
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
}

body#identity .form-control,
body#address .form-control,
body#identity select,
body#address select {
    min-height: 44px;
    padding: 12px 14px;
    border: var(--ph-border-w, 1px) solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-radius: var(--ph-radius-sm, 12px);
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-base, 16px);
    color: var(--ph-ink, #111111);
    box-shadow: none;
}

body#identity .form-control:focus,
body#address .form-control:focus,
body#identity select:focus,
body#address select:focus {
    border-color: var(--ph-brand, #108644) !important;
    outline: 2px solid var(--ph-focus-ring, rgba(16,134,68,0.35));
    outline-offset: 2px;
}

body#identity .form-control-comment,
body#address .form-control-comment {
    font-size: var(--ph-text-xs, 12px);
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
}

body#identity .input-group-btn > .btn,
body#address .input-group-btn > .btn,
body#identity .input-group-append .btn,
body#address .input-group-append .btn {
    min-height: 44px;
    border-radius: 0 var(--ph-radius-sm, 12px) var(--ph-radius-sm, 12px) 0;
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-left: 0;
    background: var(--ph-surface-sand, oklch(96% 0.010 90));
    color: var(--ph-ink, #111111);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    box-shadow: none;
}

body#identity .form-footer .btn-primary,
body#address .form-footer .btn-primary,
body#identity button[type="submit"],
body#address button[type="submit"] {
    min-height: 48px;
    padding: 12px 28px;
    border: 0;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand, #108644);
    color: var(--ph-brand-ink, #ffffff);
    font-size: var(--ph-text-base, 16px);
    font-weight: 600;
    box-shadow: none;
    transition: filter var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
}

body#identity .form-footer .btn-primary:hover,
body#address .form-footer .btn-primary:hover,
body#identity button[type="submit"]:hover,
body#address button[type="submit"]:hover { filter: brightness(0.95); }

body#identity .form-footer,
body#address .form-footer {
    margin-top: var(--ph-space-5, 24px);
    padding-top: var(--ph-space-5, 24px);
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90));
}

/* Order list and order detail tables */
body#history #content.page-content,
body#order-detail #content.page-content,
body#order-follow #content.page-content {
    background: transparent;
}

body#history table,
body#order-detail table,
body#order-follow table {
    width: 100%;
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

body#history table th,
body#order-detail table th,
body#order-follow table th {
    background: var(--ph-surface-sand, oklch(96% 0.010 90));
    padding: 14px 18px;
    font-size: var(--ph-text-xs, 12px);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ph-ink-subtle, oklch(62% 0.008 140));
    border: 0;
}

body#history table td,
body#order-detail table td,
body#order-follow table td {
    padding: 14px 18px;
    font-size: var(--ph-text-sm, 15px);
    border: 0;
    border-top: 1px solid var(--ph-border, oklch(90% 0.010 90));
    font-variant-numeric: tabular-nums;
}

/* The footer strip under the account pages carried the theme's grey band. */
body#my-account #main [class*="page-footer"],
body#identity #main [class*="page-footer"],
body#addresses #main [class*="page-footer"],
body#address #main [class*="page-footer"],
body#history #main [class*="page-footer"],
body#order-detail #main [class*="page-footer"],
body#order-follow #main [class*="page-footer"],
body#module-prestahu-invoiceList #main [class*="page-footer"],
body#module-prestahu-moduleReleaseList #main [class*="page-footer"],
body#module-prestahu-moduleLicenceList #main [class*="page-footer"],
body#module-prestahu-maintenanceList #main [class*="page-footer"] {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin-top: var(--ph-space-6, 32px);
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-3, 12px);
}

body#my-account #main [class*="page-footer"] { justify-content: center; }

/* ------------------------------------------------------------------
   Product page: quantity stepper
   The theme's generic button style turned the minus and plus into two
   full-size green pills around a small, shorter field. Here the three
   parts form one control: a single bordered group, the signs quiet,
   the number in the middle, matching the height of the buy button.
   ------------------------------------------------------------------ */
body#product .product-quantity .qty {
    margin-right: var(--ph-space-3, 12px);
}

body#product .product-quantity .qty .input-group {
    display: inline-flex;
    align-items: stretch;
    width: auto;
    height: 60px;
    border: var(--ph-border-w, 1px) solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-bg, #ffffff);
    overflow: hidden;
}

body#product .product-quantity .qty .input-group-btn,
body#product .product-quantity .qty .input-group-prepend,
body#product .product-quantity .qty .input-group-append {
    display: flex;
    margin: 0;
}

body#product .product-quantity .qty .btn.js-touchspin {
    width: 48px;
    min-width: 48px;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    transition: background-color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out),
                color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
}

body#product .product-quantity .qty .btn.js-touchspin:hover,
body#product .product-quantity .qty .btn.js-touchspin:focus {
    background: var(--ph-brand-soft, oklch(94% 0.030 150));
    color: var(--ph-brand, #108644);
    box-shadow: none;
}

body#product .product-quantity .qty .btn.js-touchspin:focus-visible {
    outline: 2px solid var(--ph-brand, #108644);
    outline-offset: -2px;
}

body#product .product-quantity .qty input#quantity_wanted {
    width: 56px;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-right: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    font-size: var(--ph-text-md, 17px);
    font-weight: 700;
    color: var(--ph-ink, #111111);
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
}

body#product .product-quantity .qty input#quantity_wanted:focus {
    outline: 2px solid var(--ph-focus-ring, rgba(16,134,68,0.35));
    outline-offset: -2px;
}

/* The browser's own spinner would sit on top of the shop's buttons. */
body#product .product-quantity .qty input#quantity_wanted::-webkit-outer-spin-button,
body#product .product-quantity .qty input#quantity_wanted::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body#product .product-quantity .quantity__label {
    margin: 0 var(--ph-space-3, 12px) 0 0;
    font-size: var(--ph-text-sm, 14px);
    font-weight: 600;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

@media (max-width: 575.98px) {
    body#product .product-quantity .qty .input-group { height: 52px; }
    body#product .product-quantity .qty .btn.js-touchspin { width: 44px; min-width: 44px; }
}

/* ------------------------------------------------------------------
   Webshop build service page (CMS 14)
   templates/cms/create-website.tpl. A landing page rather than an
   article: each block sits on its own surface so the page has a
   rhythm, and the sections fade in as the reader reaches them.
   ------------------------------------------------------------------ */
body.cms-id-14 #wrapper,
body.cms-id-14 .page-wrapper {
    margin-block: 0 !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

body.cms-id-14 [class*="page-header"] { display: none; }

.ph-cw {
    font-family: var(--ph-font-sans, 'Inter', system-ui, sans-serif);
    color: var(--ph-ink, #111111);
    line-height: 1.55;
}

.ph-cw-inner {
    max-width: 1100px;
    margin-inline: auto;
    padding-inline: var(--ph-gutter, clamp(16px, 4vw, 32px));
}

.ph-cw-section,
.ph-cw-hero {
    padding: var(--ph-section-md, clamp(56px, 9vw, 96px)) 0;
}

/* One rule per tinted band: the fill also has to reach the window edge,
   and the page sits inside a centred column. */
.ph-cw-section--sand,
.ph-cw-section--mint,
.ph-cw-section--blush,
.ph-cw-section--close,
.ph-cw-hero {
    clip-path: inset(0 -100vmax);
}

.ph-cw-hero { background: var(--ph-surface-cream, oklch(97.5% 0.012 60)); box-shadow: 0 0 0 100vmax var(--ph-surface-cream, oklch(97.5% 0.012 60)); }
.ph-cw-section--sand { background: var(--ph-surface-sand, oklch(96% 0.010 90)); box-shadow: 0 0 0 100vmax var(--ph-surface-sand, oklch(96% 0.010 90)); }
.ph-cw-section--mint { background: var(--ph-surface-mint, oklch(97% 0.014 150)); box-shadow: 0 0 0 100vmax var(--ph-surface-mint, oklch(97% 0.014 150)); }
.ph-cw-section--blush { background: var(--ph-surface-blush, oklch(94% 0.020 20)); box-shadow: 0 0 0 100vmax var(--ph-surface-blush, oklch(94% 0.020 20)); }
.ph-cw-section--close { background: var(--ph-brand, #108644); box-shadow: 0 0 0 100vmax var(--ph-brand, #108644); color: var(--ph-brand-ink, #ffffff); }

/* Attention */
.ph-cw-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ph-space-7, 48px);
    align-items: center;
}

@media (min-width: 992px) {
    .ph-cw-hero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); }
}

.ph-cw-kicker {
    display: inline-block;
    margin-bottom: var(--ph-space-3, 12px);
    padding: 6px 14px;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand-soft, oklch(94% 0.030 150));
    color: var(--ph-brand, #108644);
    font-size: var(--ph-text-sm, 14px);
    font-weight: 700;
}

.ph-cw-title {
    margin: 0 0 var(--ph-space-4, 16px);
    max-width: 20ch;
    font-size: var(--ph-text-3xl, clamp(32px, 2rem + 1.5vw, 48px));
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ph-ink, #111111);
    text-transform: none;
}

.ph-cw-lead {
    margin: 0 0 var(--ph-space-5, 24px);
    max-width: 62ch;
    font-size: var(--ph-text-md, 18px);
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-cw-section--close .ph-cw-h2,
.ph-cw-section--close .ph-cw-lead { color: var(--ph-brand-ink, #ffffff); }
.ph-cw-section--close .ph-cw-lead { opacity: 0.92; }

.ph-cw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-3, 12px);
}

.ph-cw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid var(--ph-border-strong, oklch(82% 0.012 90));
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-bg, #ffffff);
    font-size: var(--ph-text-base, 16px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
    text-decoration: none;
    transition: filter var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out),
                border-color var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out),
                transform var(--ph-dur-fast, 120ms) var(--ph-ease-out, ease-out);
}

.ph-cw-btn:hover { border-color: var(--ph-brand, #108644); color: var(--ph-brand, #108644); text-decoration: none; transform: translateY(-1px); }

.ph-cw-btn--primary {
    border-color: var(--ph-brand, #108644);
    background: var(--ph-brand, #108644);
    color: var(--ph-brand-ink, #ffffff);
}

.ph-cw-btn--primary:hover { filter: brightness(0.95); color: var(--ph-brand-ink, #ffffff); }

.ph-cw-btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.5);
    color: var(--ph-brand-ink, #ffffff);
}

.ph-cw-btn--ghost:hover { border-color: #ffffff; color: #ffffff; }

.ph-cw-section--close .ph-cw-btn--primary {
    background: var(--ph-bg, #ffffff);
    border-color: var(--ph-bg, #ffffff);
    color: var(--ph-brand, #108644);
}

.ph-cw-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ph-space-4, 16px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ph-cw-stats li {
    padding: var(--ph-space-4, 16px);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    background: var(--ph-bg, #ffffff);
    text-align: center;
}

.ph-cw-stats b {
    display: block;
    font-size: var(--ph-text-2xl, 30px);
    font-weight: 800;
    line-height: 1.1;
    color: var(--ph-brand, #108644);
    font-variant-numeric: tabular-nums;
}

.ph-cw-stats span {
    display: block;
    margin-top: 4px;
    font-size: var(--ph-text-xs, 12px);
    font-weight: 600;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-cw-h2 {
    margin: 0 0 var(--ph-space-6, 32px);
    font-size: var(--ph-text-2xl, clamp(26px, 1.4rem + 1vw, 36px));
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ph-ink, #111111);
    text-transform: none;
}

/* The problem */
.ph-cw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--ph-space-4, 16px);
}

.ph-cw-grid--two { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.ph-cw-grid--pain { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

.ph-cw-pain {
    display: flex;
    flex-direction: column;
    gap: var(--ph-space-3, 12px);
    padding: var(--ph-space-5, 24px);
    border-radius: var(--ph-radius-md, 20px);
    background: rgba(255, 255, 255, 0.7);
}

.ph-cw-pain iconify-icon {
    font-size: 26px;
    color: var(--ph-danger, #c0392b);
}

.ph-cw-pain p {
    margin: 0;
    font-size: var(--ph-text-sm, 15px);
    line-height: 1.55;
    color: var(--ph-ink, #111111);
    font-weight: 500;
}

.ph-cw-bridge {
    margin: var(--ph-space-6, 32px) 0 0;
    max-width: 62ch;
    font-size: var(--ph-text-md, 18px);
    font-weight: 600;
    color: var(--ph-ink, #111111);
}

/* What you get */
.ph-cw-card {
    background: var(--ph-bg, #ffffff);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-sm, 0 1px 2px rgba(16,16,16,0.04));
    padding: var(--ph-space-5, 24px);
    transition: transform var(--ph-dur, 200ms) var(--ph-ease-out, ease-out),
                box-shadow var(--ph-dur, 200ms) var(--ph-ease-out, ease-out);
}

.ph-cw-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06));
}

.ph-cw-card > iconify-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: var(--ph-space-3, 12px);
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand-soft, oklch(94% 0.030 150));
    color: var(--ph-brand, #108644);
    font-size: 22px;
}

.ph-cw-card h3 {
    margin: 0 0 var(--ph-space-2, 8px);
    font-size: var(--ph-text-lg, 20px);
    line-height: 1.25;
    font-weight: 700;
    color: var(--ph-ink, #111111);
}

.ph-cw-card p {
    margin: 0 0 var(--ph-space-3, 12px);
    font-size: var(--ph-text-sm, 15px);
    line-height: 1.6;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-cw-card p:last-child { margin-bottom: 0; }
.ph-cw-card a { color: var(--ph-brand, #108644); text-decoration: underline; }

.ph-cw-midcta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ph-space-4, 16px);
    margin-top: var(--ph-space-6, 32px);
    padding: var(--ph-space-5, 24px);
    border-radius: var(--ph-radius-lg, 28px);
    background: var(--ph-surface-mint, oklch(97% 0.014 150));
}

.ph-cw-midcta p {
    margin: 0;
    font-size: var(--ph-text-md, 18px);
    font-weight: 600;
}

/* How it goes */
.ph-cw-steps {
    counter-reset: step;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--ph-space-5, 24px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ph-cw-steps li { counter-increment: step; }

.ph-cw-steps li::before {
    content: counter(step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: var(--ph-space-3, 12px);
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-brand, #108644);
    color: var(--ph-brand-ink, #ffffff);
    font-size: var(--ph-text-base, 16px);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.ph-cw-steps b {
    display: block;
    margin-bottom: 4px;
    font-size: var(--ph-text-lg, 19px);
    font-weight: 700;
}

.ph-cw-steps p {
    margin: 0;
    font-size: var(--ph-text-sm, 15px);
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-cw-steps a { color: var(--ph-brand, #108644); text-decoration: underline; }

/* What only we bring */
.ph-cw-feature {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ph-space-5, 24px);
    align-items: center;
    margin-top: var(--ph-space-6, 32px);
    padding: var(--ph-space-5, 24px);
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-lg, 28px);
    background: var(--ph-bg, #ffffff);
}

@media (min-width: 900px) {
    .ph-cw-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ph-space-7, 48px); padding: var(--ph-space-6, 32px); }
    .ph-cw-feature--flip .ph-cw-feature__text { order: 2; }
}

.ph-cw-tag {
    display: inline-block;
    margin-bottom: var(--ph-space-3, 12px);
    padding: 4px 12px;
    border-radius: var(--ph-radius-pill, 999px);
    background: var(--ph-warning, oklch(82% 0.170 85));
    color: var(--ph-warning-ink, oklch(28% 0.040 85));
    font-size: var(--ph-text-xs, 12px);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.ph-cw-feature h3 {
    margin: 0 0 var(--ph-space-3, 12px);
    font-size: var(--ph-text-xl, clamp(22px, 1.2rem + 0.6vw, 28px));
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.ph-cw-feature p {
    margin: 0;
    font-size: var(--ph-text-base, 16px);
    line-height: 1.6;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

.ph-cw-feature a { color: var(--ph-brand, #108644); text-decoration: underline; }

.ph-cw-feature__media img {
    display: block;
    width: 100%;
    height: auto;
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    box-shadow: var(--ph-shadow-md, 0 6px 24px rgba(16,16,16,0.06));
}

/* Drawings, not screenshots: they stand for a behaviour that has no single
   screen to photograph, so they carry no window chrome and claim nothing. */
.ph-cw-feature__media .ph-cw-illus {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--ph-radius-md, 20px);
}

/* Questions */
.ph-cw-faq {
    display: flex;
    flex-direction: column;
    gap: var(--ph-space-3, 12px);
    max-width: 800px;
}

.ph-cw-faq details {
    border: var(--ph-border-w, 1px) solid var(--ph-border, oklch(90% 0.010 90));
    border-radius: var(--ph-radius-md, 20px);
    background: var(--ph-bg, #ffffff);
}

.ph-cw-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ph-space-4, 16px);
    min-height: 56px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    font-size: var(--ph-text-base, 16px);
    font-weight: 700;
    color: var(--ph-ink, #111111);
}

.ph-cw-faq summary::-webkit-details-marker { display: none; }

.ph-cw-faq summary::after {
    content: '+';
    flex: none;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: var(--ph-brand, #108644);
}

.ph-cw-faq details[open] summary::after { content: '\2212'; }

.ph-cw-faq summary:focus-visible {
    outline: 2px solid var(--ph-brand, #108644);
    outline-offset: -2px;
}

.ph-cw-faq p {
    margin: 0;
    padding: 0 20px 18px;
    font-size: var(--ph-text-sm, 15px);
    line-height: 1.6;
    color: var(--ph-ink-muted, oklch(48% 0.010 140));
}

/* Sections arrive as the reader reaches them. Without the script, or with
   reduced motion asked for, everything is simply visible. */
.ph-cw-reveal.is-armed {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity var(--ph-dur-slow, 320ms) var(--ph-ease-out, ease-out),
                transform var(--ph-dur-slow, 320ms) var(--ph-ease-out, ease-out);
}

.ph-cw-reveal.is-armed.is-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .ph-cw-reveal.is-armed { opacity: 1; transform: none; transition: none; }
    .ph-cw-card:hover, .ph-cw-btn:hover { transform: none; }
}

/* This landing page closes with its own call to action, so the site-wide one
   in the footer would be the second in a row. */
body.cms-id-14 #footer .ph-footer-top { display: none; }

/* === PrestaHU motion kit (source: prestahu-design-system/assets/prestahu-motion.css, do not edit here) === */
/* PrestaHU motion + gamification kit (storefront source).
   Needs the --ph-* tokens (tokens/prestahu-tokens.css or the theme :root).
   Back-office copy is generated, never hand-edited: python3 scripts/build-bo-motion.py
   Only transform and opacity animate (plus the registered --ph-ring / stroke-dashoffset, which
   are paint-only). prefers-reduced-motion: every piece lands in its final state instantly. */

/* ---------- Progress ring (registered so the conic gradient can transition) ---------- */

@property --ph-ring {
    syntax: '<number>';
    inherits: true;
    initial-value: 0;
}

.ph-m-ring {
    --ph-ring-size: 72px;
    --ph-ring-track: var(--ph-border);
    --ph-ring-fill: var(--ph-brand);
    position: relative;
    display: inline-grid;
    place-items: center;
    width: var(--ph-ring-size);
    height: var(--ph-ring-size);
    border-radius: 50%;
    background: conic-gradient(var(--ph-ring-fill) calc(var(--ph-ring) * 1%), var(--ph-ring-track) 0);
    transition: --ph-ring var(--ph-dur-reward) var(--ph-ease-out);
}

.ph-m-ring::before {
    content: '';
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    background: var(--ph-bg);
}

.ph-m-ring > * {
    position: relative;
    font-family: var(--ph-font-display);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--ph-ink);
}

.ph-m-ring.is-complete {
    animation: ph-kf-pop var(--ph-dur-reward) var(--ph-ease-pop);
}

/* ---------- Progress bar ---------- */

.ph-m-bar {
    --ph-bar: 0;
    position: relative;
    height: 10px;
    overflow: hidden;
    border-radius: var(--ph-radius-pill);
    background: var(--ph-border);
}

.ph-m-bar > i {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--ph-brand);
    transform-origin: left center;
    transform: scaleX(calc(var(--ph-bar) / 100));
    transition: transform var(--ph-dur-reward) var(--ph-ease-out);
}

.ph-m-bar > i::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, oklch(100% 0 0 / 0.45), transparent);
    transform: translateX(-100%);
    opacity: 0;
}

.ph-m-bar.is-bumped > i::after {
    animation: ph-kf-sheen var(--ph-dur-reward) var(--ph-ease-out);
}

.ph-m-bar.is-complete > i {
    background: var(--ph-brand-strong);
}

/* ---------- Check draw (SVG: circle + tick, pathLength="1" on both) ---------- */

.ph-m-check {
    width: 28px;
    height: 28px;
    color: var(--ph-brand);
}

.ph-m-check circle,
.ph-m-check path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

.ph-m-check.is-sm {
    width: 14px;
    height: 14px;
}

.ph-m-check.is-sm circle {
    display: none;
}

.ph-m-check.is-sm path {
    stroke-width: 3.2;
}

.ph-m-check.is-static circle,
.ph-m-check.is-static path {
    stroke-dashoffset: 0;
}

.ph-m-check.is-drawn circle {
    animation: ph-kf-draw var(--ph-dur-slow) var(--ph-ease-out) forwards;
}

.ph-m-check.is-drawn path {
    animation: ph-kf-draw var(--ph-dur-slow) var(--ph-ease-out) 180ms forwards;
}

/* ---------- Setting card state: todo -> done ---------- */

.ph-m-state {
    position: relative;
    isolation: isolate;
}

.ph-m-state::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--ph-brand-soft);
    opacity: 0;
    transition: opacity var(--ph-dur-slow) var(--ph-ease-out);
}

.ph-m-state.is-done::before {
    opacity: 1;
}

.ph-m-state.is-done .ph-m-state-badge {
    animation: ph-kf-pop var(--ph-dur-reward) var(--ph-ease-pop);
}

/* ---------- Attention dot (a pending "Teendő") ---------- */

.ph-m-pulse {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ph-warning);
}

.ph-m-pulse::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: inherit;
    animation: ph-kf-ping 1.8s var(--ph-ease-out) infinite;
}

/* ---------- Pop (badge, reward chip, new count) ---------- */

.ph-m-pop {
    animation: ph-kf-pop var(--ph-dur-reward) var(--ph-ease-pop) both;
}

/* ---------- Reveal on scroll / on mount (JS adds .is-in; stagger with --ph-m-i) ---------- */

.ph-m-rise {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity var(--ph-dur-slow) var(--ph-ease-in), transform var(--ph-dur-slow) var(--ph-ease-in);
    transition-delay: calc(var(--ph-m-i, 0) * 60ms);
}

.ph-m-rise.is-in {
    opacity: 1;
    transform: none;
}

/* ---------- Hover lift (shadow lives on a pseudo so only opacity animates) ---------- */

.ph-m-lift {
    position: relative;
    isolation: isolate;
    transition: transform var(--ph-dur-fast) var(--ph-ease-out);
}

.ph-m-lift::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    box-shadow: var(--ph-shadow-lg);
    opacity: 0;
    transition: opacity var(--ph-dur-fast) var(--ph-ease-out);
    pointer-events: none;
}

.ph-m-lift:hover,
.ph-m-lift:focus-within {
    transform: translateY(-3px);
}

.ph-m-lift:hover::after,
.ph-m-lift:focus-within::after {
    opacity: 1;
}

/* ---------- Error nudge ---------- */

.ph-m-shake {
    animation: ph-kf-shake 360ms var(--ph-ease-out);
}

/* ---------- Skeleton while loading ---------- */

.ph-m-skeleton {
    position: relative;
    overflow: hidden;
    border-radius: var(--ph-radius-sm);
    background: var(--ph-surface-sand);
}

.ph-m-skeleton::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, oklch(100% 0 0 / 0.6), transparent);
    transform: translateX(-100%);
    animation: ph-kf-sweep 1.4s ease-in-out infinite;
}

/* ---------- Toast ---------- */

.ph-m-toast {
    animation: ph-kf-toast var(--ph-dur-slow) var(--ph-ease-in) both;
}

.ph-m-toast.is-leaving {
    animation: ph-kf-fade-out var(--ph-dur) var(--ph-ease-out) both;
}

/* ---------- Celebrate burst (JS injects the pieces; decorative, aria-hidden) ---------- */

.ph-m-burst {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    pointer-events: none;
    z-index: 2;
}

.ph-m-burst > i {
    position: absolute;
    left: -4px;
    top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--ph-m-c, var(--ph-brand));
    opacity: 0;
    animation: ph-kf-burst 900ms var(--ph-ease-out) forwards;
    animation-delay: var(--ph-m-d, 0ms);
}

.ph-m-burst > i:nth-child(3n) {
    border-radius: 50%;
}

/* ---------- Keyframes ---------- */

@keyframes ph-kf-pop {
    0% { transform: scale(0.6); opacity: 0; }
    60% { transform: scale(1.08); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes ph-kf-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes ph-kf-ping {
    0% { transform: scale(1); opacity: 0.6; }
    80%, 100% { transform: scale(2.6); opacity: 0; }
}

@keyframes ph-kf-sheen {
    0% { transform: translateX(-100%); opacity: 1; }
    100% { transform: translateX(100%); opacity: 0; }
}

@keyframes ph-kf-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(2px); }
}

@keyframes ph-kf-sweep {
    to { transform: translateX(100%); }
}

@keyframes ph-kf-toast {
    from { transform: translateY(12px); opacity: 0; }
    to { transform: none; opacity: 1; }
}

@keyframes ph-kf-fade-out {
    to { transform: translateY(6px); opacity: 0; }
}

@keyframes ph-kf-burst {
    0% { transform: translate(0, 0) rotate(0) scale(0.4); opacity: 1; }
    70% { opacity: 1; }
    100% { transform: translate(var(--ph-m-x, 0), var(--ph-m-y, 0)) rotate(var(--ph-m-r, 180deg)) scale(1); opacity: 0; }
}

/* ---------- Reduced motion: final state, no travel ---------- */

@media (prefers-reduced-motion: reduce) {
    .ph-m-ring,
    .ph-m-bar > i,
    .ph-m-state::before,
    .ph-m-rise,
    .ph-m-lift,
    .ph-m-lift::after {
        transition: none;
    }

    .ph-m-ring.is-complete,
    .ph-m-state.is-done .ph-m-state-badge,
    .ph-m-pop,
    .ph-m-shake,
    .ph-m-toast,
    .ph-m-toast.is-leaving,
    .ph-m-bar.is-bumped > i::after,
    .ph-m-pulse::after,
    .ph-m-skeleton::after {
        animation: none;
    }

    .ph-m-check circle,
    .ph-m-check path {
        stroke-dashoffset: 0;
        animation: none;
    }

    .ph-m-rise {
        opacity: 1;
        transform: none;
    }

    .ph-m-lift:hover,
    .ph-m-lift:focus-within {
        transform: none;
    }

    .ph-m-burst {
        display: none;
    }
}
/* === /PrestaHU motion kit === */

/* ==========================================================================
   Auth pages (login, registration, password) — PrestaHU design system
   ========================================================================== */

body#authentication,
body#registration,
body#password,
body#authentication #wrapper,
body#registration #wrapper,
body#password #wrapper {
    background: var(--ph-surface-cream);
}

.ph-auth-page {
    padding: 0;
}

.ph-auth {
    padding: var(--ph-section-sm) 0;
}

.ph-auth-inner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
    gap: var(--ph-space-6);
    align-items: start;
}

.ph-auth--single .ph-auth-inner {
    max-width: 540px;
    grid-template-columns: minmax(0, 1fr);
}

.ph-auth-card {
    background: var(--ph-bg);
    border: var(--ph-border-w) solid var(--ph-border);
    border-radius: var(--ph-radius-lg);
    padding: clamp(24px, 3.5vw, 40px);
    box-shadow: var(--ph-shadow-md);
}

.ph-auth-card--center {
    text-align: center;
}

.ph-auth-title {
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-2xl);
    font-weight: 800;
    line-height: 1.15;
    color: var(--ph-ink);
    margin: 0 0 var(--ph-space-2);
}

.ph-auth-sub {
    font-size: var(--ph-text-base);
    color: var(--ph-ink-muted);
    line-height: 1.5;
    margin: 0 0 var(--ph-space-5);
}

.ph-auth-check {
    width: 56px;
    height: 56px;
    margin: 0 auto var(--ph-space-4);
    display: block;
    color: var(--ph-brand);
}

/* --- form controls inside the auth card --- */

.ph-auth-form .form-fields {
    display: block;
}

.ph-auth-form .form-group {
    margin-bottom: var(--ph-space-4);
}

.ph-auth-form label:not(.custom-control-label):not(.custom-file-label) {
    display: block;
    font-family: var(--ph-font-sans);
    font-size: var(--ph-text-sm);
    font-weight: 600;
    color: var(--ph-ink);
    margin-bottom: 6px;
}

.ph-auth-form label .text-muted {
    font-weight: 500;
    color: var(--ph-ink-subtle);
}

.ph-auth-form .form-control,
.ph-auth-form .custom-select,
.ph-auth-form input[type="text"],
.ph-auth-form input[type="email"],
.ph-auth-form input[type="password"],
.ph-auth-form input[type="tel"],
.ph-auth-form input[type="date"] {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    background: var(--ph-bg);
    color: var(--ph-ink);
    border: var(--ph-border-w) solid var(--ph-border-strong);
    border-radius: var(--ph-radius-sm);
    box-shadow: none;
    font-family: var(--ph-font-sans);
    font-size: var(--ph-text-base);
    font-weight: 500;
    line-height: 1.4;
    transition: border-color var(--ph-dur-fast) var(--ph-ease-out),
                box-shadow var(--ph-dur-fast) var(--ph-ease-out);
}

.ph-auth-form .form-control:focus,
.ph-auth-form .custom-select:focus {
    border-color: var(--ph-brand);
    box-shadow: 0 0 0 4px var(--ph-focus-ring);
    outline: 0;
}

.ph-auth-form .form-control.is-invalid,
.ph-auth-form .custom-select.is-invalid {
    border-color: var(--ph-danger);
}

.ph-auth-form .form-text,
.ph-auth-form small.text-muted {
    display: block;
    margin-top: 6px;
    font-size: var(--ph-text-xs);
    color: var(--ph-ink-subtle);
}

/* password field: input + show/hide button in one control */
.ph-auth-form .input-group {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.ph-auth-form .input-group > .form-control {
    flex: 1 1 auto;
    width: auto;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.ph-auth-form .input-group .input-group-btn {
    display: flex;
}

.ph-auth-form .input-group .btn-light,
.ph-auth-form .input-group .btn {
    height: 100%;
    min-height: 48px;
    padding: 0 16px;
    background: var(--ph-surface-sand);
    color: var(--ph-ink-muted);
    border: var(--ph-border-w) solid var(--ph-border-strong);
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: var(--ph-radius-sm);
    border-bottom-right-radius: var(--ph-radius-sm);
    font-family: var(--ph-font-sans);
    font-size: var(--ph-text-sm);
    font-weight: 600;
    box-shadow: none;
}

.ph-auth-form .input-group .btn-light:hover {
    background: var(--ph-border);
    color: var(--ph-ink);
}

.ph-auth-form .input-group .invalid-feedback,
.ph-auth-form .input-group .mb-3 {
    flex: 0 0 100%;
}

/* checkboxes and radios (registration consent rows) */
.ph-auth-form .custom-control {
    padding-left: 28px;
    margin-bottom: var(--ph-space-3);
    min-height: auto;
}

.ph-auth-form .custom-control-label {
    font-size: var(--ph-text-sm);
    line-height: 1.5;
    color: var(--ph-ink-muted);
    cursor: pointer;
}

.ph-auth-form .custom-control-label a {
    color: var(--ph-brand-strong);
    text-decoration: underline;
}

.ph-auth-form .custom-control-input:checked ~ .custom-control-label::before {
    background: var(--ph-brand);
    border-color: var(--ph-brand);
}

.ph-auth-form .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 4px var(--ph-focus-ring);
}

/* forgot password row */
.ph-auth-form .form-group_forgot-password {
    margin-bottom: var(--ph-space-4);
    text-align: right;
}

.ph-auth-form .forgot-password a {
    font-size: var(--ph-text-sm);
    font-weight: 600;
    color: var(--ph-brand-strong);
    text-decoration: none;
}

.ph-auth-form .forgot-password a:hover {
    text-decoration: underline;
}

/* submit */
.ph-auth-submit {
    width: 100%;
    min-height: 52px;
    margin-top: var(--ph-space-2);
    box-shadow: var(--ph-shadow-brand);
}

.ph-auth-form .form-footer {
    margin: 0;
}

/* errors */
.ph-auth-errors,
.ph-auth-form .ps-alert-error {
    list-style: none;
    margin: 0 0 var(--ph-space-4);
    padding: var(--ph-space-3) var(--ph-space-4);
    background: var(--ph-danger-soft);
    border: var(--ph-border-w) solid var(--ph-danger);
    border-radius: var(--ph-radius-sm);
    color: var(--ph-danger);
    font-size: var(--ph-text-sm);
    line-height: 1.5;
}

.ph-auth-errors li,
.ph-auth-form .ps-alert-error li {
    list-style: none;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

.ph-auth-form .ps-alert-error li:empty {
    display: none;
}

.ph-auth-form .ps-alert-error svg,
.ph-auth-form .ps-alert-error i {
    display: none;
}

/* alternative action under the form */
.ph-auth-alt {
    margin: var(--ph-space-5) 0 0;
    padding-top: var(--ph-space-4);
    border-top: var(--ph-border-w) solid var(--ph-border);
    font-size: var(--ph-text-sm);
    color: var(--ph-ink-muted);
    text-align: center;
}

.ph-auth-alt a {
    font-weight: 600;
    color: var(--ph-brand-strong);
    text-decoration: none;
}

.ph-auth-alt a:hover {
    text-decoration: underline;
}

/* side panel */
.ph-auth-side {
    background: var(--ph-surface-mint);
    border-radius: var(--ph-radius-lg);
    padding: clamp(20px, 2.5vw, 32px);
}

.ph-auth-side-title {
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-lg);
    font-weight: 800;
    color: var(--ph-ink);
    margin: 0 0 var(--ph-space-4);
}

.ph-auth-perks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--ph-space-4);
}

.ph-auth-perks li {
    display: flex;
    gap: var(--ph-space-3);
    align-items: flex-start;
    margin: 0;
    padding: 0;
}

.ph-auth-perks iconify-icon {
    flex: 0 0 auto;
    font-size: 24px;
    color: var(--ph-brand-strong);
    margin-top: 2px;
}

.ph-auth-perks span {
    font-size: var(--ph-text-sm);
    line-height: 1.5;
    color: var(--ph-ink-muted);
}

.ph-auth-perks b {
    display: block;
    font-size: var(--ph-text-base);
    font-weight: 600;
    color: var(--ph-ink);
}

@media (max-width: 991px) {
    .ph-auth-inner {
        grid-template-columns: minmax(0, 1fr);
        max-width: 560px;
    }
}

/* The theme narrows every form inside .page-content to 75% / 450px on desktop;
   in the auth card the form is the content, so it uses the full card width. */
.ph-auth-form form,
.ph-auth .page-content form {
    width: 100%;
    max-width: none;
    margin: 0;
}

.ph-auth-form .form-fields,
.ph-auth-form .form-footer {
    width: 100%;
    max-width: none;
}

/* the auth pages carry their own card, so the theme's white page panel is removed */
body#authentication #main.page-wrapper,
body#registration #main.page-wrapper,
body#password #main.page-wrapper,
body#authentication #content.page-content,
body#registration #content.page-content,
body#password #content.page-content {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.ph-auth-title,
.ph-auth-side-title {
    text-transform: none;
    letter-spacing: -0.01em;
}

/* the show/hide button stays on the password field's row on narrow screens */
.ph-auth-form .input-group > .form-control {
    flex: 1 1 60%;
    min-width: 0;
}

.ph-auth-form .input-group .input-group-btn {
    flex: 0 0 auto;
}

/* two columns: the field takes the free space, the show/hide button its own width,
   and the error message drops under both */
.ph-auth-form .input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

.ph-auth-form .input-group > .form-control {
    width: 100%;
    min-width: 0;
}

.ph-auth-form .input-group > .mb-3,
.ph-auth-form .input-group > .invalid-feedback,
.ph-auth-form .input-group > .form-text {
    grid-column: 1 / -1;
}

@media (max-width: 480px) {
    .ph-auth-form .input-group .btn-light,
    .ph-auth-form .input-group .btn {
        padding: 0 10px;
        font-size: var(--ph-text-xs);
    }
}

/* ==========================================================================
   Downloads page (prestahu moduleReleaseList) — PrestaHU design system
   The id is written in its exact case: an id selector is case sensitive.
   ========================================================================== */

body#module-prestahu-moduleReleaseList {
    background: var(--ph-surface-cream);
}

body#module-prestahu-moduleReleaseList #main.page-wrapper,
body#module-prestahu-moduleReleaseList #content.page-content {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.ph-rel {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--ph-space-6) 0 var(--ph-space-8);
    font-family: var(--ph-font-sans);
    color: var(--ph-ink);
}

/* --- header --- */

.ph-rel-head {
    margin-bottom: var(--ph-space-6);
}

.ph-rel-title {
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-2xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    text-transform: none;
    color: var(--ph-ink);
    margin: 0 0 var(--ph-space-2);
}

.ph-rel-sub {
    margin: 0 0 var(--ph-space-5);
    max-width: 62ch;
    font-size: var(--ph-text-base);
    line-height: 1.5;
    color: var(--ph-ink-muted);
}

.ph-rel-stats {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-5);
    margin-bottom: var(--ph-space-4);
}

.ph-rel-stat {
    display: flex;
    align-items: baseline;
    gap: var(--ph-space-2);
}

.ph-rel-stat-num {
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-xl);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--ph-ink);
}

.ph-rel-stat-label {
    font-size: var(--ph-text-sm);
    color: var(--ph-ink-muted);
}

.ph-rel-progress {
    max-width: 420px;
}

.ph-rel-progress-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--ph-space-3);
    margin-bottom: 6px;
}

.ph-rel-progress-label {
    font-size: var(--ph-text-sm);
    color: var(--ph-ink-muted);
}

.ph-rel-progress-value {
    font-size: var(--ph-text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--ph-ink);
}

/* --- website group --- */

.ph-rel-group {
    margin-bottom: var(--ph-space-6);
}

.ph-rel-group-head {
    display: flex;
    align-items: center;
    gap: var(--ph-space-3);
    padding: 0 var(--ph-space-1) var(--ph-space-3);
}

.ph-rel-group-name {
    display: flex;
    align-items: center;
    gap: var(--ph-space-2);
    min-width: 0;
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-lg);
    font-weight: 800;
    color: var(--ph-ink);
}

.ph-rel-group-name iconify-icon {
    font-size: 20px;
    color: var(--ph-brand-strong);
}

.ph-rel-favicon {
    width: 18px;
    height: 18px;
    border-radius: 4px;
}

.ph-rel-domain {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ph-rel-dot {
    width: 10px;
    height: 10px;
    border-radius: var(--ph-radius-pill);
    background: var(--ph-warning);
    flex: 0 0 auto;
}

.ph-rel-chip {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: var(--ph-radius-pill);
    background: var(--ph-brand-soft);
    color: var(--ph-brand-strong);
    font-size: var(--ph-text-xs);
    font-weight: 600;
    white-space: nowrap;
}

.ph-rel-chip--todo {
    background: var(--ph-warning-soft);
    color: var(--ph-warning-strong);
}

.ph-rel-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--ph-space-4);
}

/* --- module card --- */

.ph-rel-card {
    display: flex;
    flex-direction: column;
    gap: var(--ph-space-3);
    background: var(--ph-bg);
    border: var(--ph-border-w) solid var(--ph-border);
    border-radius: var(--ph-radius-md);
    padding: var(--ph-space-5);
    box-shadow: var(--ph-shadow-sm);
}

.ph-rel-card-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ph-space-2);
}

.ph-rel-card-name {
    margin: 0;
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-md);
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    color: var(--ph-ink);
}

.ph-rel-state {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--ph-radius-pill);
    font-size: var(--ph-text-xs);
    font-weight: 600;
    white-space: nowrap;
}

.ph-rel-state--ok {
    background: var(--ph-brand-soft);
    color: var(--ph-brand-strong);
}

.ph-rel-state--expired {
    background: var(--ph-warning-soft);
    color: var(--ph-warning-strong);
}

.ph-rel-state .ph-m-check,
.ph-rel-state iconify-icon {
    width: 16px;
    height: 16px;
    font-size: 16px;
}

.ph-rel-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-2) var(--ph-space-5);
    margin: 0;
}

.ph-rel-meta div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ph-rel-meta dt {
    font-size: var(--ph-text-xs);
    font-weight: 500;
    color: var(--ph-ink-subtle);
}

.ph-rel-meta dd {
    margin: 0;
    font-size: var(--ph-text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--ph-ink);
}

.ph-rel-note {
    margin: 0;
    font-size: var(--ph-text-sm);
    color: var(--ph-ink-muted);
}

.ph-rel-key {
    display: flex;
    align-items: center;
    gap: var(--ph-space-2);
    padding: var(--ph-space-2) var(--ph-space-3);
    background: var(--ph-surface-sand);
    border-radius: var(--ph-radius-sm);
    min-width: 0;
}

.ph-rel-key-label {
    font-size: var(--ph-text-xs);
    color: var(--ph-ink-subtle);
    white-space: nowrap;
}

.ph-rel-key-value {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: none;
    padding: 0;
    font-size: var(--ph-text-sm);
    font-weight: 600;
    color: var(--ph-ink);
}

.ph-rel-copy {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: var(--ph-radius-sm);
    background: var(--ph-bg);
    color: var(--ph-ink-muted);
    cursor: pointer;
    font-size: 16px;
    transition: color var(--ph-dur-fast) var(--ph-ease-out),
                background-color var(--ph-dur-fast) var(--ph-ease-out);
}

.ph-rel-copy:hover,
.ph-rel-copy:focus {
    background: var(--ph-brand-soft);
    color: var(--ph-brand-strong);
}

.ph-rel-copy.copied {
    background: var(--ph-brand);
    color: var(--ph-brand-ink);
}

.ph-rel-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--ph-space-2);
    margin: 0;
    padding: var(--ph-space-3);
    background: var(--ph-warning-soft);
    border-radius: var(--ph-radius-sm);
    font-size: var(--ph-text-sm);
    line-height: 1.45;
    color: var(--ph-warning-strong);
}

.ph-rel-notice iconify-icon {
    font-size: 18px;
    flex: 0 0 auto;
}

.ph-rel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ph-space-2);
    margin-top: auto;
    padding-top: var(--ph-space-1);
}

.ph-rel-actions .ph-btn {
    padding: 10px 18px;
    font-size: var(--ph-text-sm);
}

.ph-rel-actions .ph-btn iconify-icon {
    font-size: 18px;
}

/* --- empty state --- */

.ph-rel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ph-space-3);
    padding: var(--ph-space-8) var(--ph-space-5);
    background: var(--ph-bg);
    border: var(--ph-border-w) solid var(--ph-border);
    border-radius: var(--ph-radius-lg);
    text-align: center;
}

.ph-rel-empty iconify-icon {
    font-size: 40px;
    color: var(--ph-ink-subtle);
}

.ph-rel-empty-title {
    margin: 0;
    font-size: var(--ph-text-md);
    color: var(--ph-ink-muted);
}

/* --- modals --- */

.ph-rel-modal .modal-content {
    border: 0;
    border-radius: var(--ph-radius-lg);
    box-shadow: var(--ph-shadow-lg);
    background: var(--ph-bg);
}

.ph-rel-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ph-space-3);
    padding: var(--ph-space-5) var(--ph-space-5) var(--ph-space-3);
    border-bottom: var(--ph-border-w) solid var(--ph-border);
}

.ph-rel-modal .modal-title {
    margin: 0;
    font-family: var(--ph-font-display);
    font-size: var(--ph-text-lg);
    font-weight: 800;
    text-transform: none;
    color: var(--ph-ink);
}

.ph-rel-modal .close {
    border: 0;
    background: none;
    font-size: 24px;
    line-height: 1;
    color: var(--ph-ink-muted);
    opacity: 1;
    cursor: pointer;
}

.ph-rel-modal .modal-body {
    padding: var(--ph-space-5);
}

.ph-rel-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--ph-space-2);
    padding: var(--ph-space-3) var(--ph-space-5) var(--ph-space-5);
    border-top: 0;
}

.ph-rel-modal .alert {
    border-radius: var(--ph-radius-sm);
    border: 0;
    padding: var(--ph-space-3) var(--ph-space-4);
    font-size: var(--ph-text-sm);
}

.ph-rel-modal .alert-info {
    background: var(--ph-brand-soft);
    color: var(--ph-brand-strong);
}

.ph-rel-modal .alert-warning {
    background: var(--ph-warning-soft);
    color: var(--ph-warning-strong);
}

.ph-rel-table {
    width: 100%;
    margin: 0;
    font-size: var(--ph-text-sm);
}

.ph-rel-table thead th {
    padding: var(--ph-space-2) var(--ph-space-3);
    border-bottom: var(--ph-border-w) solid var(--ph-border);
    font-size: var(--ph-text-xs);
    font-weight: 600;
    text-transform: none;
    color: var(--ph-ink-subtle);
}

.ph-rel-table tbody td {
    padding: var(--ph-space-3);
    border-top: var(--ph-border-w) solid var(--ph-border);
    vertical-align: middle;
    font-variant-numeric: tabular-nums;
    color: var(--ph-ink);
}

.ph-rel-table tbody tr:first-child td {
    border-top: 0;
}

.ph-rel-modal .pshu-release-download-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--ph-space-2);
    padding: 8px 16px;
    border: 0;
    border-radius: var(--ph-radius-pill);
    background: var(--ph-brand);
    color: var(--ph-brand-ink);
    font-size: var(--ph-text-sm);
    font-weight: 600;
    text-decoration: none;
}

.ph-rel-modal .pshu-release-download-btn:hover,
.ph-rel-modal .pshu-release-download-btn:focus {
    background: var(--ph-brand-strong);
    color: var(--ph-brand-ink);
    text-decoration: none;
}

.ph-rel-modal .form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: var(--ph-text-sm);
    font-weight: 600;
    color: var(--ph-ink);
}

.ph-rel-modal .form-control {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    background: var(--ph-bg);
    color: var(--ph-ink);
    border: var(--ph-border-w) solid var(--ph-border-strong);
    border-radius: var(--ph-radius-sm);
    box-shadow: none;
    font-family: var(--ph-font-sans);
    font-size: var(--ph-text-base);
}

.ph-rel-modal .form-control:focus {
    border-color: var(--ph-brand);
    box-shadow: 0 0 0 4px var(--ph-focus-ring);
    outline: 0;
}

.ph-rel-help {
    display: block;
    margin-top: 6px;
    font-size: var(--ph-text-xs);
    color: var(--ph-ink-subtle);
}

.ph-rel-error {
    margin: var(--ph-space-2) 0 0;
    font-size: var(--ph-text-sm);
    color: var(--ph-danger);
}

@media (max-width: 575px) {
    .ph-rel-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .ph-rel-card {
        padding: var(--ph-space-4);
    }

    .ph-rel-actions .ph-btn {
        flex: 1 1 100%;
        justify-content: center;
    }
}

/* The PrestaHU account pages: their body id is written in camel case, the
   lower-case spelling never matches (an id selector is case sensitive). */
body#module-prestahu-moduleLicenceList,
body#module-prestahu-invoiceList,
body#module-prestahu-maintenanceList {
    background: var(--ph-surface-cream);
}

body#module-prestahu-moduleLicenceList #main.page-wrapper,
body#module-prestahu-moduleLicenceList #content.page-content,
body#module-prestahu-invoiceList #main.page-wrapper,
body#module-prestahu-maintenanceList #main.page-wrapper {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

/* licence page extras on top of the shared account card block */
.ph-rel-flat {
    display: inline-flex;
    align-items: center;
    gap: var(--ph-space-2);
    padding: 10px 18px;
    border-radius: var(--ph-radius-pill);
    background: var(--ph-surface-sand);
    color: var(--ph-ink-muted);
    font-size: var(--ph-text-sm);
    font-weight: 600;
}

.ph-rel-modal-center {
    text-align: center;
}

.ph-rel-modal-check {
    width: 56px;
    height: 56px;
    margin: 0 auto var(--ph-space-3);
    display: block;
    color: var(--ph-brand);
}

.ph-rel-modal .form-control-feedback {
    display: none !important;
}

/* Maintenance plans: the card carries the domain, the purchased periods stay
   folded away until they are asked for. */
.ph-rel-card-name iconify-icon {
    font-size: 20px;
    margin-right: 6px;
    vertical-align: -3px;
    color: var(--ph-brand-strong);
}

/* A plan card holds a table of periods, so it takes the full width instead of
   sitting in a column grid. */
.ph-rel-cards--stack {
    grid-template-columns: 1fr;
}

.ph-rel-toggle {
    padding-left: var(--ph-space-3);
    padding-right: var(--ph-space-3);
}

.ph-rel-details {
    margin-top: var(--ph-space-4);
    padding-top: var(--ph-space-4);
    border-top: var(--ph-border-w) solid var(--ph-border);
}

.ph-rel-details-title {
    margin: 0 0 var(--ph-space-2);
    font-size: var(--ph-text-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ph-ink-subtle);
}

.ph-rel-details .ph-rel-table + .ph-rel-details-title {
    margin-top: var(--ph-space-5);
}

.ph-rel-details .ph-rel-table a {
    color: var(--ph-brand-strong);
    font-weight: 600;
}

/* A row would not fit on a phone, so every cell states its own label. */
@media (max-width: 575.98px) {
    .ph-rel-table thead {
        display: none;
    }

    .ph-rel-table,
    .ph-rel-table tbody,
    .ph-rel-table tr,
    .ph-rel-table td {
        display: block;
        width: 100%;
    }

    .ph-rel-table tr {
        padding: var(--ph-space-2) 0;
        border-top: var(--ph-border-w) solid var(--ph-border);
    }

    .ph-rel-table tbody tr:first-child {
        border-top: 0;
    }

    .ph-rel-table tbody td {
        display: flex;
        justify-content: space-between;
        gap: var(--ph-space-3);
        padding: 4px 0;
        border-top: 0;
    }

    .ph-rel-table tbody td::before {
        content: attr(data-label);
        font-size: var(--ph-text-xs);
        font-weight: 600;
        color: var(--ph-ink-subtle);
    }

    /* Full width actions still need a finger sized target. */
    .ph-rel-actions .ph-btn {
        min-height: 44px;
    }
}

/* ============================================================
 * Főoldal: a szolgáltatás-kártya és a hírlevél-űrlap
 * A kártya egésze hivatkozás, ezért a hivatkozás-alapértelmezéseket
 * semlegesíteni kell, és billentyűzettel is látszania kell a fókusznak.
 * ============================================================ */
body#index .newdesign-home a.service-card {
    display: block !important;
    color: inherit !important;
    text-decoration: none !important;
}
body#index .newdesign-home a.service-card:hover,
body#index .newdesign-home a.service-card:focus {
    color: inherit !important;
    text-decoration: none !important;
}
body#index .newdesign-home a.service-card:focus-visible {
    outline: 2px solid var(--ph-brand, oklch(51% 0.165 150)) !important;
    outline-offset: 3px !important;
}
body#index .newdesign-home .service-link {
    color: var(--ph-brand-strong, oklch(45% 0.150 150)) !important;
}
body#index .newdesign-home .service-link iconify-icon {
    transition: transform .2s ease !important;
}
body#index .newdesign-home a.service-card:hover .service-link iconify-icon {
    transform: translateX(3px) !important;
}

/* A hírlevél-mező a modul jelölésével érkezik, a főoldali panel formáját
   a konténerére húzzuk rá. */
body#index .newdesign-home .newsletter-form { display: block !important; width: min(520px, 100%) !important; }
body#index .newdesign-home .newsletter-form .block_newsletter { width: 100% !important; padding: 0 !important; }
body#index .newdesign-home .newsletter-form .block_newsletter > .row { margin: 0 !important; display: block !important; }
body#index .newdesign-home .newsletter-form #block-newsletter-label { display: none !important; }
body#index .newdesign-home .newsletter-form .block_newsletter > .row > div { padding: 0 !important; max-width: 100% !important; flex: 0 0 100% !important; }
body#index .newdesign-home .newsletter-form .input-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}
body#index .newdesign-home .newsletter-form input[name="email"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 56px !important;
    padding: 16px 18px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: var(--ph-text, #111111) !important;
    font-size: 15px !important;
    box-shadow: inset 0 0 0 1px #e9ddd0 !important;
}
body#index .newdesign-home .newsletter-form input[name="email"]:focus {
    box-shadow: inset 0 0 0 2px var(--ph-brand, oklch(51% 0.165 150)) !important;
    outline: none !important;
}
body#index .newdesign-home .newsletter-form .input-group-append { flex: 0 0 auto !important; }
body#index .newdesign-home .newsletter-form button[name="submitNewsletter"] {
    height: 56px !important;
    padding: 0 26px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
body#index .newdesign-home .newsletter-form .color-transparent-white,
body#index .newdesign-home .newsletter-form .color-transparent-white a {
    color: var(--ph-text-muted, oklch(45% 0.012 60)) !important;
}
body#index .newdesign-home .newsletter-form .small { font-size: 12px !important; line-height: 1.5 !important; }
body#index .newdesign-home .newsletter-form .alert { margin-top: 12px !important; }

@media (max-width: 575.98px) {
    body#index .newdesign-home .newsletter-form .input-group { flex-wrap: wrap !important; }
    body#index .newdesign-home .newsletter-form .input-group-append,
    body#index .newdesign-home .newsletter-form button[name="submitNewsletter"] { width: 100% !important; }
}

/* A hírlevél-panel két oszlopa: a szöveg kapjon elég helyet a cím töréséhez. */
body#index .newdesign-home .newsletter-panel {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 480px) !important;
}
body#index .newdesign-home .newsletter-form { width: 100% !important; }
@media (max-width: 991px) {
    body#index .newdesign-home .newsletter-panel { grid-template-columns: 1fr !important; }
}
@media (max-width: 575.98px) {
    body#index .newdesign-home .newsletter-form input[name="email"] { width: 100% !important; flex: 0 0 100% !important; }
}
body#index .newdesign-home .newsletter-form .small a {
    color: var(--ph-brand-strong, oklch(45% 0.150 150)) !important;
    text-decoration: underline !important;
}
