.elementor-661 .elementor-element.elementor-element-03b8dd7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0000000D;--border-color:#0000000D;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-661 .elementor-element.elementor-element-6141e3c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:30px;--padding-right:30px;}.elementor-661 .elementor-element.elementor-element-6141e3c:not(.elementor-motion-effects-element-type-background), .elementor-661 .elementor-element.elementor-element-6141e3c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-661 .elementor-element.elementor-element-491acd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-661 .elementor-element.elementor-element-af38855{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-661 .elementor-element.elementor-element-3a45bc3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-661 .elementor-element.elementor-element-778b642{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-661 .elementor-element.elementor-element-03b8dd7{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-661 .elementor-element.elementor-element-6141e3c{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}@media(max-width:767px){.elementor-661 .elementor-element.elementor-element-6141e3c{--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}}@media(min-width:768px){.elementor-661 .elementor-element.elementor-element-491acd3{--width:50%;}.elementor-661 .elementor-element.elementor-element-af38855{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-661 .elementor-element.elementor-element-491acd3{--width:100%;}.elementor-661 .elementor-element.elementor-element-af38855{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-ffbeec8 *//* =========================================================
   ALPINE GREEN — SHOPPING BAG HERO
   ========================================================= */

.ag-cart-hero {
  width: 100%;
  background: #fff;
  color: #0F281C;
}

.ag-cart-hero__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 90px 6vw 105px;
  text-align: center;
}


/* EYEBROW */

.ag-cart-hero__eyebrow {
  margin: 0 0 26px;
  padding: 0;

  font-family: "Montserrat", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;

  letter-spacing: .28em;
  text-transform: uppercase;

  color: #827B61;
}


/* H1 */

.ag-cart-hero__title {
  margin: 0;

  font-family: "Montserrat", sans-serif;
  font-size: clamp(42px, 4vw, 62px);
  font-weight: 300;
  line-height: 1.05;

  letter-spacing: -.045em;

  color: #0F281C;
}


/* INTRO */

