/* Cafe Ariel shared component styles. Canonical runtime bundle. */


/* ==========================================================
   Cafe Ariel footer — canonical styles
   One source of truth; replaces accumulated footer overrides.
   Palette follows the cream header + deep-green site identity.
   ========================================================== */
.ca-footer-new {

  --ca-footer-bg: var(--ca-header-footer-bg, #0d4f4a);

  --ca-footer-text: var(--ca-surface-2, #f8f0e3);

  --ca-footer-muted: #d9e6dc;

  --ca-footer-line: rgba(248, 240, 227, .22);

  --ca-footer-accent: var(--ca-accent, #f6c177);

  position: relative;

  isolation: isolate;

  overflow: hidden;

  direction: rtl;

  padding: 42px 0 0;

  color: var(--ca-footer-text);

  background: var(--ca-footer-bg);

  font-family: inherit;
}

.ca-footer-new *, .ca-footer-new *::before, .ca-footer-new *::after {
     box-sizing: border-box;
}

.ca-footer-new .ca-footer-inner {
     width: min(calc(100% - 48px), 1180px);
     margin-inline: auto;
}

.ca-footer-new .ca-footer-grid {
     display: grid;
     grid-template-columns: 1.05fr 1fr .9fr 1.15fr;
     align-items: start;
     gap: 28px;
     padding-bottom: 30px;
}

.ca-footer-new .ca-footer-col {
     min-width: 0;
}

.ca-footer-new .ca-footer-col h3 {
     position: relative;
     margin: 0 0 18px;
     padding: 0 0 10px;
     color: var(--ca-footer-text);
     font-size: 15px;
     font-weight: 800;
     line-height: 1.7;
}

.ca-footer-new .ca-footer-col h3::after {
     content: "";
     position: absolute;
     right: 0;
     bottom: 0;
     width: 38px;
     height: 2px;
     border-radius: 2px;
     background: var(--ca-footer-accent);
}

.ca-footer-new .ca-footer-links {
     display: flex;
     flex-direction: column;
     align-items: stretch;
     gap: 10px;
}

.ca-footer-new .ca-footer-links a {
     display: block;
     color: var(--ca-footer-muted);
     font-size: 13px;
     line-height: 1.8;
     text-decoration: none;
     transition: color .18s ease, transform .18s ease;
}

.ca-footer-new .ca-footer-links a::before {
     content: "‹";
     display: inline-block;
     margin-left: 9px;
     color: var(--ca-footer-accent);
}

.ca-footer-new .ca-footer-links a:hover, .ca-footer-new .ca-footer-links a:focus-visible {
     color: var(--ca-footer-text);
     transform: translateX(-2px);
}

.ca-footer-new .ca-footer-stat-col {
     display: flex;
     flex-direction: column;
     gap: 9px;
}

.ca-footer-new .ca-footer-stat {
     display: flex;
     align-items: center;
     gap: 12px;
     min-width: 0;
     margin: 0;
     padding: 10px 12px;
     border: 1px solid var(--ca-footer-line);
     border-radius: 12px;
     background: rgba(255,255,255,.055);
}

.ca-footer-new .ca-footer-stat > i {
     display: grid;
     place-items: center;
     flex: 0 0 34px;
     width: 34px;
     height: 34px;
     border-radius: 10px;
     color: var(--ca-footer-bg);
     background: var(--ca-footer-text);
     font-size: 15px;
}

.ca-footer-new .ca-footer-stat > div {
     display: flex;
     flex: 1 1 auto;
     flex-direction: column;
     align-items: flex-start;
     min-width: 0;
     gap: 2px;
     text-align: right;
}

.ca-footer-new .ca-footer-stat strong {
     color: var(--ca-footer-text);
     font-size: 16px;
     line-height: 1.4;
     font-weight: 900;
}

.ca-footer-new .ca-footer-stat span {
     display: block;
     align-self: flex-start;
     margin-inline-start: 0;
     color: var(--ca-footer-muted);
     font-size: 11px;
     line-height: 1.6;
     text-align: right;
}

.ca-footer-new .ca-footer-certificates {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: flex-start;
     gap: 10px;
}

.ca-footer-new .ca-footer-certificate {
     display: flex;
     flex: 0 0 64px;
     align-items: center;
     justify-content: center;
     width: 64px;
     height: 64px;
     overflow: hidden;
     border: 1px solid rgba(255,255,255,.4);
     border-radius: 9px;
     background: #fff;
}

.ca-footer-new .ca-footer-certificate a {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 100%;
     background: #fff;
}

.ca-footer-new .ca-footer-certificate img {
     display: block;
     width: 100%;
     height: 100%;
     max-width: 100%;
     max-height: 100%;
     margin: 0;
     object-fit: contain;
     object-position: center;
     background: #fff;
}

.ca-footer-new .ca-footer-social-col > p {
     margin: 0 0 6px;
     color: var(--ca-footer-muted);
     font-size: 13px;
     line-height: 2;
}

.ca-footer-new .ca-footer-socials {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: flex-start;
     gap: 8px;

     margin-top: 0;
}

.ca-footer-new .ca-footer-socials a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     border: 1px solid var(--ca-footer-line);
     border-radius: 50%;
     color: var(--ca-footer-text);
     background: rgba(255,255,255,.045);
     text-decoration: none;
     font-size: 17px;
     transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.ca-footer-new .ca-footer-socials a:hover, .ca-footer-new .ca-footer-socials a:focus-visible {

  transform: translateY(-2px);
}

.ca-footer-new .ca-footer-socials a:hover i, .ca-footer-new .ca-footer-socials a:focus-visible i {
     color: var(--ca-footer-bg);
}

.ca-footer-new .ca-footer-socials a:active {
     transform: translateY(0);
     box-shadow: none;
}

.ca-footer-new .ca-footer-socials a:focus-visible {
     outline: 2px solid var(--ca-footer-accent);
     outline-offset: 3px;
}

.ca-footer-new .ca-footer-links a:focus-visible {
     outline: 2px solid var(--ca-footer-accent);
     outline-offset: 3px;
}

.ca-footer-new .ca-footer-socials .fa-instagram {
     color: #f5b6d0;
}

.ca-footer-new .ca-footer-socials .fa-telegram-plane, .ca-footer-new .ca-footer-socials .fa-telegram {
     color: #8bd5f3;
}

.ca-footer-new .ca-footer-socials .fa-whatsapp {
     color: #8fe0a6;
}

.ca-footer-new .ca-footer-socials .fa-x-twitter {
     color: #fff;
}

.ca-footer-new .ca-footer-bottom {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     align-items: center;
     justify-content: space-between;
     gap: 12px 20px;
     padding: 16px 0 18px;
     border-top: 1px solid var(--ca-footer-line);
     direction: rtl;
}

.ca-footer-new .ca-footer-bottom .ca-footer-copyright {
     margin: 0;
     color: var(--ca-footer-muted);
     font-size: 11px;
     line-height: 1.8;
}

.ca-footer-new .ca-footer-bottom-contact {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: flex-start;
     gap: 12px 18px;
     color: var(--ca-footer-muted);
     font-size: 11px;
     line-height: 1.8;
}

.ca-footer-new .ca-footer-bottom-phone, .ca-footer-new .ca-footer-bottom-hours {
     display: inline-flex;
     align-items: center;
     gap: 7px;
     color: var(--ca-footer-muted);
     text-decoration: none;
}

.ca-footer-new .ca-footer-bottom-phone strong {
     color: var(--ca-footer-text);
     font-weight: 800;
}

.ca-footer-new .ca-footer-bottom-contact i {
     width: 14px;
     text-align: center;
     color: var(--ca-footer-accent);
}

/* Desktop footer alignment: center certificate icons only; keep section headings unchanged. */
/* Desktop alignment is defined once below against the active footer column classes. */
@media (max-width: 1000px) {

  .ca-footer-new {
         padding-top: 32px;
    }

  .ca-footer-new .ca-footer-inner {
         width: min(calc(100% - 36px), 760px);
    }

  .ca-footer-new .ca-footer-grid {
         grid-template-columns: repeat(2, minmax(0,1fr));
         gap: 28px 24px;
         padding-bottom: 24px;
    }

  .ca-footer-new .ca-footer-socials {
         align-items: center;
         gap: 10px;

     margin-top: 0;
    }
}

@media (max-width: 600px) {

  .ca-footer-new {
         padding-top: 26px;
    }

  .ca-footer-new .ca-footer-inner {
         width: calc(100% - 32px);
    }

  .ca-footer-new .ca-footer-grid {
         grid-template-columns: minmax(0,1fr);
         gap: 24px;
         padding-bottom: 22px;
    }

  .ca-footer-new .ca-footer-col h3 {
         margin-bottom: 14px;
         font-size: 14px;
    }

  .ca-footer-new .ca-footer-stat-col {
         display: grid;
         grid-template-columns: repeat(3, minmax(0,1fr));
         align-items: stretch;
         gap: 7px;
    }

  .ca-footer-new .ca-footer-stat-col > h3 {
         grid-column: 1 / -1;
         margin-bottom: 4px;
    }

  .ca-footer-new .ca-footer-stat {
         flex-direction: column;
         justify-content: center;
         gap: 6px;
         min-width: 0;
         padding: 10px 4px;
         text-align: center;
    }

  .ca-footer-new .ca-footer-stat > i {
         flex-basis: 30px;
         width: 30px;
         height: 30px;
         font-size: 13px;
    }

  .ca-footer-new .ca-footer-stat > div {
         flex: 0 1 auto;
         align-items: center;
         text-align: center;
    }

  .ca-footer-new .ca-footer-stat strong {
         font-size: 14px;
    }

  .ca-footer-new .ca-footer-stat span {
         align-self: center;
         margin-inline-start: 0;
         font-size: 10px;
         line-height: 1.45;
         text-align: center;
         overflow-wrap: anywhere;
    }

  .ca-footer-new .ca-footer-certificates {
         gap: 8px;
    }

  .ca-footer-new .ca-footer-certificate {
         flex-basis: 58px;
         width: 58px;
         height: 58px;
    }

  .ca-footer-new .ca-footer-social-col > p {
         margin-bottom: 6px;
         text-align: center;
    }

  .ca-footer-new .ca-footer-socials {
         align-items: center;
         gap: 10px;

     margin-top: 0;
    }

  .ca-footer-new .ca-footer-bottom {
         flex-direction: column;
         justify-content: center;
         gap: 8px;
         text-align: center;
    }

  .ca-footer-new .ca-footer-bottom .ca-footer-copyright {
         text-align: center;
         font-size: 10px;
    }

  .ca-footer-new .ca-footer-bottom-contact {
         justify-content: center;
         gap: 8px 12px;
    }
}

/* Footer interaction and tablet/mobile content alignment */
.ca-footer-new .ca-footer-socials a:hover,
.ca-footer-new .ca-footer-socials a:focus-visible {

  color: var(--ca-footer-bg) !important;

  -webkit-text-fill-color: var(--ca-footer-bg) !important;

  background: var(--ca-footer-text) !important;

  border-color: var(--ca-footer-accent) !important;

  box-shadow: 0 5px 14px rgba(0,0,0,.22);
}

.ca-footer-new .ca-footer-socials a:hover i,
.ca-footer-new .ca-footer-socials a:focus-visible i,
.ca-footer-new .ca-footer-socials a:hover svg,
.ca-footer-new .ca-footer-socials a:focus-visible svg {

  color: var(--ca-footer-bg) !important;

  -webkit-text-fill-color: var(--ca-footer-bg) !important;

  fill: var(--ca-footer-bg) !important;
}

@media (max-width: 1000px) {

  .ca-footer-new .ca-footer-links {
         align-items: center;
    }

  .ca-footer-new .ca-footer-links a {
         width: fit-content;
         max-width: 100%;
         text-align: center;
    }

  .ca-footer-new .ca-footer-socials,
  .ca-footer-new .ca-footer-certificates {
         justify-content: center;
    }

  .ca-footer-new .ca-footer-bottom-contact {
         justify-content: center;
    }
}

/* Final footer alignment rules: scoped to the active ca-footer-new markup.
   Do not target the section headings; their existing alignment stays unchanged. */
@media (min-width: 1001px) {

  .ca-footer-new .ca-footer-col.ca-footer-certificate-col > .ca-footer-certificates {

    display: flex;

    width: 100%;

    align-items: center;

    justify-content: center;
    }

  .ca-footer-new .ca-footer-col.ca-footer-social-col > p {

    direction: ltr;

    text-align: left;
    }

  .ca-footer-new .ca-footer-col.ca-footer-social-col > .ca-footer-social-contact-layout {

    display: flex;

    width: 100%;

    justify-content: flex-start;

    direction: ltr;
    }

  .ca-footer-new .ca-footer-col.ca-footer-social-col .ca-footer-socials {

    display: flex;

    width: 100%;

    align-items: center;

    justify-content: flex-start;

    direction: ltr;
    }
}

@media (max-width: 1000px) {

  .ca-footer-new .ca-footer-col.ca-footer-social-col > p {

    text-align: center;
    }
}

:root {
     --ca-harmony-primary: var(--ca-primary,#0f3d3a);
     --ca-harmony-primary-hover: var(--ca-primary-hover,#2a746b);
     --ca-harmony-ink: var(--ca-text,#2a2a2a);
     --ca-harmony-muted: var(--ca-muted,#6e6a62);
     --ca-harmony-line: var(--ca-line,#e8dcc6);
     --ca-harmony-page: var(--ca-bg,#fff7ec);
     --ca-harmony-surface: var(--ca-surface,#fff7ec);
     --ca-harmony-card: var(--ca-white,#ffffff);
     --ca-harmony-subtle: var(--ca-surface-2,#f8f0e3);
     --ca-harmony-soft-green: var(--ca-reg-0008-e5efec,#e5efec);
     --ca-harmony-radius: 16px;
     --ca-harmony-gap: 14px;
     --ca-cart-shared-total: var(--ca-harmony-subtle)
}

 .ca-receipt-page .ca-receipt-success,.ca-receipt-page .ca-receipt-content {
     border-color: var(--ca-harmony-line) !important
}

 .ca-receipt-page .ca-receipt-content {
     background: var(--ca-harmony-surface) !important
}

 .ca-receipt-page .ca-receipt-content #edd_purchase_receipt,.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products {
     background: var(--ca-harmony-card) !important;
     border-color: var(--ca-harmony-line) !important;
     border-radius: 14px !important;
     overflow: hidden !important
}

 .ca-receipt-page .ca-receipt-content #edd_purchase_receipt th,.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products th {
     background: var(--ca-harmony-subtle) !important;
     color: var(--ca-harmony-primary) !important;
     border-bottom-color: var(--ca-harmony-line) !important
}

 .ca-receipt-page .ca-receipt-content #edd_purchase_receipt td,.ca-receipt-page .ca-receipt-content #edd_purchase_receipt_products td {
     border-bottom-color: var(--ca-harmony-line) !important
}

 @media (min-width:1025px) {
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files {
         align-items: center !important;
         width: 100% !important
    }
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
         display: flex !important;
         align-items: center !important;
         justify-content: center !important;
         width: 100% !important
    }
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files a,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files a,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files a,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file a,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products a.ca-online-reader-link,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products a.ca-direct-download-link {
         width: fit-content !important;
         max-width: 100% !important;
         margin-inline: auto !important;
         justify-content: center !important;
         text-align: center !important
    }
}

 @media (max-width:1024px) {
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
         background: transparent !important;
         background-image: none !important;
         border-color: transparent !important;
         box-shadow: none !important
    }
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_bundled_product_files>li,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file {
         margin: 0 !important;
         padding: 0 !important;
         border: 0 !important;
         border-radius: 0 !important
    }
     body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files::before,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_files::after,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files::before,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_purchase_receipt_product_files::after,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file::before,body:has(.ca-receipt-page) .ca-receipt-content #edd_purchase_receipt_products .edd_download_file::after {
         content: none !important;
         display: none !important
    }
}

           main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks__cart,main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks__purchase-form {
     background: var(--ca-harmony-surface) !important;
     border-color: var(--ca-harmony-line) !important
}

 main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-list,main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .edd-blocks-form__cart .ca-cart-list {
     background: var(--ca-harmony-card) !important;
     border-color: var(--ca-harmony-line) !important
}

 main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-total-card,main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-discount-trigger,main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-discount-close {
     border-color: var(--ca-harmony-line) !important
}

 main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-cart-total-card {
     background: var(--ca-harmony-subtle) !important
}

 main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-static-section-label i,main.ca-cart-page .ca-cart-page-content #edd_checkout_form_wrap .ca-purchase-account-item-icon {
     background: var(--ca-harmony-soft-green) !important;
     color: var(--ca-harmony-primary) !important
}

 #ca-profile-modal .ca-profile-shell {
     background: var(--ca-harmony-surface) !important;
     border-color: var(--ca-harmony-line) !important
}

 #ca-profile-modal .ca-profile-choice {
     background: var(--ca-harmony-card) !important;
     border-color: var(--ca-harmony-line) !important
}

 #ca-profile-modal .ca-profile-choice-icon,#ca-profile-modal .ca-profile-close {
     background: var(--ca-harmony-soft-green) !important;
     color: var(--ca-harmony-primary) !important;
     border-color: var(--ca-harmony-line) !important
}

 #onModal.ca-auth-modal .ca-auth-shell {
     background: var(--ca-harmony-surface) !important;
     border-color: var(--ca-harmony-line) !important
}

 #onModal.ca-auth-modal .ca-auth-visual {
     background: linear-gradient(145deg,var(--ca-harmony-primary),var(--ca-reg-0003-0d4f4a,#0d4f4a)) !important;
     color: #fff !important
}

 #onModal.ca-auth-modal .ca-auth-brand-icon {
     background: rgba(255,255,255,.12) !important;
     color: #fff !important
}

 #onModal.ca-auth-modal .ca-auth-visual-copy,#onModal.ca-auth-modal .ca-auth-points {
     color: rgba(255,255,255,.82) !important
}

 #cr-product-popup.cr-popup {
     position: fixed;
     inset: 0 !important;
     z-index: 100050;
     width: 100%;
     height: 100%;
     padding: 22px !important;
     overflow: auto !important;
     background: rgba(15,61,58,.48) !important;
     -webkit-backdrop-filter: blur(5px) !important;
     backdrop-filter: blur(5px)
}

 #cr-product-popup .ca2-cr-popup-content {
     position: relative;
     width: min(640px,100%) !important;
     max-height: min(82vh,780px) !important;
     overflow: auto !important;
     margin: clamp(18px,7vh,70px) auto !important;
     padding: clamp(18px,3vw,28px) !important;
     border: 1px solid var(--ca-harmony-line) !important;
     border-radius: 20px !important;
     background: var(--ca-harmony-surface) !important;
     color: var(--ca-harmony-ink);
     box-shadow: 0 24px 70px rgba(15,61,58,.22) !important
}

 #cr-product-popup .ca2-cr-popup-content h2 {
     margin: 0 0 14px !important;
     padding: 0 0 12px !important;
     border-bottom: 1px solid var(--ca-harmony-line) !important;
     color: var(--ca-harmony-primary);
     font-size: 19px;
     font-weight: 900
}

 #cr-product-popup .ca2-cr-popup-close {
     position: absolute;
     top: 12px;
     left: 12px;
     display: grid;
     place-items: center !important;
     width: 36px;
     height: 36px;
     border: 1px solid var(--ca-harmony-line) !important;
     border-radius: 11px !important;
     background: var(--ca-harmony-subtle) !important;
     color: var(--ca-harmony-primary);
     cursor: pointer;
     line-height: 1
}

 #cr-product-popup .ca2-cr-popup-close:hover,#cr-product-popup .ca2-cr-popup-close:focus-visible {
     background: var(--ca-harmony-soft-green) !important;
     border-color: var(--ca-harmony-primary) !important
}

 #cr-product-popup #cr-popup-data {
     min-width: 0 !important;
     background: transparent !important;
     color: var(--ca-harmony-ink)
}

 #onModal.ca-auth-modal .ca-auth-form-area {
     background: var(--ca-harmony-surface) !important
}

 #onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab {
     background: var(--ca-harmony-card) !important;
     border-color: var(--ca-harmony-line) !important;
     color: var(--ca-harmony-primary) !important
}

 #onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab.is-active,#onModal.ca-auth-modal .ca-auth-tabs .ca-auth-tab.active {
     background: var(--ca-harmony-soft-green) !important;
     border-color: var(--ca-harmony-primary) !important;
     color: var(--ca-harmony-primary) !important
}

 .ca-account-page .ca2-cr-account-sidebar,.ca-account-page .cr-shortcuts,.ca-account-page .cr-mini-info-card,.ca-account-page .cr-native-shortcode .edd_profile_editor_form,.ca-account-page .cr-native-shortcode .edd_form {
     border-color: var(--ca-harmony-line) !important
}

 .ca-single-product .ca-purchase-box {
     border-color: var(--ca-harmony-line) !important;
     background: var(--ca-harmony-surface) !important
}

 .ca-single-product .ca-purchase-box .ca-download-zone,.ca-single-product .ca-purchase-box .ca-owned-downloads {
     background: transparent !important
}

 .ca-comment-submit, .ca-auth-login-form input[type="submit"], .ca-auth-login-form button[type="submit"], .ca-account-page .cr-primary-btn, .ca-account-page .cr-account-open-login, .ca-account-page .cr-history-primary-action, .ca-account-page input[type="submit"], .ca-account-page .edd-submit, .ca-account-page button[type="submit"], main.ca-cart-page #edd_checkout_form_wrap .ca-discount-apply, main.ca-cart-page #edd_checkout_form_wrap #edd-purchase-button, main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit input[type="submit"], main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit button[type="submit"] {
     font-family: IRANSans,Tahoma,sans-serif !important;
     background-color: var(--ca-harmony-primary) !important;
     border-color: var(--ca-harmony-primary) !important;
     color: #fff !important
}

 .ca-comment-submit:hover:not(:disabled), .ca-auth-login-form input[type="submit"]:hover, .ca-account-page .cr-primary-btn:hover, .ca-account-page .cr-account-open-login:hover, .ca-account-page .cr-history-primary-action:hover, .ca-account-page input[type="submit"]:hover, .ca-account-page .edd-submit:hover, .ca-account-page button[type="submit"]:hover, main.ca-cart-page #edd_checkout_form_wrap .ca-discount-apply:hover, main.ca-cart-page #edd_checkout_form_wrap #edd-purchase-button:hover, main.ca-cart-page #edd_checkout_form_wrap #edd_purchase_submit input[type="submit"]:hover {
     background-color: var(--ca-harmony-primary-hover) !important;
     border-color: var(--ca-harmony-primary-hover) !important;
     color: #fff !important
}

 .ca-write-comment-trigger, .ca-discount-trigger, .ca-receipt-content .ca-receipt-back-wrap .ca-receipt-back-button {
     border-color: var(--ca-harmony-line) !important;
     background: var(--ca-harmony-subtle) !important;
     color: var(--ca-harmony-primary) !important
}

 .ca-write-comment-trigger:hover,.ca-discount-trigger:hover,.ca-receipt-content .ca-receipt-back-wrap .ca-receipt-back-button:hover {
     border-color: var(--ca-harmony-primary) !important;
     background: var(--ca-harmony-soft-green) !important;
     color: var(--ca-harmony-primary) !important
}

 :where(a,button,input,select,textarea,[role="button"]):focus-visible {
     outline: 2px solid var(--ca-harmony-primary) !important;
     outline-offset: 3px !important
}

 .ca-harmony-card, .ca-receipt-page .ca-receipt-content, #ca-profile-modal .ca-profile-shell {
     border-radius: var(--ca-harmony-radius) !important
}

 @media (prefers-reduced-motion:reduce) {
     :where(a,button,input,select,textarea,[role="button"]) {
         transition-duration: .01ms !important;
         scroll-behavior: auto !important;
         animation-duration: .01ms !important
    }
}

