.block-minicart .subtitle {
    display: block !important;
}
.minicart-items .product-item-name a {
    text-overflow: unset !important;
    white-space: normal !important;
}
.block-minicart .block-content > .actions > .primary .action.viewcart {
    display: block;
    font-size: .75rem;
    letter-spacing: .025em;
    text-transform: uppercase;
    padding: 0.875rem 1.5rem;
    border-radius: 2px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
    background-color: var(--theme-color);
    border: none;
    text-align: center;
}
.minicart-items .product-item-photo {
    order: 0 !important;
    flex: 0 0 50px !important;
    width: 50px !important;
}
.minicart-items .product-item-details {
    padding: 0 0 0 15px !important;
    max-width: calc(100% - 50px) !important;
}
.minicart-items .product-item-details .details-qty {
    margin: 0;
}
.minicart-items .product-item-details .product-item-name {
    margin-bottom: 0;
}
.minicart-items .product-item-details > *:not(.product-item-name) {
    display: flex;
    align-items: center;
}
.minicart-wrapper .product .actions .action-remove a span {
    display: none;
}
.minicart-wrapper .product .actions {
    order: 2;
    display: flex;
    gap: 4px;
}
.minicart-items .product .action.delete:before {
    font-size: 14px;
}
.minicart-wrapper .block-minicart .minicart-items li {
    padding: 10px;
}
.minicart-wrapper .block-minicart .block-content .subtotal {
    text-transform: none;
    padding: 15px 10px;
}
.minicart-wrapper .block-minicart .block-content .subtotal .amount {
    margin-left: 4px !important;
}

.minicart-wrapper .block-minicart .block-content .total-weight {
    padding: 10px;
    border: 1px solid var(--theme-color);
    margin: 0 10px 10px;
    font-size: 15px;
    text-align: center;
}