.ag-cart-hero__intro {
  max-width: 520px;
  margin: 28px auto 0;

  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;

  color: #827B61;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  .ag-cart-hero__inner {
    padding: 72px 40px 82px;
  }

  .ag-cart-hero__title {
    font-size: 48px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .ag-cart-hero__inner {
    padding: 58px 24px 68px;
  }

  .ag-cart-hero__eyebrow {
    margin-bottom: 20px;
    font-size: 9px;
    letter-spacing: .22em;
  }

  .ag-cart-hero__title {
    font-size: 38px;
    line-height: 1.08;
  }

  .ag-cart-hero__intro {
    max-width: 320px;
    margin-top: 22px;
    font-size: 12px;
    line-height: 1.7;
  }

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8ad6afb *//* =========================================================
   ALPINE GREEN — SHOPPING BAG
   ========================================================= */


/* ---------------------------------------------------------
   SECTION HEADINGS
   --------------------------------------------------------- */

.ag-cart-section-heading {
    padding-bottom: 18px;
    margin-bottom: 32px;

    border-bottom: 1px solid #D8D2C7;
}

.ag-cart-section-heading span {
    display: block;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;

    letter-spacing: .24em;
    text-transform: uppercase;

    color: #827B61;
}


/* =========================================================
   PRODUCT
   ========================================================= */

.ag-cart-items {
    width: 100%;
}

.ag-cart-item {
    display: grid;

    grid-template-columns:
        minmax(180px, 240px)
        minmax(0, 1fr)
        auto;

    gap: 38px;

    align-items: start;

    padding-bottom: 38px;
    margin-bottom: 38px;

    border-bottom: 1px solid #D8D2C7;
}


/* ---------------------------------------------------------
   PRODUCT IMAGE
   --------------------------------------------------------- */

.ag-cart-image {
    display: flex;

    width: 100%;
    aspect-ratio: 1 / 1;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: #F7F5F1;

    text-decoration: none !important;
}

.ag-cart-image img,
.ag-cart-product-image {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain;

    padding: 24px;
}


/* ---------------------------------------------------------
   PRODUCT INFORMATION
   --------------------------------------------------------- */

.ag-cart-info {
    min-width: 0;

    padding-top: 3px;
}

.ag-cart-title-product {
    display: block;

    max-width: 480px;

    margin: 0 0 22px;

    font-family: "Montserrat", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;

    letter-spacing: -.025em;

    color: #0F281C !important;

    text-decoration: none !important;
}

.ag-cart-title-product:hover {
    color: #827B61 !important;
}


/* Gemstone / Metal */

.ag-cart-meta {
    margin-bottom: 18px;

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;

    color: #827B61;
}

.ag-cart-meta-separator {
    opacity: .55;
}


/* Code / size / quantity */

.ag-cart-code,
.ag-cart-size,
.ag-cart-quantity {
    margin: 0 0 5px;

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.55;

    color: #0F281C;
}

.ag-cart-code > span,
.ag-cart-size > span,
.ag-cart-quantity > span {
    margin-right: 7px;

    color: #827B61;
}


/* ---------------------------------------------------------
   PRICE
   --------------------------------------------------------- */

.ag-cart-price {
    font-family: "Montserrat", sans-serif;

    color: #0F281C;
}

.ag-cart-price-desktop {
    display: flex;

    align-items: baseline;
    justify-content: flex-end;

    gap: 5px;

    min-width: 120px;

    padding-top: 5px;

    text-align: right;

    white-space: nowrap;
}

.ag-cart-price-mobile {
    display: none;
}

.ag-cart-price .woocommerce-Price-amount,
.ag-cart-price .woocommerce-Price-amount bdi {
    font-family: "Montserrat", sans-serif !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    color: #0F281C !important;

    white-space: nowrap !important;
}

.ag-cart-price .woocommerce-Price-currencySymbol {
    font-size: .92em;
}

.ag-cart-price-quantity {
    font-size: 11px;

    color: #827B61;
}


/* ---------------------------------------------------------
   REMOVE
   --------------------------------------------------------- */

.ag-cart-remove {
    display: inline-block;

    width: auto;
    height: auto;

    margin-top: 30px;
    padding: 0 0 3px !important;

    border: 0 !important;
    border-bottom: 1px solid #827B61 !important;

    background: transparent !important;

    font-family: "Montserrat", sans-serif;
    font-size: 9px !important;
    font-weight: 400;
    line-height: 1.4;

    letter-spacing: .18em;
    text-transform: uppercase;

    color: #827B61 !important;

    text-decoration: none !important;

    transition:
        color .25s ease,
        border-color .25s ease;
}

.ag-cart-remove::before,
.ag-cart-remove::after {
    display: none !important;
    content: none !important;
}

.ag-cart-remove:hover {
    color: #0F281C !important;

    border-color: #0F281C !important;
}


/* =========================================================
   ORDER SUMMARY
   ========================================================= */

.ag-cart-summary {
    width: 100%;
}

.ag-cart-totals {
    width: 100%;

    margin: 0;
    padding: 0;

    font-family: "Montserrat", sans-serif;
}


/* ---------------------------------------------------------
   TOTAL ROWS
   --------------------------------------------------------- */

.ag-total-row {
    display: grid;

    grid-template-columns: 1fr auto;

    gap: 30px;

    align-items: baseline;

    margin-bottom: 20px;
}

.ag-total-row > span {
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;

    letter-spacing: .10em;
    text-transform: uppercase;

    color: #827B61;
}

.ag-total-row strong {
    max-width: 180px;

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;

    color: #0F281C;

    text-align: right;
}

.ag-total-row strong .woocommerce-Price-amount,
.ag-total-row strong bdi {
    font-family: "Montserrat", sans-serif !important;

    color: #0F281C !important;
}

.ag-total-note {
    font-size: 10px !important;
    font-weight: 400 !important;

    color: #827B61 !important;
}


/* ---------------------------------------------------------
   GRAND TOTAL
   --------------------------------------------------------- */

.ag-grand-total {
    margin-top: 30px;
    margin-bottom: 0;

    padding-top: 24px;

    border-top: 1px solid #D8D2C7;
}

.ag-grand-total > span {
    color: #0F281C;

    font-weight: 600;
}

.ag-grand-total strong,
.ag-grand-total strong .woocommerce-Price-amount,
.ag-grand-total strong bdi {
    font-size: 14px !important;
    font-weight: 500 !important;

    color: #0F281C !important;
}


/* =========================================================
   CHECKOUT
   ========================================================= */

.ag-checkout-btn {
    display: flex;

    width: 100%;
    min-height: 58px;

    margin-top: 38px;

    align-items: center;
    justify-content: center;

    padding: 0 24px;

    border: 1px solid #0F281C;

    background: #0F281C;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 400;

    letter-spacing: .18em;
    text-transform: uppercase;

    color: #FFFFFF !important;

    text-align: center;
    text-decoration: none !important;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}

.ag-checkout-btn:hover {
    background: transparent;

    color: #0F281C !important;
}


/* =========================================================
   CLIENT SERVICES
   ========================================================= */

.ag-cart-help {
    margin-top: 42px;
    padding-top: 28px;

    border-top: 1px solid #D8D2C7;

    font-family: "Montserrat", sans-serif;

    color: #0F281C;
}

.ag-cart-help-title {
    display: block;

    margin-bottom: 15px;

    font-size: 9px;
    font-weight: 500;
    line-height: 1.4;

    letter-spacing: .20em;
    text-transform: uppercase;

    color: #827B61;
}

.ag-cart-help p {
    max-width: 390px;

    margin: 0 0 14px;

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.65;

    color: #0F281C;
}

.ag-cart-help a {
    display: inline-block;

    padding-bottom: 2px;

    border-bottom: 1px solid #0F281C;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 400;

    letter-spacing: .08em;

    color: #0F281C !important;

    text-decoration: none !important;
}


/* =========================================================
   EMPTY SHOPPING BAG
   ========================================================= */

.ag-cart-empty {
    width: 100%;
    max-width: none;

    margin: 0 !important;
    padding: 100px 40px 110px !important;

    background: #F7F5F1 !important;
    border: 0 !important;

    text-align: center !important;
}

.ag-cart-empty-eyebrow {
    display: block;

    margin-bottom: 28px;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;

    letter-spacing: .28em;
    text-transform: uppercase;

    color: #827B61;
}

.ag-cart-empty h2 {
    margin: 0 0 22px;

    font-family: "Montserrat", sans-serif;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 300;
    line-height: 1.15;

    letter-spacing: -.04em;

    color: #0F281C;
}

.ag-cart-empty p {
    max-width: 520px;

    margin: 0 auto 38px;

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;

    color: #0F281C;
}

.ag-cart-empty-button {
    display: inline-flex;

    min-width: 230px;
    min-height: 56px;

    align-items: center;
    justify-content: center;

    padding: 0 28px;

    border: 1px solid #0F281C;

    background: #0F281C;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 400;

    letter-spacing: .18em;
    text-transform: uppercase;

    color: #FFFFFF !important;

    text-decoration: none !important;

    transition:
        background .3s ease,
        color .3s ease;
}

.ag-cart-empty-button:hover {
    background: transparent;

    color: #0F281C !important;
}


/* Remove old pseudo title if old CSS survives somewhere */

.ag-cart-empty::before,
.ag-cart-empty::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .ag-cart-item {
        grid-template-columns: 190px minmax(0, 1fr) auto;

        gap: 28px;
    }

    .ag-cart-image img,
    .ag-cart-product-image {
        padding: 18px;
    }

    .ag-cart-title-product {
        font-size: 17px !important;
    }

    .ag-cart-empty {
        padding: 80px 35px 90px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .ag-cart-section-heading {
        margin-bottom: 24px;
    }


    /* PRODUCT */

    .ag-cart-item {
        grid-template-columns: 110px minmax(0, 1fr);

        gap: 20px;

        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    .ag-cart-image {
        align-self: start;
    }

    .ag-cart-image img,
    .ag-cart-product-image {
        padding: 10px;
    }

    .ag-cart-title-product {
        margin-bottom: 14px;

        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .ag-cart-meta {
        margin-bottom: 12px;

        font-size: 10px;
    }

    .ag-cart-code,
    .ag-cart-size,
    .ag-cart-quantity {
        font-size: 10px;
    }


    /* PRICE */

    .ag-cart-price-desktop {
        display: none;
    }

    .ag-cart-price-mobile {
        display: flex;

        align-items: baseline;

        gap: 5px;

        margin-top: 16px;
    }


    /* REMOVE */

    .ag-cart-remove {
        margin-top: 18px;

        font-size: 8px !important;
    }


    /* SUMMARY */

    .ag-cart-summary {
        margin-top: 50px;
    }

    .ag-total-row {
        gap: 20px;
    }

    .ag-total-row strong {
        max-width: 150px;
    }

    .ag-checkout-btn {
        min-height: 56px;

        margin-top: 32px;
    }


    /* EMPTY */

    .ag-cart-empty {
        padding: 70px 24px 75px !important;
    }

    .ag-cart-empty-eyebrow {
        margin-bottom: 22px;

        font-size: 9px;

        letter-spacing: .22em;
    }

    .ag-cart-empty h2 {
        font-size: 29px;
    }

    .ag-cart-empty p {
        font-size: 11px;
    }

    .ag-cart-empty-button {
        width: 100%;
        min-width: 0;
    }

}
/* =========================================================
   SHOPPING BAG — DESKTOP FINISHING
   ========================================================= */

@media (min-width: 1025px) {

    /* Product image slightly larger */
    .ag-cart-item {
        grid-template-columns: 270px minmax(0, 1fr) auto;
        gap: 44px;
    }

    .ag-cart-image img,
    .ag-cart-product-image {
        padding: 28px;
    }

    /* Product title slightly more present */
    .ag-cart-title-product {
        font-size: 21px !important;
        line-height: 1.3 !important;
        max-width: 430px;
    }

    /* Give the summary a little more breathing room */
    .ag-cart-summary {
        padding-left: 20px;
    }
}
/* =========================================================
   ALPINE GREEN — CART
   MORE VERTICAL BREATHING ROOM
   ========================================================= */

@media (min-width: 1025px) {

    /* More space below section headings */
    .ag-cart-section-heading,
    .ag-cart-summary-heading {
        margin-bottom: 38px !important;
    }

    /* Product information */
    .ag-cart-title-product {
        margin-bottom: 28px !important;
        line-height: 1.35 !important;
    }

    .ag-cart-meta {
        margin-bottom: 22px !important;
    }

    .ag-cart-code {
        margin-bottom: 0 !important;
    }

    .ag-cart-remove {
        margin-top: 36px !important;
    }


    /* Order summary rows */
    .ag-total-row {
        margin-bottom: 26px !important;
    }

    /* More separation before total */
    .ag-grand-total {
        margin-top: 34px !important;
        padding-top: 30px !important;
        border-top: 1px solid #D8D1C5;
    }

    /* Checkout button */
    .ag-checkout-btn {
        margin-top: 42px !important;
        margin-bottom: 48px !important;
    }

    /* Client Services */
    .ag-cart-help {
        margin-top: 0 !important;
        padding-top: 36px !important;
        border-top: 1px solid #D8D1C5;
    }

    .ag-cart-help small {
        margin-top: 22px !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-778b642 *//* =========================================================
   ALPINE GREEN — CART CLOSING SECTION
   ========================================================= */

.ag-cart-closing {
  width: 100%;
  background: #fff;
  color: #0F281C;
  border-top: 1px solid #E5DED2;
}

.ag-cart-closing__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px 6vw 120px;
  text-align: center;
}


/* EYEBROW */

.ag-cart-closing__eyebrow {
  margin: 0 0 28px;
  padding: 0;

  font-family: "Montserrat", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;

  letter-spacing: .28em;
  text-transform: uppercase;

  color: #827B61;
}


/* TITLE */

.ag-cart-closing__title {
  max-width: 760px;
  margin: 0 auto;

  font-family: "Montserrat", sans-serif;
  font-size: clamp(32px, 3vw, 46px);
  font-weight: 300;
  line-height: 1.15;

  letter-spacing: -.045em;

  color: #0F281C;
}


/* TEXT */

.ag-cart-closing__text {
  max-width: 610px;
  margin: 30px auto 0;

  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;

  color: #5F665F;
}


/* LINKS */

.ag-cart-closing__links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 42px;

  margin-top: 42px;
}

.ag-cart-closing__links a {
  position: relative;

  font-family: "Montserrat", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;

  letter-spacing: .18em;
  text-transform: uppercase;

  color: #0F281C !important;
  text-decoration: none !important;
}

.ag-cart-closing__links a::after {
  content: "";
  position: absolute;

  left: 0;
  bottom: -7px;

  width: 100%;
  height: 1px;

  background: #827B61;

  transform: scaleX(1);
  transform-origin: left center;

  transition: transform .3s ease;
}

.ag-cart-closing__links a:hover::after {
  transform: scaleX(.35);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  .ag-cart-closing__inner {
    padding: 90px 40px 100px;
  }

  .ag-cart-closing__title {
    font-size: 38px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .ag-cart-closing__inner {
    padding: 76px 24px 84px;
  }

  .ag-cart-closing__eyebrow {
    margin-bottom: 22px;
    font-size: 9px;
    letter-spacing: .22em;
  }

  .ag-cart-closing__title {
    max-width: 330px;
    font-size: 31px;
    line-height: 1.18;
  }

  .ag-cart-closing__text {
    max-width: 330px;
    margin-top: 24px;
    font-size: 12px;
    line-height: 1.75;
  }

  .ag-cart-closing__links {
    flex-direction: column;
    gap: 28px;
    margin-top: 36px;
  }

}/* End custom CSS */