/*
 * Auth-modal field reset.
 * The old shared stylesheet styles .ca-auth-login-form input:focus with !important
 * and the global :focus-visible layer also adds an outline. Reset the base state
 * as well as :focus (not only :focus-visible), so mouse clicks/autofocus cannot
 * expose a dark browser/legacy border around the login and password fields.
 */
#onModal.ca-auth-modal .ca-auth-login-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
#onModal.ca-auth-modal .ca-auth-register-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
#onModal.ca-auth-modal .ca-auth-login-form select,
#onModal.ca-auth-modal .ca-auth-login-form textarea,
#onModal.ca-auth-modal .ca-auth-register-form select,
#onModal.ca-auth-modal .ca-auth-register-form textarea,
#onModal.ca-auth-modal .ca-lost-password__input-wrap input {

    border: 1px solid var(--ca-harmony-line, #e8dcc6) !important;

    outline: none !important;

    outline-offset: 0 !important;

    box-shadow: none !important;
}

#onModal.ca-auth-modal .ca-auth-login-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
#onModal.ca-auth-modal .ca-auth-register-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
#onModal.ca-auth-modal .ca-auth-login-form select:focus,
#onModal.ca-auth-modal .ca-auth-login-form textarea:focus,
#onModal.ca-auth-modal .ca-auth-register-form select:focus,
#onModal.ca-auth-modal .ca-auth-register-form textarea:focus,
#onModal.ca-auth-modal .ca-lost-password__input-wrap input:focus {

    border-color: var(--ca-harmony-primary) !important;

    outline: none !important;

    outline-offset: 0 !important;

    box-shadow: 0 0 0 3px rgba(15, 61, 58, .13) !important;
}