.page-header.type22 .header.panel > .header.links > li.welcome a.header-customer-login-block {
    color: #222529;
    padding-right: 10px;
    display: block;
}
.header-customer-login-block .porto-just-icon-wrapper {
    font-size: 32px;
}
.page-header.type22 .header.panel > .header.links > li.greet.welcome {
    padding-right: 0;
}
.page-header.type22 .header.panel > .header.links > li.customer-welcome {
    padding: 0;
}
.header.panel > .header.links > li.customer-welcome > span {
    line-height: 32px;
}
.page-header.type22 .header.panel > .header.links .header.links {
    margin-top: 5px;
    text-align: left;
}
@media only screen and (min-width: 992px) {
    .page-header.type22 .header.panel > .header.links > li.greet.welcome .not-logged-in {
        display: none;
    }
    .page-header.type22.sticky-header .search-area .block.block-search {
        margin-top: 0;
    }
}
@media only screen and (max-width: 991px) {
    .panel.header.show-icon-tablet .header.links.show {
        display: flex !important;
    }
    .page-header.type22 .header-main .porto-sicon-box .porto-icon {
        display: none;
    }
    .page-header.type22 .panel.header.show-icon-tablet .top-links-icon > a {
        font-size: 28px;
    }
    .page-header.type22 .header-right .header-contact > a {
        margin-left: 0;
    }
    .page-header.type22 .header-main .header.panel, .page-header.type22 .porto-sicon-box .porto-just-icon-wrapper {
        display: none;
    }
    .page-header.type22 .nav-sections .header.links a.header-customer-login-block {
        padding: 0;
    }
    header.page-header.type22 .nav-sections-item-content {
        display: flex;
        flex-direction: column-reverse;
    }
    header.page-header.type22 .nav-sections .header.links.user-links {
        order: 100;
    }
    .page-header.type22 .header.panel {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    .page-header.type22 header.content {
        position: relative;
    }
    .page-header.type22 .search-area.show-icon-tablet {
        position: unset;
    }
    .page-header.type22 .search-area.show-icon-tablet .block.block-search {
        top: auto;
        left: 20px;
        right: 20px;
        width: auto;
    }
}
header.page-header.type22.sticky-header .minicart-wrapper {
    position: relative;
}
header.page-header.type22.sticky-header .header-bottom .header-row .header-left {
    flex: 1;
}
header.page-header.type22.sticky-header .search-area {
    flex: 1;
}
.page-header.type22 .header.panel > .header.links > li.authorization-link > a .porto-icon i {
    font-size: 32px;
    margin-right: 4px;
}
.page-header.type22 .header-main .header-right > .panel.header {
    margin-left: 0;
}

.block-header-customer-login {
    text-transform: none;
}
.block-header-customer-login input::placeholder, .block-header-customer-login input::-ms-input-placeholder {
    color: #000 !important;
    opacity: 1 !important;
}
.block-header-customer-login .actions-toolbar > div {
    width: 100%;
    display: block;
    text-align: left;
    float: none;
}
.block-header-customer-login .actions-toolbar .primary .action {
    width: 100%;
    margin: 0;
}
.block-header-customer-login .forgot-password {
    font-size: 12px;
    margin-bottom: 1em;
}
.block-header-customer-login a.form-link {
    margin-left: 3px;
    text-decoration: underline;
}
.block-header-customer-login .fieldset.login > .field.password {
    margin-bottom: 0;
}
.block-email-verification h3 {
    font-size: 16px;
    text-align: center;
    margin: 0;
}
.block-email-verification p {
    line-height: 16px;
    margin-bottom: 5px;
}
.block-email-verification .actions-toolbar {
    margin-top: 10px;
}
.block-email-verification .actions-toolbar .secondary {
    text-align: center;
}
.block-email-verification .actions-toolbar .secondary a {
    text-decoration: underline;
}
.block-email-verification .message.success {
    line-height: 1.2;
}
body > .loading-mask {
    background: rgba(255, 255, 255, 0.5);
}

.checkout-cart-index .amrewards-highlight-container > .caption strong{
    font-size: 18px;
}

/* Bottom Category Description — Master Style */
/* Base desktop-first styling */
.ek-category-richblock {
  font-family: Poppins, sans-serif;
  line-height: 1.7;
  color: #222;
  margin: 32px 0;
  font-size: 15px;
}

.ek-category-richblock .ek-heading {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 14px;
}

.ek-category-richblock .ek-subheading {
  font-size: 18px;
  margin-top: 28px;
  font-weight: 600;
}

.ek-category-richblock .ek-list li {
  margin: 6px 0;
}

.ek-related-categories li a {
  color: #147300;
  font-weight: 600;
}

.ek-divider {
  border-top: 1px solid #eaeaea;
  margin: 24px 0;
}

/* ----------------------------------------- */
/*  MOBILE-OPTIMISED VERSION (IMPORTANT)     */
/* ----------------------------------------- */
@media (max-width: 575px) {
  .ek-category-richblock {
    margin: 20px 0;
    font-size: 14px;          /* compact text */
    line-height: 1.55;        /* tighter spacing */
    padding: 0 6px;           /* safe text padding */
  }

  .ek-category-richblock .ek-heading {
    font-size: 18px;          /* smaller H2 */
    margin-bottom: 10px;
  }

  .ek-category-richblock .ek-subheading {
    font-size: 16px;          /* smaller H3 */
    margin-top: 20px;
  }

  .ek-category-richblock ul {
    padding-left: 18px;       /* tighter bullets */
  }

  .ek-category-richblock .ek-list li {
    margin: 4px 0;            /* reduced space */
  }

  .ek-related-categories li {
    padding: 4px 0;
  }

  .ek-related-categories li a {
    font-size: 15px;          /* finger-friendly */
  }

  .ek-divider {
    margin: 18px 0;           /* slight reduction */
  }
}
/* Two-column layout for desktop */
.ek-2col {
  display: flex;
  gap: 40px;
}

.ek-col-left,
.ek-col-right {
  flex: 1;
}

/* Mobile collapse */
@media (max-width: 767px) {
  .ek-2col {
    flex-direction: column;
    gap: 24px;
  }
}


/* ============================================================
   LOCAL POPPINS FONT FILES (WOFF2)
   ============================================================ */

/* Poppins Regular 400 */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/poppins/Poppins-Regular.woff2') format('woff2');
}

/* Poppins Medium 500 */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/poppins/Poppins-Medium.woff2') format('woff2');
}

/* Poppins SemiBold 600 */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/poppins/Poppins-SemiBold.woff2') format('woff2');
}

/* Poppins Bold 700 */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/poppins/Poppins-Bold.woff2') format('woff2');
}



/* ============================================================
   GLOBAL TYPOGRAPHY — BASE
   (Only essentials, let Admin CSS handle the rest)
   ============================================================ */

body,
p,
li,
.product.attribute.overview p,
.block-content p,
.page-main p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.7;
}



