/* Root and Settings */
/** All Screens **/
:root {
    --cm-max-container-width: 1700px;
    --cm-footer-clip-size: 38px;
    --cm-footer-clip-off-a: 0px;
    --cm-footer-clip-off-b: 200px;
    --cm-footer-clip-off-c: 50%;
    --cm-footer-clip-off-1: calc(var(--cm-footer-clip-off-c) - var(--cm-footer-clip-off-b) + var(--cm-footer-clip-off-a));
    --cm-footer-clip-off-2: calc(var(--cm-footer-clip-off-1) + var(--cm-footer-clip-size));
    --cm-footer-margin: calc(var(--cm-footer-clip-size) * -1);
    --cm-collection-card-clip-v1: 32px;
}
/** Up to 1100px **/
@media (max-width:1100px) {
    :root {
    --cm-footer-clip-size: 30px;
    --cm-footer-clip-off-a: 0px;
    --cm-footer-clip-off-b: 200px;
    --cm-footer-clip-off-c: 50%;
    }
}
/** Up to 800px **/
@media (max-width:800px) {
    :root {
    --cm-footer-clip-size: 26px;
    --cm-footer-clip-off-a: 40px;
    --cm-footer-clip-off-b: 0px;
    --cm-footer-clip-off-c: 0%;
    }
}
/* Smoother Elementor Animations */
@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}
.elementor-element.fadeInDown {
    animation-name: fadeDown
}
@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}
.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}
@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}
.elementor-element.fadeInRight {
    animation-name: fadeRight
}
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}
.elementor-element.fadeInUp {
    animation-name: fadeUp
}
/* General Styling */
.no-pointer {
    pointer-events: none;
}
.pointer-active {
    pointer-events: auto;
}
.cm-blur-16 {
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}
/* Container Styling */
.cm-max-width-2000 .e-con-inner {
    max-width: var(--cm-max-container-width);
}
/* Button Styling */
.cm-header-button > .elementor-button .elementor-button-text {
    transition: all 0.3s ease;
}
.cm-header-button > .elementor-button:hover .elementor-button-text {
    font-weight: var( --e-global-typography-a2c5e90-font-weight );
}
.cm-footer-button > .elementor-button .elementor-button-text {
    transition: all 0.3s ease;
}
.cm-footer-button > .elementor-button:hover .elementor-button-text {
    font-weight: var( --e-global-typography-dace0ef-font-weight );
}
.cm-button-icon-footer > .elementor-button .elementor-button-icon > svg {
    width: 8px;
    min-width: 8px;
    height: 8px;
    min-height: 8px;
    transition: transform 0.3s ease;
}
.cm-button-icon-footer > .elementor-button .elementor-button-icon path {
    fill: var( --e-global-color-accent );
}
.cm-button-icon-footer > .elementor-button:hover .elementor-button-icon > svg {
    transform: rotate(-90deg);
}
.cm-button-icon-main > .elementor-button .elementor-button-icon > svg {
    width: 10px;
    min-width: 10px;
    height: 10px;
    min-height: 10px;
    margin-right: 0px;
    transition: margin-right 0.3s ease, transform 0.3s ease;
}
.cm-button-icon-main > .elementor-button:hover .elementor-button-icon > svg {
    transform: rotate(-90deg);
    margin-right: 2px;
}
.cm-button-icon-main .elementor-button-text {
    font-weight: var( --e-global-typography-d8e6d89-font-weight );
    transition: font-weight 0.3s ease;
}
.cm-button-icon-main > .elementor-button:hover .elementor-button-text {
    font-weight: var( --e-global-typography-eee04b3-font-weight );
}
.cm-coastal-grey-button > .elementor-button .elementor-button-icon path {
    fill: var( --e-global-color-0a28882 );
}
.cm-shell-grey-button > .elementor-button .elementor-button-icon path {
    fill: var( --e-global-color-secondary );
}
.cm-soft-grey-button > .elementor-button .elementor-button-icon path {
    fill: var( --e-global-color-d4eacdc );
}
.cm-coastal-grey-button > .elementor-button:hover .elementor-button-icon path,
.cm-soft-grey-button > .elementor-button:hover .elementor-button-icon path,
.cm-shell-grey-button > .elementor-button:hover .elementor-button-icon path {
    fill: var( --e-global-color-accent );
}
.cm-footer-address > .elementor-button .elementor-button-icon > svg {
    width: 8px;
    min-width: 8px;
    height: 8px;
    min-height: 8px;
}
.cm-footer-address > .elementor-button .elementor-button-icon path {
    fill: var( --e-global-color-accent );
}
/* Icon Styling */
.elementor-icon-wrapper {
    display: flex;
}
/* Header Styling */
.cm-header {
    mix-blend-mode: difference;
}
.cm-header-logo-icon-hidden {
    opacity: 0;
}
.cm-header-menu-container {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-icon path {
    transition: fill 0.15s ease;
}
.cm-header-nav-menu-dt .e-n-menu-title:hover .e-n-menu-icon path {
    fill: var( --e-global-color-accent );
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-icon span {
    width: 10px;
    max-width: 10px;
    height: 10px;
    max-height: 10px;
    margin-right: 0px;
    transition: transform 0.3s ease, margin-right 0.3s ease;
}
.cm-header-nav-menu-dt .e-n-menu-title:hover .e-n-menu-icon span {
    transform: rotate(-90deg);
    margin-right: 2px;
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-title-text {
    transition: all 0.3s ease;
}
.cm-header-nav-menu-dt .e-n-menu-title:hover .e-n-menu-title-text {
    font-weight: var( --e-global-typography-9001112-font-weight ) !important;
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-dropdown-icon path {
    fill: var(--n-menu-title-color-normal);
    transition: fill 0.3s ease !important;
}
.cm-header-nav-menu-dt .e-n-menu-title:hover .e-n-menu-dropdown-icon path {
    fill: var( --e-global-color-accent );
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-dropdown-icon-opened {
    display: none !important;
}
.cm-header-nav-menu-dt .e-n-menu-title .e-n-menu-dropdown-icon-closed {
    display: flex !important;
    transition: transform 0.3s ease;
}
.cm-header-nav-menu-dt.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded=true] .e-n-menu-dropdown-icon-closed {
    transform: rotate(-90deg);
}
.cm-hp-header-logo-container,
.cm-hp-logo-icon-container,
.cm-hp-header-logo,
.cm-hp-logo-icon {
  will-change: transform;
}
.cm-hp-header-logo-container {
    transform-origin: left bottom;
}
.cm-hp-logo-icon-container {
    transform-origin: left bottom;
}
.cm-hp-header-logo,
.cm-hp-logo-icon {
    scale: 3;
    transform-origin: left bottom;
}
.cm-hp-header-logo-icon {
    width: calc(67px * 3);
}
.cm-nav-menu-header .menu-item:before {
  content: "";
  width: 10px;
  height: 10px;
  -webkit-mask: url(/wp-content/uploads/2025/09/Coast-Modular-Button-Icon-Plus.svg) no-repeat center / contain;
  mask: url(/wp-content/uploads/2025/09/Coast-Modular-Button-Icon-Plus.svg) no-repeat center / contain;
  background-color: #f1f1f1;
  position: absolute;
  z-index: 10;
  pointer-events: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.cm-nav-menu-header .menu-item:hover:before {
  background-color: #e5773c;
  transform: rotate(-90deg);
}
.cm-nav-menu-header .current_page_item.menu-item:before {
    background: var( --e-global-color-accent ) !important;
}
.cm-nav-menu-header .menu-item {
    align-items: center;
}
.cm-nav-menu-header .menu-item > .elementor-item {
    margin: 0px !important;
    padding-left: 20px;
}
.cm-nav-menu-header .menu-item:hover .elementor-item {
    font-weight: var( --e-global-typography-9001112-font-weight ) !important;
}
.cm-nav-menu-header .sub-menu .menu-item {
    display: flex;
    flex-direction: row;
}
.cm-nav-menu-header .sub-menu .menu-item:before {
    margin-left: 10px;
}
.cm-nav-menu-header .sub-menu .menu-item:hover .elementor-sub-item {
    font-weight: var( --e-global-typography-9001112-font-weight ) !important;
}
/* Footer Styling */
.cm-footer-clip {
    clip-path: polygon(
    0% var(--cm-footer-clip-size),
    var(--cm-footer-clip-off-1) var(--cm-footer-clip-size),
    var(--cm-footer-clip-off-2) 0%,
    100% 0%,
    100% 100%,
    0% 100%
    );
    margin-top: var(--cm-footer-margin);
}
.cm-footer-address .jet-listing-dynamic-field__inline-wrap {
    align-items: start;
}
.cm-footer-address .jet-listing-dynamic-field__icon {
    margin-top: 2px;
}
.cm-footer-address .jet-listing-dynamic-field__content p {
    margin-bottom: 4px;
}
.cm-footer-logo a {
    min-width: 100%;
}
/* Listing Grid Styling */
/** Collection v1 **/
.cm-collection-card-v1-img-overlay {
    clip-path: polygon(
    0% 0%,
    100% 0%,
    100% calc(100% - var(--cm-collection-card-clip-v1)),
    calc(48% + var(--cm-collection-card-clip-v1)) calc(100% - var(--cm-collection-card-clip-v1)),
    48% 100%,
    0% 100%
    );
    height: 100%;
    transition: background-size 0.6s ease;
}
@media (min-width:1101px) {
    .cm-collection-card-v1:hover .cm-collection-card-v1-img-overlay {
    background-size: 170% !important;
    }
}
.cm-collection-card-v1-overlay {
    height: 100%;
}
.cm-collection-card-v1-button {
    height: var(--cm-collection-card-clip-v1);
    display: flex;
    justify-content: end;
    align-content: center;
}
.cm-collection-card-v1 .elementor-button {
    display: flex;
    align-items: end;
}
/** Journal v1 **/
.cm-journal-cat-blur {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
/** Slider **/
.cm-listing-grid-slider-3 .jet-slick-dots {
    background-color: #d9d9d9;
    width: fit-content;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px;
    border-radius: 10px;
}
.cm-listing-grid-slider-3 .jet-slick-dots:after {
    content: "";
    width: 160px;
    height: 11px;
    background: #ffffff;
    border-radius: 100px;
    z-index: 2;
    position: absolute;
}
.cm-listing-grid-slider-3 .jet-slick-dots li {
    margin: 0px;
    width: 80px;
    border-radius: 100px;
    height: 11px;
    z-index: 3;
}
.cm-listing-grid-slider-3.cm-slider-shell-stone .jet-slick-dots {
    background-color: #c5c3b2;
}
@media (max-width: 1100px) {
    .cm-listing-grid-slider-3 .jet-slick-dots:after {
        height: 8px;
        width:120px;
    }
    .cm-listing-grid-slider-3 .jet-slick-dots li {
        height: 8px;
        width:60px;
    }
}
@media (max-width: 800px) {
    .cm-listing-grid-slider-3 .jet-slick-dots:after {
        width: 72px;
        height: 8px;
    }
    .cm-listing-grid-slider-3 .jet-slick-dots li {
        width: 24px;
        height: 8px;
    }
    .cm-listing-grid-slider-3 .jet-slick-dots {
    background-color: #d9d9d9;
    width: fit-content;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px;
    border-radius: 10px;
    }
}
/* Collection Page */
@media (min-width:1101px) {
    .cm-min-width-460 {
        min-width: 480px !important;
    }
}
.cm-spec-super {
    vertical-align: super;
      font-size: x-small;
}
.cm-collection-img-carousel .elementor-swiper-button {
    min-width: 26px;
    min-height: 26px;
    align-items: center;
    justify-content: center;
}