#onModal .ca-auth-panel[hidden] {
     display: none !important;
}

 #onModal .ca-auth-panel-switch {
     margin: 12px 0 0;
     text-align: center;
     color: var(--ca-muted, #737373);
     font-size: 12px;
}

 #onModal .ca-auth-panel-switch button {
     padding: 0 4px;
     border: 0;
     background: transparent;
     color: var(--ca-primary, #315a52);
     font-weight: 800;
     text-decoration: underline;
     cursor: pointer;
}

 #onModal .ca-auth-unavailable {
     padding: 12px;
     border-radius: 10px;
     background: #fff3e8;
     color: #7b431a;
     line-height: 1.9;
}

 .ca-auth-required {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     margin: 14px 0;
     padding: 16px;
     border: 1px solid var(--ca-line, #e2d6c5);
     border-radius: 14px;
     background: var(--ca-surface, #fffdf8);
}

 .ca-auth-required p {
     margin: 0;
}

 .ca-auth-required .cr-primary-btn, .ca-auth-shortcode-gateway .cr-primary-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     min-height: 42px;
     padding: 9px 15px;
     border-radius: 10px;
     background: var(--ca-primary, #315a52);
     color: #fff;
     text-decoration: none;
     font-weight: 800;
}

 .ca-auth-shortcode-gateway {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 12px;
     margin-block: 12px;
     padding: 14px;
     border: 1px solid var(--ca-line, #e2d6c5);
     border-radius: 12px;
     background: var(--ca-surface, #fffdf8);
}

 .ca-auth-shortcode-gateway p {
     margin: 0;
}

 .ca-auth-page-unified .ca-auth-page-switch a {
     cursor: pointer;
}

 .ca-auth-page-unified .cr-primary-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 9px;
     min-height: 45px;
     padding: 11px 18px;
     border-radius: 12px;
}

 .ca-auth-noscript {
     margin-top: 20px;
}

 @media (max-width: 600px) {
     .ca-auth-required {
         align-items: stretch;
    }
     .ca-auth-required .cr-primary-btn, .ca-auth-shortcode-gateway .cr-primary-btn {
         width: 100%;
    }
     .ca-auth-shortcode-gateway {
         align-items: stretch;
    }
}

 #onModal .ca-auth-lost-panel {
     max-height: min(70vh, 650px);
     overflow-y: auto;
     overscroll-behavior: contain;
}

 #onModal .ca-lost-password {
     max-width: 100%;
     margin: 0;
     padding: 8px 0 0;
     border: 0;
     border-radius: 0;
     background: transparent;
     box-shadow: none;
     text-align: right;
}

 #onModal .ca-lost-password h2 {
     margin: 0 0 8px;
     text-align: center;
     font-size: 19px;
     color: var(--ca-text, #29423b);
}

 #onModal .ca-lost-password p {
     margin: 0 0 16px;
     text-align: center;
     color: var(--ca-muted, #737373);
     font-size: 12px;
     line-height: 1.9;
}

 #onModal .ca-lost-password__icon {
     display: none;
}

 #onModal .ca-lost-password label {
     display: block;
     margin: 0 0 7px;
     font-size: 12px;
     font-weight: 800;
     color: var(--ca-text, #29423b);
}

 #onModal .ca-lost-password__input-wrap {
     position: relative;
     margin-bottom: 13px;
}

 #onModal .ca-lost-password__input-wrap i {
     position: absolute;
     right: 13px;
     top: 50%;
     transform: translateY(-50%);
     color: #888;
     font-size: 13px;
     pointer-events: none;
}

 #onModal .ca-lost-password__input-wrap input {
     width: 100%;
     min-height: 45px;
     box-sizing: border-box;
     padding: 11px 38px 11px 13px;
     border: 1px solid var(--ca-line, #e2d6c5);
     border-radius: 11px;
     background: #fff;
     color: var(--ca-text, #29423b);
     font: inherit;
     outline: none;
}

 #onModal .ca-lost-password__input-wrap input:focus {
     border-color: var(--ca-primary, #315a52);
     box-shadow: 0 0 0 3px rgba(49,90,82,.08);
}

 #onModal .ca-lost-password__button {
     width: 100%;
     min-height: 44px;
     border: 0;
     border-radius: 11px;
     background: var(--ca-primary, #315a52);
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     font: inherit;
     font-size: 13px;
     font-weight: 800;
     cursor: pointer;
}

 #onModal .ca-lost-password__button:disabled {
     opacity: .65;
     cursor: wait;
}

 #onModal .ca-lost-password__status {
     display: none;
     margin: 0 0 13px;
     padding: 10px 12px;
     border-radius: 10px;
     font-size: 12px;
     line-height: 1.8;
}

 #onModal .ca-lost-password__status.is-visible {
     display: flex;
     gap: 8px;
     align-items: flex-start;
}

 #onModal .ca-lost-password__status.is-success {
     background: #e8f5ed;
     color: #24633e;
}

 #onModal .ca-lost-password__status.is-error {
     background: #fff0f0;
     color: #a33a3a;
}

 #onModal .ca-lost-password__status.is-loading {
     background: #f5f5f5;
     color: #666;
}

 #onModal .ca-auth-forgot-switch {
     margin-top: 9px;
}

 #onModal .ca-auth-tabs[hidden] {
     display: none !important;
}


