/* Terra kits — front (kit page, grid, cart, modal).
 * Palette = Terra theme (teal / navy / gold / sand), also used for Terra blocks on doTERRA pages. */
:root {
	--terra-green: #267674;      /* teal */
	--terra-green-dark: #153342; /* navy */
	--terra-green-soft: #f2f6f5; /* mist */
	--terra-green-line: #d3ded9;
	--terra-gold: #cbb162;
	--terra-sand: #ede5d6;
	--terra-coral: #e47f55;
	--terra-terracotta: #b0663e;
	--terra-ink: #153342;
	--terra-muted: #5d7380;
	--terra-radius: 20px;
}

/* ---------- price ---------- */
.terra-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .25em .6em; }
.terra-price__retail { font-weight: 700; }
.terra-price__member { color: var(--terra-green-dark); font-size: .85em; }
.terra-pill { display: inline-block; padding: .15em .6em; border-radius: 999px; background: var(--terra-sand); color: var(--terra-green-dark); font-size: .78em; font-weight: 700; line-height: 1.5; white-space: nowrap; }

/* ---------- badges / chips ---------- */
.terra-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 .8em; }
.terra-badge { display: inline-block; padding: .3em .85em; border-radius: 999px; background: var(--terra-green); color: #fff; font-size: .72em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.terra-badge--oferta { background: var(--terra-coral); }
.terra-badge--limitat { background: var(--terra-terracotta); }
.terra-badge--editie-limitata { background: var(--terra-gold); color: var(--terra-ink); }
.terra-badge--cont-nou { background: var(--terra-green-dark); }
.terra-chip { display: inline-block; padding: .25em .8em; border: 1px solid var(--terra-green-line); border-radius: 999px; background: #fff; color: var(--terra-green-dark); font-size: .8em; }
.terra-chip--btn { cursor: pointer; font: inherit; font-size: .9em; line-height: 1.4; transition: background .15s, color .15s; }
.terra-chip--btn:hover, .terra-chip--btn:focus-visible { background: var(--terra-green-soft); }
.terra-chip--btn.is-active { background: var(--terra-green); border-color: var(--terra-green); color: #fff; }

/* ---------- summary ---------- */
.terra-member-note { margin: .4em 0 1.2em; padding: .9em 1.1em; border-left: 4px solid var(--terra-gold); border-radius: 0 16px 16px 0; background: var(--terra-green-soft); font-size: .95em; }
.terra-buy { margin: 1em 0; }
.terra-buy__direct { display: inline-block; }
.terra-buy__hint { margin: .5em 0 0; color: var(--terra-muted); font-size: .85em; }

/* ---------- kit sections ---------- */
.terra-kit { clear: both; margin: 2.5em 0; }
.terra-kit__title { margin: 0 0 .8em; font-size: 1.5em; line-height: 1.25; }
.terra-kit__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.terra-kit__total { margin: 1em 0 0; color: var(--terra-muted); font-size: .92em; }

.terra-item { display: flex; flex-direction: column; border: 1px solid var(--terra-sand); box-shadow: 0 18px 40px -26px rgba(21, 51, 66, .35); border-radius: var(--terra-radius); background: #fff; overflow: hidden; }
.terra-item__media { display: flex; align-items: center; justify-content: center; height: 200px; padding: 14px; border: 0; background: linear-gradient(135deg, #f2f6f5 0%, #ede5d6 100%); cursor: zoom-in; }
.terra-item__media img, .terra-item__img { width: auto !important; max-width: 100%; height: 100% !important; object-fit: contain; }
.terra-item__body { display: flex; flex: 1; flex-direction: column; gap: .35em; padding: 12px 14px 14px; }
.terra-item__name { margin: 0; font-size: 1.05em; line-height: 1.3; }
.terra-item__qty { color: var(--terra-muted); font-weight: 400; }
.terra-item__meta, .terra-item__price { margin: 0; font-size: .85em; color: var(--terra-muted); }
.terra-item__member { color: var(--terra-green-dark); }
.terra-item__usage { margin: .2em 0 0; font-size: .88em; line-height: 1.45; }
.terra-item__more { align-self: flex-start; margin-top: auto; padding: .45em .9em; border: 1px solid var(--terra-green); border-radius: 999px; background: transparent; color: var(--terra-green-dark); font: inherit; font-size: .85em; cursor: pointer; }
.terra-item__more:hover, .terra-item__more:focus-visible { background: var(--terra-green); color: #fff; }

.terra-kit__usage { margin: 2em 0 0; }
.terra-kit__usage ul { margin-left: 1.2em; }
.terra-kit__disclaimer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 1.5em 0; padding: 18px 22px; border: 1px solid var(--terra-sand); border-left: 4px solid var(--terra-gold); border-radius: var(--terra-radius); background: #fbf7ee; }
.terra-kit__disclaimer p { margin: 0; font-weight: 600; }
.terra-kit__contact { font-weight: 700; white-space: nowrap; }

.terra-kit__ideas { margin: 2em 0 0; }
.terra-kit__ideas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.terra-idea { display: flex; flex-direction: column; border: 1px solid var(--terra-sand); box-shadow: 0 18px 40px -26px rgba(21, 51, 66, .3); border-radius: var(--terra-radius); overflow: hidden; color: inherit; text-decoration: none; background: #fff; }
.terra-idea:hover .terra-idea__title { color: var(--terra-green-dark); }
.terra-idea__img { width: 100%; height: 130px !important; object-fit: cover; }
.terra-idea__title { padding: 10px 12px 4px; font-weight: 600; line-height: 1.3; }
.terra-idea__more { padding: 0 12px 12px; color: var(--terra-green); font-size: .85em; }

/* ---------- [terra_kits] ---------- */
.terra-kits__intro { margin: 0 0 1em; color: var(--terra-muted); }
.terra-kits__filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.5em; }
.terra-kits__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.terra-kit-card { display: flex; flex-direction: column; border: 1px solid var(--terra-sand); border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 22px 48px -30px rgba(21, 51, 66, .4); transition: transform .25s, box-shadow .25s; }
.terra-kit-card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(21, 51, 66, .5); }
.terra-kit-card[hidden] { display: none; }
.terra-kit-card__media { display: block; background: linear-gradient(135deg, #f2f6f5 0%, #ede5d6 100%); }
.terra-kit-card__media img { display: block; width: 100%; height: 240px !important; object-fit: cover; }
.terra-kit-card__body { display: flex; flex: 1; flex-direction: column; gap: .6em; padding: 18px 20px 22px; }
.terra-kit-card__body .terra-badges { margin: 0; }
.terra-kit-card__title { margin: 0; font-size: 1.35em; line-height: 1.25; font-weight: 500; }
.terra-kit-card__title a { color: inherit; text-decoration: none; }
.terra-kit-card__oils { margin: 0; color: var(--terra-muted); font-size: .85em; line-height: 1.45; }
.terra-kit-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: .5em; }

/* ---------- doTERRA page: kits block ---------- */
.terra-in-kits { margin: 2em 0; padding: 22px 26px; border: 0; border-radius: var(--terra-radius); background: linear-gradient(105deg, #45979b 0%, #2f6f71 45%, #c2876a 100%); color: #fff; }
.terra-in-kits .terra-in-kits__title { color: #fff !important; }
.terra-in-kits a { color: #fff !important; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); }
.terra-in-kits .terra-pill { background: var(--terra-gold); color: var(--terra-ink); }
.terra-in-kits__title { margin: 0 0 .5em; }
.terra-in-kits__list { margin: 0; padding: 0; list-style: none; }
.terra-in-kits__list li { margin: .35em 0; }

/* ---------- cart ---------- */
.terra-cart-progress { clear: both; margin: 1.5em 0; padding: 22px 24px; border: 1px solid var(--terra-sand); border-radius: var(--terra-radius); background: linear-gradient(120deg, #f2f6f5 0%, #fbf3ea 100%); }
.terra-cart-progress__bar { height: 10px; border-radius: 999px; background: #fff; overflow: hidden; }
.terra-cart-progress__bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--terra-green) 0%, var(--terra-gold) 100%); transition: width .3s; }
.terra-cart-progress__msg { margin: .8em 0 0; }
.terra-cart-progress__msg--ok { color: var(--terra-green-dark); }
.terra-cart-progress__gift, .terra-cart-progress__note { margin: .5em 0 0; font-size: .92em; }
.terra-cart-reco { margin-top: 1em; }
.terra-cart-reco__title { margin: 0 0 .4em; font-weight: 600; }
.terra-cart-reco ul { margin: 0; padding: 0; list-style: none; }
.terra-cart-reco li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: .4em 0; }
.terra-cart-reco__add { margin-left: auto !important; }
.terra-gift-free { color: var(--terra-green-dark); }
.terra-direct-buy { display: block !important; width: 100%; margin-bottom: .4em !important; text-align: center; }
.terra-direct-buy__or { margin: 0 0 .6em; color: var(--terra-muted); font-size: .85em; text-align: center; }
.terra-checkout-summary { margin: 0 0 1em; padding: 12px 14px; border-radius: var(--terra-radius); background: var(--terra-green-soft); }
.terra-checkout-summary p { margin: 0; }
.terra-checkout-summary__note { margin-top: .3em !important; color: var(--terra-muted); font-size: .88em; }
.terra-thankyou { display: block; padding: 22px 26px; border-radius: var(--terra-radius); background: linear-gradient(105deg, #45979b 0%, #2f6f71 45%, #c2876a 100%); color: #fff; font-size: 1.15em; font-weight: 500; }

/* ---------- modal ---------- */
html.terra-modal-open { overflow: hidden; }
.terra-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.terra-modal[hidden] { display: none; }
.terra-modal__backdrop { position: absolute; inset: 0; background: rgba(21, 51, 66, .6); backdrop-filter: blur(3px); }
.terra-modal__dialog { position: relative; width: min(980px, 100%); height: min(88vh, 100%); border-radius: 24px; background: #fff; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); overflow: hidden; }
.terra-modal__frame { display: block; width: 100%; height: 100%; border: 0; }
.terra-modal__close { position: absolute; top: 10px; right: 12px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); color: var(--terra-ink); font-size: 26px; line-height: 40px; cursor: pointer; }
.terra-modal__close:hover, .terra-modal__close:focus-visible { background: var(--terra-gold); color: var(--terra-ink); }
.terra-modal__loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; color: var(--terra-muted); background: #fff; }
.terra-modal.is-loading .terra-modal__loading { display: flex; }

/* inside the iframe */
.terra-modal-body { background: #fff; }
.terra-modal-body #main { padding: 24px 20px 40px !important; }
.terra-modal-body .terra-modal-title { margin: 0 48px .6em 0; }
.terra-modal-body #toTop, .terra-modal-body .fusion-sliding-bar-wrapper, .terra-modal-body .awb-off-canvas-wrap, .terra-modal-body .sgpb-popup-overlay, .terra-modal-body [id^="sgpb-popup-dialog"] { display: none !important; }

@media (max-width: 600px) {
	.terra-modal { padding: 0; }
	.terra-modal__dialog { width: 100%; height: 100%; border-radius: 0; }
	.terra-kit__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.terra-item__media { height: 150px; }
	.terra-kits__grid { grid-template-columns: 1fr; }
}

/* item "Detalii" + chips in Terra palette */
.terra-item__more { border-color: var(--terra-green); color: var(--terra-green); }
.terra-item__more:hover, .terra-item__more:focus-visible { background: var(--terra-green-dark); border-color: var(--terra-green-dark); color: var(--terra-gold); }
.terra-chip--btn.is-active { background: var(--terra-green-dark); border-color: var(--terra-green-dark); color: #fff; }
.terra-kit__title em, .terra-kits__heading em { font-family: "PT Serif", Georgia, serif; font-style: italic; font-weight: 400; }