/* ============================================================
   HEADINGS — PROPER HIERARCHY
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', sans-serif;
    color: #222529;
    margin: 0 0 20px 0;
    letter-spacing: normal;
}

h1 { font-size: 36px; line-height: 44px; font-weight: 700; margin-bottom: 32px; }
h2 { font-size: 26px; line-height: 34px; font-weight: 600; }
h3 { font-size: 22px; line-height: 30px; font-weight: 600; }
h4 { font-size: 18px; line-height: 26px; font-weight: 600; }
h5 { font-size: 16px; line-height: 24px; font-weight: 500; }
h6 { font-size: 14px; line-height: 20px; font-weight: 600; }

@media (max-width: 575px) {
    h1 { font-size: 26px; line-height: 32px; }
    h2 { font-size: 22px; line-height: 30px; }
    h3 { font-size: 20px; line-height: 28px; }
}



/* ============================================================
   FIX PORTO OVERRIDE — PAGE TITLE WEIGHT ON PDP & CATEGORY
   ============================================================ */

.page-title .base {
    font-weight: 700 !important;
}



/* ============================================================
   PRICE & ATC FIXES — PDP ONLY
   ============================================================ */

.action.tocart,
.action.primary.tocart {
    white-space: nowrap !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.action.tocart span,
.action.primary.tocart span {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
}

.product-info-price .price,
.product-info-price .price-wrapper .price,
.price-box .price {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
}



/* ============================================================
   LONG DESCRIPTION AUTO-HIDE — PDP
   ============================================================ */

.catalog-product-view .product.info.detailed .product.data.items #description {
    display: none;
}

.catalog-product-view #description {
    display: none;
}

.catalog-product-view #description[aria-hidden="false"] {
    display: block;
}



/* ============================================================
   SHORT DESCRIPTION COLLAPSE — MOBILE
   ============================================================ */

@media (max-width: 767px) {

    .catalog-product-view .short-desc-wrapper {
        position: relative;
        max-height: 3.4em; /* ~2 lines */
        overflow: hidden;
    }

    .catalog-product-view .short-desc-wrapper::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1.2em;
        background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    }

    .catalog-product-view .short-desc-wrapper.short-desc-expanded {
        max-height: none;
    }

    .catalog-product-view .short-desc-wrapper.short-desc-expanded::after {
        display: none;
    }

    .catalog-product-view .short-desc-toggle-btn {
        margin-top: 6px;
        font-size: 14px;
        font-weight: 500;
        color: #0066c0;
        cursor: pointer;
    }
}

@media (min-width: 768px) {
    .catalog-product-view .short-desc-wrapper {
        max-height: none !important;
        overflow: visible !important;
    }
    .catalog-product-view .short-desc-toggle-btn {
        display: none !important;
    }
}



/* ============================================================
   CATEGORY — BREADCRUMB H1 FIX
   ============================================================ */

.catalog-category-view .breadcrumbs h1.page-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* === MOVED FROM ADMIN CSS (221225) === */

/* ==================================
   GLOBAL TYPOGRAPHY – BASE
================================== */

p {
    letter-spacing: 0;
}

/* Desktop headings */
h1, h2, h3, h4, h5, h6 {
    font-family: Poppins, sans-serif;
    color: #222529;
    letter-spacing: normal;
    margin: 0 0 20px 0;
    font-weight: 700;
}

h1 {
    font-size: 30px;
    line-height: 38px;
    margin-bottom: 32px;
}

h2 {
    font-size: 26px;
    line-height: 34px;
}

h3 {
    font-size: 22px;
    line-height: 30px;
}

h4 {
    font-size: 18px;
    line-height: 26px;
}

h5 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}

h6 {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}

/* Mobile responsive headings */
@media (max-width: 575px) {
    body {
        font-size: 13px;
        line-height: 21px;
    }

    h1 {
        font-size: 24px;
        line-height: 32px;
    }

    h2 {
        font-size: 22px;
        line-height: 30px;
    }

    h3 {
        font-size: 20px;
        line-height: 28px;
    }

    h4 {
        font-size: 18px;
        line-height: 26px;
    }

    h5 {
        font-size: 16px;
        line-height: 24px;
    }

    h6 {
        font-size: 14px;
        line-height: 20px;
    }
}

/* Special Script Font */
.home-banner-slider h2.vc_custom_heading,
.custom-font4 {
    font-family: 'Segoe Script', 'Savoye LET';
}

/* ==================================
   SEARCH + HEADER
================================== */

.block-search input {
    border-radius: 10px;
    background: #d4b652;
}