/* CafeAriel footer + mobile coupon fixes (2026-10-19). */
/* The social paragraph is nested inside .ca-footer-social-follow, not directly
   inside the social column. Keep desktop left-aligned and mobile centered. */
@media (min-width: 1001px) {
  .ca-footer-new .ca-footer-col.ca-footer-social-col .ca-footer-social-follow > p {
    display: block !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    direction: rtl !important;
    text-align: left !important;
  }
}
@media (max-width: 1000px) {
  .ca-footer-new .ca-footer-col.ca-footer-social-col .ca-footer-social-follow > p {
    display: block !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    direction: rtl !important;
    text-align: center !important;
  }
}

/* Keep the discount box visibly framed even when general checkout rules make
   cart surfaces transparent. */
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-cart-discount {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px !important;
  border: 1px solid #c7bba7 !important;
  border-radius: 14px !important;
  background-color: #f8f3e9 !important;
  background-image: linear-gradient(145deg, #fbf8f1, #f1eadd) !important;
  box-shadow: 0 2px 9px rgba(83, 66, 41, 0.08) !important;
}

/* Draw a clear border around the input + Apply row and prevent mobile wrapping. */
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .edd-discount-code-field-wrap,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .edd-form-group,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-discount-code-field-wrap,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-form-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 6px !important;
  border: 1px solid #c7bba7 !important;
  border-radius: 12px !important;
  background: #f2ebdf !important;
  box-sizing: border-box !important;
}

