/* ==========================================================================
   TattooClub — Mon compte → Parrainage
   Layout = Elementor template (native containers/widgets). This file styles
   the dynamic shortcode parts (link, share, stats, history, FAQ, sheet) and
   the few responsive details Elementor can't express.
   ========================================================================== */
.tc-ref-page, #tc-ref-sheet, .tc-ref-guest {
	--r-ink: #111111; --r-lime: #B7E41C; --r-lime-soft: #F1F8D9; --r-lime-txt: #4F7A00; --r-ivory: #F9F5EF;
	--r-muted: #68645E; --r-line: #E8E4DC; --r-red: #B42318; --r-red-soft: #FDECEA; --r-amber: #8A5A00; --r-amber-soft: #FFF4DB;
	--r-head: 'Archivo Black', 'Arial Black', sans-serif; --r-font: 'Space Grotesk', 'Space Grotesk', system-ui, sans-serif;
}
.tc-ref-page { font-family: var(--r-font); color: var(--r-ink); min-width: 0; }
.tc-ref-page *, #tc-ref-sheet *, #tc-ref-sheet { box-sizing: border-box; }
.tc-ref-ico { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tc-ref-page .elementor-widget-shortcode, .tc-ref-page .elementor-shortcode { width: 100%; }
.tc-ref-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.tc-ref-page .elementor-heading-title { margin: 0; }

/* Hero ------------------------------------------------------------------ */
.tc-ref-hero { overflow: hidden; position: relative; }
.tc-ref-hero .tc-ref-hl { color: var(--r-lime); }
.tc-ref-hero .tc-ref-lead strong { color: #fff; font-weight: 700; }
.tc-ref-hero .tc-ref-cta .elementor-button { min-height: 52px; box-shadow: 0 0 0 0 rgba(183, 228, 28, .5); transition: background .2s, transform .15s, box-shadow .2s; }
.tc-ref-hero .tc-ref-cta .elementor-button:hover { box-shadow: 0 8px 24px -8px rgba(183, 228, 28, .55); }
.tc-ref-hero .tc-ref-cta .elementor-button:focus-visible { outline: 2px solid var(--r-lime); outline-offset: 3px; }
.tc-ref-hero__img img { display: block; width: 100%; }
.tc-ref-hero__img .elementor-widget-container { height: 100%; }

/* Benefits -------------------------------------------------------------- */
.tc-ref-ben .elementor-icon { display: inline-flex; }
.tc-ref-ben strong { color: var(--r-ink); }
.tc-ref-ben.is-accent strong { color: var(--r-lime-txt); }

/* Shared buttons ---------------------------------------------------------- */
.tc-ref-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px;
	border: 1.5px solid var(--r-ink); border-radius: 999px; background: var(--r-ink); color: #fff !important;
	font: 700 13px/1 var(--r-font); letter-spacing: 0; text-transform: none; cursor: pointer; white-space: nowrap;
	text-decoration: none !important; transition: background .2s, color .2s, border-color .2s, transform .15s;
}
.tc-ref-btn:hover { background: #2a2a2a; }
.tc-ref-btn:active { transform: translateY(1px); }
.tc-ref-btn:focus-visible, .tc-ref-share__btn:focus-visible, .tc-ref-opt:focus-visible, .tc-ref-code:focus-visible, .tc-ref-faq__btn:focus-visible, .tc-ref-histlink:focus-visible, .tc-ref-sheet__x:focus-visible { outline: 2px solid var(--r-ink); outline-offset: 3px; }
.tc-ref-btn .tc-ref-ico { width: 18px; height: 18px; }
.tc-ref-btn--ghost { background: transparent; color: var(--r-ink) !important; }
.tc-ref-btn--ghost:hover { background: var(--r-ink); color: #fff !important; }
.tc-ref-btn--sm { min-height: 38px; padding: 0 16px; font-size: 12px; }
.tc-ref-btn--block { width: 100%; }
.tc-ref-btn.is-copied, .tc-ref-copy.is-copied { background: var(--r-lime); border-color: var(--r-lime); color: var(--r-ink) !important; }

/* Link card --------------------------------------------------------------- */
.tc-ref-link__label { display: block; margin: 0 0 8px; font: 700 12px/1.2 var(--r-font); letter-spacing: .12em; text-transform: uppercase; color: var(--r-muted); }
.tc-ref-link__row { display: flex; gap: 8px; padding: 6px; border: 1.5px solid var(--r-ink); border-radius: 999px; background: var(--r-ivory); }
.tc-ref-link__input {
	flex: 1 1 auto; min-width: 0; height: 46px !important; margin: 0 !important; padding: 0 8px 0 16px !important; border: 0 !important; background: transparent !important;
	box-shadow: none !important; font: 600 15px/1 var(--r-font) !important; color: var(--r-ink) !important; text-overflow: ellipsis; outline: none;
}
.tc-ref-link__row:focus-within { box-shadow: 0 0 0 3px rgba(183, 228, 28, .6); }
.tc-ref-copy { flex: 0 0 auto; min-height: 46px; background: var(--r-lime); border-color: var(--r-lime); color: var(--r-ink) !important; }
.tc-ref-copy:hover { background: var(--r-ink); border-color: var(--r-ink); color: #fff !important; }
.tc-ref-copy.is-copied { background: var(--r-ink); border-color: var(--r-ink); color: var(--r-lime) !important; }
.tc-ref-link__hint { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--r-muted); }
.tc-ref-code {
	display: inline-flex; align-items: center; margin: 0 2px; padding: 3px 10px; border: 1.5px dashed var(--r-ink); border-radius: 8px; background: var(--r-lime-soft);
	font: 700 14px/1.3 var(--r-font); letter-spacing: .08em; color: var(--r-ink); cursor: pointer; vertical-align: baseline;
}
.tc-ref-code:hover { background: var(--r-lime); }
.tc-ref-code.is-copied { background: var(--r-lime); border-style: solid; }

/* Share row --------------------------------------------------------------- */
.tc-ref-share { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.tc-ref-share__btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 92px; padding: 12px 6px;
	border: 1px solid var(--r-line); border-radius: 16px; background: #fff; color: var(--r-ink); cursor: pointer;
	font: 600 13px/1.2 var(--r-font); text-align: center; transition: border-color .2s, background .2s, transform .15s;
}
.tc-ref-share__btn:hover { border-color: var(--r-ink); transform: translateY(-1px); }
.tc-ref-share__ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--r-ivory); color: var(--r-ink); flex: 0 0 auto; }
.tc-ref-share__btn--whatsapp .tc-ref-share__ico, .tc-ref-opt--whatsapp .tc-ref-share__ico { background: var(--r-lime); }
.tc-ref-share__btn.is-copied { border-color: var(--r-lime); background: var(--r-lime-soft); }
.tc-ref-share__btn.is-copied .tc-ref-share__ico { background: var(--r-lime); }

/* Stats ------------------------------------------------------------------- */
.tc-ref-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tc-ref-stat {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; padding: 18px; border: 1px solid var(--r-line); border-radius: 16px; background: var(--r-ivory);
}
.tc-ref-stat__ico { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-bottom: 6px; border-radius: 50%; background: #fff; color: var(--r-muted); }
.tc-ref-stat__n { font: 400 32px/1 var(--r-head); color: var(--r-ink); }
.tc-ref-stat__l { font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--r-ink); }
.tc-ref-stat__s { font-size: 13px; line-height: 1.3; color: var(--r-muted); }
.tc-ref-stat.is-active { background: var(--r-ink); border-color: var(--r-ink); }
.tc-ref-stat.is-active .tc-ref-stat__ico { background: var(--r-lime); color: var(--r-ink); }
.tc-ref-stat.is-active .tc-ref-stat__n { color: var(--r-lime); }
.tc-ref-stat.is-active .tc-ref-stat__l { color: #fff; }
.tc-ref-stat.is-active .tc-ref-stat__s { color: rgba(249, 245, 239, .72); }
.tc-ref-histlink { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-weight: 700; font-size: 14px; color: var(--r-ink) !important; border-bottom: 2px solid var(--r-lime); padding-bottom: 2px; }
.tc-ref-histlink .tc-ref-ico { width: 16px; height: 16px; }
.tc-ref-earned { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 14px 16px; border-radius: 14px; background: var(--r-lime); color: var(--r-ink); }
.tc-ref-earned p { flex: 1 1 auto; margin: 0; font-size: 14px; line-height: 1.45; }
.tc-ref-earned strong { display: block; font-family: var(--r-head); font-weight: 400; font-size: 15px; }
.tc-ref-earned a { flex: 0 0 auto; font-weight: 700; color: var(--r-ink) !important; text-decoration: underline !important; }

/* History + rewards ------------------------------------------------------- */
.tc-ref-history { margin-top: 22px; scroll-margin-top: 120px; }
.tc-ref-h3 { margin: 0 0 12px !important; font: 400 16px/1.2 var(--r-head) !important; color: var(--r-ink); text-transform: none; letter-spacing: 0; }
.tc-ref-rewards + .tc-ref-h3 { margin-top: 22px !important; }
.tc-ref-list, .tc-ref-rewards { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.tc-ref-item, .tc-ref-reward { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border: 1px solid var(--r-line); border-radius: 14px; background: #fff; }
.tc-ref-item__av { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 auto; border-radius: 50%; background: var(--r-ivory); font: 400 15px/1 var(--r-head); color: var(--r-ink); }
.tc-ref-item.is-validated .tc-ref-item__av, .tc-ref-item.is-capped .tc-ref-item__av { background: var(--r-lime); }
.tc-ref-item__b, .tc-ref-reward__b { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.tc-ref-item__n { font-weight: 700; font-size: 15px; color: var(--r-ink); }
.tc-ref-item__d, .tc-ref-reward__m { font-size: 13px; line-height: 1.35; color: var(--r-muted); }
.tc-ref-badge { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; font: 700 11px/1 var(--r-font); letter-spacing: .06em; text-transform: uppercase; }
.tc-ref-badge.is-pending { background: var(--r-amber-soft); color: var(--r-amber); }
.tc-ref-badge.is-validated, .tc-ref-badge.is-capped { background: var(--r-lime); color: var(--r-ink); }
.tc-ref-badge.is-cancelled { background: var(--r-red-soft); color: var(--r-red); }
.tc-ref-reward__v { flex: 0 0 auto; min-width: 64px; padding: 10px 8px; border-radius: 10px; background: var(--r-ivory); font: 400 16px/1 var(--r-head); text-align: center; color: var(--r-ink); }
.tc-ref-reward.is-available { border-color: var(--r-lime); background: var(--r-lime-soft); }
.tc-ref-reward.is-available .tc-ref-reward__v { background: var(--r-lime); }
.tc-ref-reward__c { font-weight: 700; font-size: 14px; letter-spacing: .06em; color: var(--r-ink); overflow-wrap: anywhere; }
.tc-ref-reward.is-used, .tc-ref-reward.is-expired, .tc-ref-reward.is-cancelled { opacity: .7; }
.tc-ref-reward.is-used .tc-ref-reward__c, .tc-ref-reward.is-expired .tc-ref-reward__c { text-decoration: line-through; }

/* States ------------------------------------------------------------------ */
.tc-ref-state { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1.5px dashed var(--r-line); border-radius: 16px; background: var(--r-ivory); }
.tc-ref-state > .tc-ref-ico { width: 28px; height: 28px; color: var(--r-lime-txt); margin-top: 2px; }
.tc-ref-state__t { margin: 0 0 4px !important; font: 400 16px/1.25 var(--r-head); color: var(--r-ink); }
.tc-ref-state__d { margin: 0 0 12px !important; font-size: 14px; line-height: 1.55; color: var(--r-muted); }
.tc-ref-state--error { border: 1px solid #F5C2BC; background: var(--r-red-soft); }
.tc-ref-state--error > .tc-ref-ico { color: var(--r-red); }
.tc-ref-guest { display: flex; gap: 12px; align-items: flex-start; max-width: 520px; margin: 0 auto 20px; padding: 14px 16px; border-radius: 14px; background: var(--r-lime-soft); border: 1px solid var(--r-lime); color: var(--r-ink); font-family: var(--r-font); }
.tc-ref-guest .tc-ref-ico { color: var(--r-lime-txt); margin-top: 2px; }
.tc-ref-guest p { margin: 0; font-size: 14px; line-height: 1.5; }

/* FAQ --------------------------------------------------------------------- */
.tc-ref-faq__item { border-bottom: 1px solid var(--r-line); }
.tc-ref-faq__item:first-child { border-top: 1px solid var(--r-line); }
.tc-ref-faq__h { margin: 0 !important; font: inherit !important; }
.tc-ref-faq__btn {
	display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 56px; padding: 14px 2px; border: 0; background: none;
	font: 700 15px/1.4 var(--r-font); color: var(--r-ink); text-align: left; cursor: pointer; text-transform: none; letter-spacing: 0;
}
.tc-ref-faq__btn:hover { color: var(--r-ink); background: none; }
.tc-ref-faq__btn .tc-ref-ico { display: inline-block; width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--r-ivory); transition: transform .2s, background .2s; }
.tc-ref-faq__btn[aria-expanded="true"] .tc-ref-ico { transform: rotate(180deg); background: var(--r-lime); }
.tc-ref-faq__a { padding: 0 44px 16px 2px; font-size: 14px; line-height: 1.65; color: var(--r-muted); }
.tc-ref-faq__a p { margin: 0 0 8px; }
.tc-ref-faq__a a { color: var(--r-ink) !important; text-decoration: underline !important; text-decoration-color: var(--r-lime) !important; text-decoration-thickness: 2px !important; }
.tc-ref-faq__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-weight: 700; font-size: 14px; color: var(--r-ink) !important; }
.tc-ref-faq__more .tc-ref-ico { width: 16px; height: 16px; }

/* Help / community ---------------------------------------------------------- */
.tc-ref-help__txt { min-width: 0; }
.tc-ref-club__btn .elementor-button, .tc-ref-help__btn .elementor-button { white-space: nowrap; }

/* Share sheet --------------------------------------------------------------- */
html.tc-ref-lock, html.tc-ref-lock body { overflow: hidden !important; }
#tc-ref-sheet { position: fixed; inset: 0; z-index: 100050; display: flex; align-items: flex-end; justify-content: center; font-family: var(--r-font); color: var(--r-ink); }
#tc-ref-sheet[hidden] { display: none !important; }
.tc-ref-sheet__scrim { position: absolute; inset: 0; background: rgba(17, 17, 17, .55); opacity: 0; transition: opacity .25s; }
.tc-ref-sheet__panel {
	position: relative; width: 100%; max-width: 520px; max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain;
	padding: 10px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; background: #fff;
	transform: translateY(100%); transition: transform .26s cubic-bezier(.2, .8, .2, 1); outline: none;
}
#tc-ref-sheet.is-open .tc-ref-sheet__scrim { opacity: 1; }
#tc-ref-sheet.is-open .tc-ref-sheet__panel { transform: none; }
.tc-ref-sheet__grip { display: block; width: 44px; height: 5px; margin: 0 auto 12px; border-radius: 99px; background: var(--r-line); }
.tc-ref-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.tc-ref-sheet__t { margin: 0 !important; font: 400 20px/1.2 var(--r-head); }
.tc-ref-sheet__x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--r-ivory); color: var(--r-ink); cursor: pointer; }
.tc-ref-sheet__x:hover { background: var(--r-line); color: var(--r-ink); }
.tc-ref-sheet__opts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-bottom: 18px; }
.tc-ref-opt { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; padding: 4px 0; border: 0; background: none; color: var(--r-ink); font: 600 12px/1.25 var(--r-font); text-align: center; cursor: pointer; text-transform: none; letter-spacing: 0; }
.tc-ref-opt:hover { background: none; color: var(--r-ink); }
.tc-ref-opt .tc-ref-share__ico { width: 52px; height: 52px; transition: transform .15s; }
.tc-ref-opt:hover .tc-ref-share__ico { transform: scale(1.05); }
.tc-ref-opt.is-copied .tc-ref-share__ico { background: var(--r-lime); }
.tc-ref-sheet__msg { padding: 16px; border-radius: 16px; background: var(--r-ivory); }
.tc-ref-sheet__mt { display: flex; align-items: center; gap: 8px; margin: 0 0 10px !important; font: 700 12px/1.2 var(--r-font); letter-spacing: .1em; text-transform: uppercase; color: var(--r-muted); }
.tc-ref-sheet__mt .tc-ref-ico { width: 18px; height: 18px; }
.tc-ref-sheet__preview { margin: 0 0 14px !important; padding: 14px; border: 1px solid var(--r-line); border-radius: 14px 14px 14px 4px; background: #fff; font-size: 14px; line-height: 1.55; color: var(--r-ink); overflow-wrap: anywhere; }
.tc-ref-sheet__live {
	position: absolute; left: 50%; top: 14px; transform: translate(-50%, -8px); margin: 0 !important; padding: 8px 14px; border-radius: 999px; background: var(--r-ink); color: var(--r-lime);
	font: 700 13px/1 var(--r-font); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s;
}
.tc-ref-sheet__live.is-on { opacity: 1; transform: translate(-50%, 0); }
.tc-ref-sheet__live:empty { display: none; }

@media (min-width: 768px) {
	#tc-ref-sheet { align-items: center; padding: 24px; }
	.tc-ref-sheet__panel { border-radius: 24px; padding: 22px 26px 26px; transform: translateY(16px) scale(.98); opacity: 0; transition: transform .22s, opacity .22s; }
	#tc-ref-sheet.is-open .tc-ref-sheet__panel { opacity: 1; }
	.tc-ref-sheet__grip { display: none; }
}

/* Responsive ---------------------------------------------------------------- */
@media (max-width: 1024px) {
	.tc-ref-share { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
	.tc-ref-share__btn { min-height: 84px; font-size: 12px; }
}
@media (max-width: 767px) {
	.tc-ref-hero .tc-ref-cta, .tc-ref-hero .tc-ref-cta .elementor-button { width: 100%; }
	.tc-ref-share { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	.tc-ref-share__btn { min-height: 0; padding: 4px 0; border: 0; background: none; font-size: 11px; gap: 6px; }
	.tc-ref-share__btn:hover { transform: none; }
	.tc-ref-share__btn .tc-ref-share__ico { width: 48px; height: 48px; }
	.tc-ref-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.tc-ref-stat { padding: 14px 10px; align-items: center; text-align: center; }
	.tc-ref-stat__ico { width: 32px; height: 32px; margin-bottom: 4px; }
	.tc-ref-stat__n { font-size: 26px; }
	.tc-ref-stat__l { font-size: 12px; }
	.tc-ref-stat__s { font-size: 11px; }
	.tc-ref-club .elementor-widget-button, .tc-ref-help .elementor-widget-button, .tc-ref-club__btn .elementor-button, .tc-ref-help__btn .elementor-button { width: 100%; }
	.tc-ref-faq__a { padding-right: 2px; }
}
@media (max-width: 430px) {
	.tc-ref-link__row { flex-direction: column; border-radius: 18px; padding: 6px; }
	.tc-ref-link__input { height: 44px !important; padding: 0 10px !important; font-size: 14px !important; text-align: center; }
	.tc-ref-copy { width: 100%; }
	.tc-ref-item { flex-wrap: wrap; }
	.tc-ref-item .tc-ref-badge { margin-left: 52px; }
	.tc-ref-reward { flex-wrap: wrap; }
	.tc-ref-reward .tc-ref-btn { width: 100%; }
}
@media (max-width: 359px) {
	.tc-ref-stats { grid-template-columns: 1fr; }
	.tc-ref-stat { flex-direction: row; flex-wrap: wrap; align-items: center; text-align: left; gap: 4px 10px; }
	.tc-ref-stat__ico { margin: 0; }
	.tc-ref-stat__s { flex-basis: 100%; padding-left: 42px; }
	.tc-ref-share__btn .tc-ref-share__ico, .tc-ref-opt .tc-ref-share__ico { width: 42px; height: 42px; }
	.tc-ref-share__l { font-size: 10px; }
	.tc-ref-sheet__opts { gap: 2px; }
	.tc-ref-opt { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
	.tc-ref-sheet__panel, .tc-ref-sheet__scrim, .tc-ref-sheet__live, .tc-ref-share__btn, .tc-ref-faq__btn .tc-ref-ico { transition: none !important; }
}
/* Help row: the text column takes the remaining space, icon + button keep their size. */
.tc-ref-help .tc-ref-help__txt { --width: auto !important; width: auto !important; flex: 1 1 0% !important; }
.tc-ref-help > .elementor-widget-icon, .tc-ref-help > .tc-ref-help__btn { flex: 0 0 auto; }
@media (max-width: 767px) { .tc-ref-help .tc-ref-help__txt { width: 100% !important; flex: 1 1 auto !important; } .tc-ref-help > .tc-ref-help__btn { width: 100%; } }
/* Container queries: the account content column width varies with the account
   layout (sidebar or not), so the template adapts to its OWN width. */
.tc-ref-page { container-type: inline-size; container-name: tcref; }
@container tcref (max-width: 700px) {
	.tc-ref-hero { flex-direction: column-reverse !important; padding: 0 !important; gap: 0 !important; }
	.tc-ref-hero > .e-con { width: 100% !important; --width: 100% !important; }
	.tc-ref-hero__txt { padding: 22px 20px 26px !important; }
	.tc-ref-hero__img img { height: 200px !important; border-radius: 24px 24px 0 0 !important; }
	.tc-ref-h1 .elementor-heading-title { font-size: 28px !important; }
	.tc-ref-cta, .tc-ref-cta .elementor-button { width: 100%; }
	.tc-ref-bens { flex-direction: column !important; gap: 12px !important; }
	.tc-ref-ben { width: 100% !important; --width: 100% !important; }
	.tc-ref-club, .tc-ref-help { flex-direction: column !important; align-items: flex-start !important; padding: 22px 20px !important; }
	.tc-ref-club > .e-con, .tc-ref-help .tc-ref-help__txt { width: 100% !important; --width: 100% !important; flex: 1 1 auto !important; }
	.tc-ref-club > .elementor-widget-button, .tc-ref-help > .tc-ref-help__btn, .tc-ref-club .elementor-button, .tc-ref-help .elementor-button { width: 100% !important; }
	.tc-ref-card { padding: 20px 18px !important; }
	.tc-ref-share { gap: 6px; }
	.tc-ref-share__btn { min-height: 0; padding: 4px 0; border: 0; background: none; font-size: 11px; gap: 6px; }
	.tc-ref-share__btn:hover { transform: none; }
	.tc-ref-share__btn .tc-ref-share__ico { width: 48px; height: 48px; }
	.tc-ref-stats { gap: 8px; }
	.tc-ref-stat { padding: 14px 8px; align-items: center; text-align: center; }
	.tc-ref-stat__ico { width: 32px; height: 32px; margin-bottom: 4px; }
	.tc-ref-stat__n { font-size: 26px; }
	.tc-ref-stat__l { font-size: 12px; }
	.tc-ref-stat__s { font-size: 11px; }
	.tc-ref-faq__a { padding-right: 2px; }
}
@container tcref (max-width: 440px) {
	.tc-ref-link__row { flex-direction: column; border-radius: 18px; }
	.tc-ref-link__input { height: 44px !important; padding: 0 10px !important; font-size: 14px !important; text-align: center; }
	.tc-ref-copy { width: 100%; }
	.tc-ref-item { flex-wrap: wrap; }
	.tc-ref-item .tc-ref-badge { margin-left: 52px; }
	.tc-ref-reward { flex-wrap: wrap; }
	.tc-ref-reward .tc-ref-btn { width: 100%; }
	.tc-ref-h1 .elementor-heading-title { font-size: 26px !important; }
}
@container tcref (max-width: 330px) {
	.tc-ref-stats { grid-template-columns: 1fr; }
	.tc-ref-stat { flex-direction: row; flex-wrap: wrap; align-items: center; text-align: left; gap: 4px 10px; }
	.tc-ref-stat__ico { margin: 0; }
	.tc-ref-stat__s { flex-basis: 100%; padding-left: 42px; }
	.tc-ref-share__btn .tc-ref-share__ico { width: 40px; height: 40px; }
	.tc-ref-share__l { font-size: 10px; }
	.tc-ref-h1 .elementor-heading-title { font-size: 24px !important; }
}
/* The theme styles every account <p> (`body.woocommerce-account .woocommerce p`):
   give the referral template its own type back. */
body.woocommerce-account .woocommerce .tc-ref-page p, body.woocommerce-account .woocommerce .tc-ref-guest p { font-family: var(--r-font); }
body.woocommerce-account .woocommerce .tc-ref-page .elementor-widget-text-editor p { color: inherit; font-size: inherit; line-height: inherit; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-link__hint, body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-state__d, body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-faq__a p { color: var(--r-muted); }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-earned p, body.woocommerce-account .woocommerce .tc-ref-guest p { color: var(--r-ink); }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-state__t { color: var(--r-ink); font-family: var(--r-head); }
/* Theme account buttons (`body.woocommerce-account .woocommerce button`) set
   colour + typography: restore ours with matching specificity. */
body.woocommerce-account .woocommerce .tc-ref-page button { font-family: var(--r-font); letter-spacing: normal; line-height: 1.2; text-transform: none; box-shadow: none; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-btn { color: #fff; font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: none; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-btn--sm { font-size: 12px; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-btn--ghost, body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-copy, body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-btn.is-copied { color: var(--r-ink); }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-btn--ghost:hover, body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-copy:hover { color: #fff; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-copy.is-copied { color: var(--r-lime); }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-share__btn { color: var(--r-ink); font-size: 13px; font-weight: 600; justify-content: flex-start; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-code { color: var(--r-ink); font-size: 14px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; }
body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-faq__btn { color: var(--r-ink); font-size: 15px; font-weight: 700; line-height: 1.4; }
.tc-ref-share__l { max-width: 100%; overflow-wrap: anywhere; }
@container tcref (max-width: 700px) {
	body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-share__btn { font-size: 11px; }
	/* Compact benefit rows on small widths: icon left, text right. */
	.tc-ref-bens > .tc-ref-ben { display: grid !important; grid-template-columns: 44px 1fr; column-gap: 14px; row-gap: 2px; align-items: start; padding: 16px !important; }
	.tc-ref-ben > .tc-ref-ben__ico { grid-row: span 2; }
	.tc-ref-ben .elementor-icon { padding: 11px !important; font-size: 18px !important; }
	.tc-ref-ben .elementor-heading-title { font-size: 16px !important; }
}
@container tcref (max-width: 330px) {
	body.woocommerce-account .woocommerce .tc-ref-page .tc-ref-share__btn { font-size: 10px; }
}
/* Theme sets type on every p/li (`p:not(.woocommerce-notices-wrapper *)`): pin ours. */
#tc-ref-sheet .tc-ref-sheet__t { font: 400 20px/1.2 var(--r-head); letter-spacing: normal; text-transform: none; }
#tc-ref-sheet .tc-ref-sheet__mt { font: 700 12px/1.2 var(--r-font); letter-spacing: .1em; text-transform: uppercase; }
#tc-ref-sheet .tc-ref-sheet__preview { font: 400 14px/1.55 var(--r-font); letter-spacing: normal; text-transform: none; }
#tc-ref-sheet .tc-ref-sheet__live { font: 700 13px/1 var(--r-font); letter-spacing: normal; text-transform: none; }
.tc-ref-page p.tc-ref-link__hint { font-size: 14px; line-height: 1.6; }
.tc-ref-page p.tc-ref-state__t { font-size: 16px; line-height: 1.25; font-weight: 400; }
.tc-ref-page p.tc-ref-state__d { font-size: 14px; line-height: 1.55; }
.tc-ref-page .tc-ref-earned p, div.tc-ref-guest p { font-size: 14px; line-height: 1.45; }
.tc-ref-page .tc-ref-faq__a p { font-size: 14px; line-height: 1.65; }
/* "Lien copié !" confirmation sits under the sheet title, in the flow. */
#tc-ref-sheet .tc-ref-sheet__panel { display: flex; flex-direction: column; }
#tc-ref-sheet .tc-ref-sheet__grip { order: 0; flex: 0 0 auto; }
#tc-ref-sheet .tc-ref-sheet__head { order: 1; }
#tc-ref-sheet .tc-ref-sheet__live { order: 2; position: static; align-self: center; transform: none; max-height: 0; padding: 0 14px; margin: 0 !important; overflow: hidden; transition: opacity .2s, max-height .2s, margin .2s, padding .2s; }
#tc-ref-sheet .tc-ref-sheet__live.is-on { max-height: 40px; padding: 9px 14px; margin: -4px 0 14px !important; transform: none; }
#tc-ref-sheet .tc-ref-sheet__live:empty { display: block; }
#tc-ref-sheet .tc-ref-sheet__opts { order: 3; flex: 0 0 auto; }
#tc-ref-sheet .tc-ref-sheet__msg { order: 4; flex: 0 0 auto; }

/* charte 2026-10-04: section titles in capitals, like the rest of the site. */
.tc-ref-page .tc-ref-h3 { text-transform: uppercase; }

/* hover states 2026-10-04: the theme's account button hover (navy) was beating ours. */
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-btn:hover, body.woocommerce-account .woocommerce .tc-ref-page a.tc-ref-btn:hover { background: var(--r-lime) !important; border-color: var(--r-lime) !important; color: var(--r-ink) !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-btn--ghost:hover, body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-copy:hover { background: var(--r-ink) !important; border-color: var(--r-ink) !important; color: #fff !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-copy.is-copied { background: var(--r-ink) !important; color: var(--r-lime) !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-code:hover { background: var(--r-lime) !important; color: var(--r-ink) !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-share__btn:hover { background: #fff !important; border-color: var(--r-ink) !important; color: var(--r-ink) !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-share__btn:hover .tc-ref-share__ico { background: var(--r-lime); }
@media (max-width: 767px) { body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-share__btn:hover { background: transparent !important; } }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-faq__btn:hover { background: transparent !important; color: var(--r-ink) !important; }
body.woocommerce-account .woocommerce .tc-ref-page button.tc-ref-faq__btn:hover .tc-ref-ico { background: var(--r-lime); }
.tc-ref-histlink { transition: border-color .15s; }
.tc-ref-histlink:hover { border-bottom-color: var(--r-ink); }
.tc-ref-faq__more { border-bottom: 2px solid transparent; padding-bottom: 2px; transition: border-color .15s; }
.tc-ref-faq__more:hover { border-bottom-color: var(--r-lime); }
.tc-ref-link__row { transition: box-shadow .15s; }
.tc-ref-link__row:hover { box-shadow: 0 0 0 3px rgba(183, 228, 28, .35); }