.page-header.type2 .block-search input {
    height: 40px;
    font-size: 14px;
}

.block-search .action.search {
    color: #147300;
}

.page-header.type2 .search-category,
.page-header.type2 .search-area .minisearch .actions button {
    height: 40px;
    line-height: 40px;
}

.page-header.type2 .search-area .minisearch .actions button {
    background-color: #147300;
}

.page-header {
    border-top-width: 3px;
}

.main-panel-top {
    border-bottom: 1px solid #e7e7e7;
}

.page-header .panel.wrapper::after {
    display: none;
}

.main-panel-top .panel.header + .gap {
    background: rgba(0, 0, 0, .04);
}

.page-header.type2 {
    border-bottom: none;
}

.page-header.type2 .navigation:not(.side-megamenu) .level0 {
    margin-right: 1px;
}

@media (min-width: 992px) {
    .page-header.type2 .navigation:not(.side-megamenu) .level0 .level-top {
        font-family: Poppins, sans-serif;
        line-height: 20px;
        font-weight: 500;
        font-size: 14px;
        padding: 15px 20px;
    }

    header.page-header.sticky-header .nav-sections {
        background-color: #00aa37;
    }
}

/* ==================================
   PAGE LAYOUT
================================== */

.page-main {
    padding-bottom: 0;
}

.cms-index-index .page-main .columns {
    padding: 0;
    background: none;
}

.page-main .columns {
    background: #fff;
    padding: 20px;
}

.fullwidth-row {
    width: 100%;
    margin-left: 0;
}

.product-options-bottom,
.product-info-price {
    font-family: Poppins;
}

/* ==================================
   INFINITE LOADER
================================== */

.infinite-loader .btn-load-more,
.infinite-loader .loading {
    width: auto;
    border: none;
    background: #222529;
    color: #fff;
    padding: 1.4em 4em;
    font-size: .8125rem;
    line-height: 1.3333;
    font-weight: 700;
    text-transform: uppercase;
}

/* ==================================
   FOOTER BLOCK
================================== */

.footer,
.footer p {
    letter-spacing: 0;
}

.footer .widgettitle,
.footer .widget-title {
    font-size: 15px;
    font-weight: 700;
}

.footer-middle > .container::after {
    border-color: #e7e7e7;
}

.footer-middle .porto-separator .separator-line {
    background-color: #e7e7e7 !important;
}

.footer .follow-us .share-links a {
    border: none;
}

.footer .follow-us .share-links a:not(:hover) {
    background: #147300;
    color: #fff;
}

.footer-middle .widget {
    margin: 1.875rem 0;
}

.footer .newsletter input,
.footer .newsletter .action.subscribe {
    height: 44px;
    padding: 0 20px;
}

.footer .newsletter .action.subscribe {
    border-radius: 0 30px 30px 0;
}

.footer .contact-info .contact-details strong {
    color: #222529;
}

/* ==================================
   CART + HEADER ICONS
================================== */

.page-header.sticky-header .minicart-wrapper .action.showcart {
    color: #147300;
}
.cookie-status-message {
display: none;
}


/* ========== EKIRANA SUBNAV PILLS (PREMIUM CLEAN VERSION) ========== */

.ek-pills {
    margin: 18px 0 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
}

.ek-pills__rail {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 4px 4px 8px;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.ek-pills__rail::-webkit-scrollbar {
    display: none;
}

/* Pill button */
.ek-pills__link {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 14px;           /* softer, not fully round */
    font-size: 14px;
    font-weight: 500;
    color: #222 !important;        /* override Magento link styling */
    text-decoration: none !important;
    white-space: nowrap;
    transition: all .25s ease;
}

.ek-pills__link:hover {
    background: #f4f4f4;
    border-color: #bfbfbf;
}

/* Active pill */
.ek-pills__link.is-active {
    background: #147300;
    border-color: #147300;
    color: #fff !important;
}

/* Inline mini-tag (NEW / HOT / TRENDING / etc.) */
.ek-pill-tag {
    background: #147300;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 8px;
    text-transform: uppercase;
    line-height: 1;
}

@media (max-width: 480px) {
    .ek-pills__link {
        padding: 8px 14px;
        font-size: 13px;
    }
    .ek-pill-tag {
        font-size: 9px;
        padding: 2px 5px;
    }
}

/* ==================================
   Mega Menu Alignment
================================== */

@media (min-width: 992px) {
    .page-header.type22 .navigation.side-megamenu > ul > li.level0 {
        position: relative !important;
    }
}