main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .ca-discount-input,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap #edd-discount,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .ca-discount-input {
  display: block !important;
  flex: 1 1 0% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid #a79a84 !important;
  border-radius: 9px !important;
  background: #fffdf8 !important;
  color: #302d27 !important;
  box-shadow: inset 0 1px 2px rgba(61, 48, 30, 0.06) !important;
  box-sizing: border-box !important;
}

main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .ca-discount-input:focus,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap #edd-discount:focus {
  border-color: #74664f !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px rgba(116, 102, 79, 0.18) !important;
}

main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .ca-discount-apply,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .ca-discount-apply,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-apply-discount,
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap input[type="submit"],
main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap button[type="submit"] {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 82px !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid #665941 !important;
  border-radius: 9px !important;
  background: #665941 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

@media (max-width: 560px) {
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-cart-discount {
    padding: 8px !important;
  }
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .edd-discount-code-field-wrap,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .edd-form-group,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-discount-code-field-wrap,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-form-group {
    gap: 5px !important;
    padding: 5px !important;
  }
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom .ca-discount-form.is-open .ca-discount-apply,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .ca-discount-apply,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap .edd-apply-discount,
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap input[type="submit"],
  main.ca-cart-page.ca-checkout-page #edd_checkout_form_wrap .ca-cart-bottom #edd-discount-code-wrap button[type="submit"] {
    min-width: 78px !important;
    padding-inline: 8px !important;
    font-size: 11px !important;
  }
}
