/* Taylored Beauty – site styles (Artefact Design)
   Colors follow the Elementor Global Colors when present. */
:root {
	--tb-espresso: var(--e-global-color-tbespresso, #3A2A24);
	--tb-rosebrown: var(--e-global-color-tbrosebrown, #6E4644);
	--tb-rose: var(--e-global-color-tbrose, #9D6360);
	--tb-blush: var(--e-global-color-tbblush, #CE968B);
	--tb-lightblush: var(--e-global-color-tblightblush, #E3B8AE);
	--tb-sand: var(--e-global-color-tbsand, #D8C9BB);
	--tb-cream: var(--e-global-color-tbcream, #F3ECE5);
	--tb-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--tb-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
}
html {
	scroll-behavior: smooth;
	--tb-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--tb-header-h, 0px));
	scroll-padding-top: var(--tb-top);
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 600px) { html { --tb-top: var(--tb-header-h, 0px); } }

/* Header stays on screen while scrolling (Theme Builder header wrapper) */
.elementor-location-header { position: sticky; top: calc(var(--tb-top) - var(--tb-header-h, 0px)); z-index: 100; }
body { background: var(--tb-sand); }

/* Italic accents used inside Elementor headings */
.tb-it { font-style: italic; color: var(--tb-rose); }
.tb-it-light { font-style: italic; color: var(--tb-lightblush); }
.tb-balance .elementor-heading-title { text-wrap: balance; }
.tb-copy p { margin: 0 0 16px; }
.tb-copy p:last-child { margin-bottom: 0; }
.tb-cat-intro { padding-bottom: 28px; max-width: 640px; }

/* ---------- Logo (built from type) ---------- */
.tb-logo-widget .elementor-heading-title a,
.tb-logo-widget .elementor-heading-title a:hover { color: inherit; }
.tb-logo { display: inline-flex; align-items: center; gap: 16px; white-space: nowrap; }
.tb-logo-mark { font-family: var(--tb-serif); font-size: 40px; line-height: 1; color: var(--tb-cream); }
.tb-logo-b { font-style: italic; margin-left: -7px; color: var(--tb-lightblush); }
.tb-logo-rule { width: 1px; height: 40px; background: var(--tb-lightblush); }
.tb-logo-word { font-family: var(--tb-serif); font-size: 16px; letter-spacing: .3em; color: var(--tb-cream); }
.tb-logo--sm .tb-logo-mark { font-size: 32px; }
.tb-logo--sm .tb-logo-b { margin-left: -6px; }
.tb-logo--sm .tb-logo-rule { height: 32px; }
.tb-logo--sm .tb-logo-word { font-size: 14px; }
@media (max-width: 767px) {
	.tb-header .tb-logo-rule, .tb-header .tb-logo-word { display: none; }
	.tb-header .tb-logo-mark { font-size: 34px; }
}

/* ---------- Header ---------- */
.tb-header { position: relative; z-index: 50; }
.tb-header-right { flex-wrap: nowrap !important; }
.tb-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.tb-nav .elementor-menu-toggle { padding: 6px; }
.tb-nav .elementor-nav-menu--dropdown { border-top: 1px solid rgba(227, 184, 174, .27); }
.tb-nav .elementor-nav-menu--main .sub-menu { min-width: 200px !important; border-top: 0; }
.tb-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item { white-space: nowrap; }
.tb-nav .sub-arrow { padding-left: 6px; }
.tb-nav .sub-arrow svg { width: .7em; fill: currentColor; }

/* Elementor buttons: square, no shadow, smooth hover */
.elementor-button { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }

/* ---------- Home: service cards ---------- */
/* "Lash Extensions & Lifts" is the longest title: keep it on one line */
.tb-card:first-child .elementor-widget-heading h3.elementor-heading-title { font-size: 26px !important; white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1199px) {
	.tb-card:first-child .elementor-widget-heading h3.elementor-heading-title { font-size: 2.1vw !important; }
}
@media (max-width: 1024px) {
	.tb-card:first-child .elementor-widget-heading h3.elementor-heading-title { font-size: 30px !important; white-space: normal; }
}
a.tb-card, a.tb-card:hover { color: var(--tb-rosebrown); }
a.tb-card .elementor-widget-image img { transition: opacity .25s ease; }
a.tb-card:hover .elementor-widget-image img { opacity: .9; }
a.tb-card:hover .elementor-heading-title { color: var(--tb-rose) !important; }

/* ---------- Specials ---------- */
.tb-specials-band { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; color: var(--tb-cream); }
.tb-sb-item { border-left: 1px solid var(--tb-lightblush); padding-left: 32px; display: flex; flex-direction: column; gap: 8px; }
.tb-sb-price { font-family: var(--tb-serif); font-size: 52px; line-height: 1; }
.tb-sb-desc { font-family: var(--tb-sans); font-size: 16px; line-height: 1.5; }

.tb-specials-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; color: var(--tb-cream); }
.tb-sc-card { border: 1px solid rgba(227, 184, 174, .4); padding: 40px; display: flex; flex-direction: column; gap: 14px; }
.tb-sc-eyebrow { font-family: var(--tb-sans); font-size: 12px; letter-spacing: .24em; color: var(--tb-lightblush); }
.tb-specials-cards h3.tb-sc-title { font-family: var(--tb-serif); font-weight: 400; font-size: 32px; line-height: 1.15; color: var(--tb-cream); margin: 0; }
.tb-sc-foot { display: flex; justify-content: space-between; align-items: flex-end; margin-top: auto; gap: 16px; padding-top: 12px; }
.tb-sc-price { font-family: var(--tb-serif); font-size: 56px; line-height: 1; }

/* ---------- Buttons rendered by shortcodes ---------- */
.tb-tst button, .tb-faq button, .tb-gal-filters button, .tb-lightbox button { box-shadow: none; text-shadow: none; }
.tb-tst button, .tb-lightbox button { text-transform: none; letter-spacing: 0; font-family: var(--tb-sans); }
.tb-btn { display: inline-block; background: var(--tb-blush); color: var(--tb-espresso); font-family: var(--tb-sans); font-size: 12px; letter-spacing: .2em; padding: 12px 20px; line-height: 1.2; text-decoration: none; transition: background-color .2s ease; }
.tb-btn:hover, .tb-btn:focus { background: var(--tb-lightblush); color: var(--tb-espresso); }
.tb-btn-outline { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; font-family: var(--tb-sans); font-size: 12px; letter-spacing: .2em; border: 1px solid var(--tb-rosebrown); padding: 10px 18px; color: var(--tb-rosebrown); text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.tb-btn-outline:hover, .tb-btn-outline:focus { background: var(--tb-rosebrown); color: var(--tb-cream); }
.tb-underline { align-self: flex-start; font-family: var(--tb-sans); font-size: 13px; letter-spacing: .2em; color: var(--tb-rosebrown); border-bottom: 1px solid currentColor; padding-bottom: 6px; text-decoration: none; }
.tb-underline:hover { color: var(--tb-rose); }

/* ---------- Services menu ---------- */
.e-con.tb-catbar { position: sticky !important; top: var(--tb-top); z-index: 20 !important; }
.tb-catbar > .e-con-inner { overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
.tb-catbar > .e-con-inner::-webkit-scrollbar { display: none; }
.tb-catbar-link { flex-shrink: 0; }
.tb-catbar-link a { display: block; padding: 20px 0; color: var(--tb-rosebrown); }
.tb-catbar-link a:hover { color: var(--tb-rose); }
.tb-cat { scroll-margin-top: 60px; }
@media (max-width: 767px) { .tb-cat { scroll-margin-top: 74px; } }
@media (min-width: 1025px) {
	.e-con.tb-sticky-col { position: sticky !important; top: calc(var(--tb-top) + 100px); align-self: start; }
}
.tb-menu { display: flex; flex-direction: column; }
.tb-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; padding: 28px 0; border-top: 1px solid rgba(110, 70, 68, .2); }
.tb-row-name { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tb-menu h3.tb-row-title, .tb-row-price { font-family: var(--tb-serif); font-weight: 400; font-size: 30px; line-height: 1.1; color: var(--tb-rosebrown); margin: 0; }
.tb-row-price { text-align: right; }
.tb-tag { background: var(--tb-espresso); color: var(--tb-cream); font-family: var(--tb-sans); font-size: 11px; letter-spacing: .18em; padding: 5px 10px; line-height: 1.3; }
.tb-row-desc { font-family: var(--tb-sans); font-size: 15px; line-height: 1.6; color: var(--tb-rosebrown); max-width: 520px; }
.tb-row-desc p { margin: 0; }
.tb-row-meta { display: flex; align-items: center; gap: 20px; justify-content: flex-end; align-self: start; }
.tb-row-time { font-family: var(--tb-sans); font-size: 13px; letter-spacing: .14em; color: var(--tb-rosebrown); white-space: nowrap; }

/* ---------- Visit ---------- */
.tb-visit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.tb-visit-col { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--tb-rosebrown); padding-top: 24px; }
.tb-eyebrow { font-family: var(--tb-sans); font-size: 13px; letter-spacing: .24em; color: var(--tb-rose); }
.tb-visit h3.tb-visit-title { font-family: var(--tb-serif); font-weight: 400; font-size: 40px; line-height: 1.1; color: var(--tb-rosebrown); margin: 0; }
.tb-visit-text, .tb-hours { font-family: var(--tb-sans); font-size: 16px; line-height: 1.7; color: var(--tb-rosebrown); margin: 0; }
.tb-hours { list-style: none; padding: 0; }
.tb-ig-link { font-family: var(--tb-serif); font-style: italic; font-size: 26px; color: var(--tb-rose); text-decoration: none; overflow-wrap: anywhere; }
.tb-ig-link:hover { color: var(--tb-rosebrown); }
.tb-ig-link--lg { font-size: 28px; }

/* ---------- Footer info ---------- */
.tb-footer-info { font-family: var(--tb-sans); font-size: 13px; letter-spacing: .14em; line-height: 1.8; text-align: right; color: var(--tb-cream); text-transform: uppercase; }
.tb-footer-info a { color: var(--tb-cream); text-decoration: none; }
.tb-footer-info a:hover { color: var(--tb-lightblush); }

/* ---------- Testimonials ---------- */
.tb-tst { display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; }
.tb-tst-mark { font-family: var(--tb-serif); font-size: 120px; line-height: .6; height: 48px; color: var(--tb-blush); }
.tb-tst-track { width: 100%; max-width: 900px; min-height: 230px; display: flex; justify-content: center; }
.tb-tst-slide { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.tb-tst-slide[hidden] { display: none; }
.tb-tst-slide.is-active { animation: tbFade .35s ease; }
@keyframes tbFade { from { opacity: 0; } to { opacity: 1; } }
.tb-tst-quote { margin: 0; padding: 0; border: 0; font-family: var(--tb-serif); font-style: italic; font-size: 34px; line-height: 1.35; color: var(--tb-rosebrown); text-wrap: pretty; quotes: none; }
.tb-tst-quote::before, .tb-tst-quote::after { content: none; }
.tb-tst-name { font-style: normal; font-family: var(--tb-sans); font-size: 13px; letter-spacing: .24em; color: var(--tb-rosebrown); }
.tb-tst-controls { display: flex; align-items: center; gap: 24px; }
.tb-tst .tb-tst-arrow { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--tb-rosebrown); background: transparent; color: var(--tb-rosebrown); font-size: 18px; line-height: 1; padding: 0; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.tb-tst .tb-tst-arrow:hover, .tb-tst .tb-tst-arrow:focus-visible { background: var(--tb-rosebrown); color: var(--tb-cream); }
.tb-tst-dots { display: flex; gap: 2px; }
.tb-tst .tb-tst-dot { width: 26px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.tb-tst .tb-tst-dot::after { content: ''; position: absolute; left: 8px; top: 17px; width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--tb-rose); box-sizing: border-box; }
.tb-tst .tb-tst-dot.is-active::after { background: var(--tb-rose); }
.tb-tst .tb-tst-dot:hover, .tb-tst .tb-tst-dot:focus { background: transparent; }

/* ---------- FAQ ---------- */
.tb-faq { display: flex; flex-direction: column; border-bottom: 1px solid rgba(110, 70, 68, .33); }
.tb-faq-item { border-top: 1px solid rgba(110, 70, 68, .33); }
.tb-faq h3.tb-faq-h { margin: 0; font-size: inherit; }
.tb-faq .tb-faq-q { width: 100%; background: none; border: 0; border-radius: 0; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; cursor: pointer; text-align: left; font-family: var(--tb-serif); font-weight: 400; font-size: 28px; line-height: 1.2; color: var(--tb-rosebrown); white-space: normal; text-transform: none; letter-spacing: 0; box-shadow: none; }
.tb-faq .tb-faq-q:hover, .tb-faq .tb-faq-q:focus { background: none; color: var(--tb-rose); }
.tb-faq-sign { font-family: var(--tb-sans); font-size: 24px; color: var(--tb-rose); flex-shrink: 0; }
.tb-faq-sign::before { content: '+'; }
.tb-faq-item.is-open .tb-faq-sign::before { content: '−'; }
.tb-faq-a { padding: 0 0 28px; font-family: var(--tb-sans); font-size: 16px; line-height: 1.7; max-width: 720px; color: var(--tb-rosebrown); }
.tb-faq-a p { margin: 0; }

/* ---------- Gallery ---------- */
.tb-gal-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.tb-gal-filters .tb-gal-filter { font-family: var(--tb-sans); font-weight: 400; text-transform: uppercase; font-size: 13px; letter-spacing: .16em; padding: 12px 20px; min-height: 44px; border: 1px solid var(--tb-rosebrown); border-radius: 0; cursor: pointer; background: transparent; color: var(--tb-rosebrown); line-height: 1.2; transition: background-color .2s ease, color .2s ease; }
.tb-gal-filters .tb-gal-filter:hover, .tb-gal-filters .tb-gal-filter:focus-visible { background: rgba(110, 70, 68, .1); color: var(--tb-rosebrown); }
.tb-gal-filters .tb-gal-filter.is-active { background: var(--tb-rosebrown); color: var(--tb-cream); }
.tb-gal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tb-gal-tile { display: block; height: 400px; overflow: hidden; background: rgba(110, 70, 68, .08); }
.tb-gal-tile[hidden] { display: none; }
.tb-gal-tile img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform .4s ease; }
.tb-gal-tile:hover img { transform: scale(1.03); }
.tb-gal-empty { font-family: var(--tb-serif); font-style: italic; font-size: 24px; color: var(--tb-rose); }
.tb-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(58, 42, 36, .94); display: flex; align-items: center; justify-content: center; padding: 56px; }
.tb-lightbox[hidden] { display: none; }
.tb-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tb-lightbox button { position: absolute; background: transparent; border: 1px solid var(--tb-lightblush); color: var(--tb-cream); width: 48px; height: 48px; border-radius: 50%; font-size: 18px; line-height: 1; padding: 0; cursor: pointer; }
.tb-lightbox button:hover, .tb-lightbox button:focus { background: var(--tb-lightblush); color: var(--tb-espresso); }
.tb-lb-close { top: 20px; right: 20px; }
.tb-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.tb-lb-next { right: 20px; top: 50%; transform: translateY(-50%); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.tb-specials-cards { grid-template-columns: 1fr; gap: 24px; }
	.tb-visit { gap: 32px; }
	.tb-footer-info { text-align: center; }
}
@media (max-width: 767px) {
	.tb-specials-band { grid-template-columns: 1fr; gap: 28px; }
	.tb-sb-price { font-size: 44px; }
	.tb-sc-card { padding: 28px; }
	.tb-sc-price { font-size: 48px; }
	.tb-visit { grid-template-columns: 1fr; gap: 40px; }
	.tb-visit h3.tb-visit-title { font-size: 34px; }
	.tb-tst-quote { font-size: 26px; }
	.tb-tst-track { min-height: 260px; }
	.tb-tst-mark { font-size: 96px; height: 40px; }
	.tb-faq .tb-faq-q { font-size: 23px; padding: 20px 0; }
	.tb-row { grid-template-columns: 1fr auto; padding: 24px 0; }
	.tb-menu h3.tb-row-title, .tb-row-price { font-size: 26px; }
	.tb-row-desc { grid-column: 1 / -1; }
	.tb-row-meta { grid-column: 1 / -1; justify-content: flex-start; }
	.tb-gal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tb-gal-tile { height: 240px; }
	.tb-lightbox { padding: 64px 12px; }
}

/* ---------- Scroll reveal: sections fade up as they come into view ---------- */
.tb-reveal-on .tb-rv { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .65, .3, 1); transition-delay: var(--tb-rv-delay, 0ms); }
.tb-reveal-on .tb-rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.tb-reveal-on .tb-rv { opacity: 1; transform: none; transition: none; }
}

/* ---------- Membership: The Secret Society ---------- */
.tb-mem { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 40px 72px; align-items: start; }
.tb-mem-head { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
@media (min-width: 1025px) { .tb-mem-head { position: sticky; top: calc(var(--tb-top, 0px) + 40px); } }
.tb-mem h2.tb-mem-title { font-family: var(--tb-serif); font-weight: 400; font-size: 52px; line-height: 1; color: var(--tb-rosebrown); margin: 0; }
.tb-mem-title-it { display: block; }
.tb-mem-tagline { font-family: var(--tb-serif); font-style: italic; font-size: 22px; line-height: 1.35; color: var(--tb-rose); margin: 0; }
.tb-mem-price { margin-top: 12px; font-family: var(--tb-serif); color: var(--tb-rosebrown); line-height: 1; }
.tb-mem-amount { font-size: 64px; }
.tb-mem-per { font-family: var(--tb-sans); font-size: 14px; letter-spacing: .18em; text-transform: uppercase; }
.tb-mem-value { font-family: var(--tb-sans); font-size: 12px; letter-spacing: .2em; color: var(--tb-rose); line-height: 1.6; }
.tb-btn--join { margin-top: 8px; font-size: 14px; font-weight: 500; padding: 18px 40px; }
.tb-mem-body { display: flex; flex-direction: column; gap: 32px; }
.tb-mem-intro { font-family: var(--tb-sans); font-size: 17px; line-height: 1.7; color: var(--tb-rosebrown); margin: 0; max-width: 640px; }
.tb-perks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.tb-perk { display: flex; gap: 14px; align-items: flex-start; padding: 22px 0; border-top: 1px solid rgba(110, 70, 68, .2); }
.tb-perk-heart { font-family: var(--tb-serif); font-size: 26px; line-height: 1; color: var(--tb-blush); flex-shrink: 0; margin-top: 1px; }
.tb-mem h3.tb-perk-title { font-family: var(--tb-serif); font-weight: 400; font-size: 24px; line-height: 1.15; color: var(--tb-rosebrown); margin: 0 0 6px; }
.tb-perk-desc { font-family: var(--tb-sans); font-size: 15px; line-height: 1.6; color: var(--tb-rosebrown); margin: 0; }
.tb-mem-closing { border-top: 1px solid var(--tb-rosebrown); padding-top: 28px; display: flex; flex-direction: column; gap: 10px; }
.tb-mem-closing-line { font-family: var(--tb-serif); font-style: italic; font-size: 32px; line-height: 1.2; color: var(--tb-rose); margin: 0; }
.tb-mem-cta { font-family: var(--tb-sans); font-size: 16px; line-height: 1.7; color: var(--tb-rosebrown); margin: 0; }
.tb-mem-terms { font-family: var(--tb-sans); font-size: 13px; line-height: 1.6; color: var(--tb-rosebrown); opacity: .8; margin: 0; }
.e-con:has(> .e-con-inner .tb-hide-section), .e-con:has(> .elementor-widget .tb-hide-section) { display: none; }
@media (max-width: 1024px) {
	.tb-mem { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.tb-mem h2.tb-mem-title { font-size: 40px; }
	.tb-mem-amount { font-size: 52px; }
	.tb-perks { grid-template-columns: 1fr; }
	.tb-mem-closing-line { font-size: 26px; }
}

/* ---------- WPConsent Cookie Inspector (admin tool) ----------
   The site's global button/heading styles were leaking into WPConsent's floating inspector panel.
   Restore WPConsent's own look inside it. (The visitor-facing cookie banner is isolated and unaffected.) */
body .wpconsent-inspector-panel,
body .wpconsent-inspector-toggle { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif; letter-spacing: normal; }
body .wpconsent-inspector-panel h1, body .wpconsent-inspector-panel h2, body .wpconsent-inspector-panel h3,
body .wpconsent-inspector-panel h4, body .wpconsent-inspector-panel h5, body .wpconsent-inspector-panel h6 { font-family: inherit; letter-spacing: normal; text-transform: none; }
body .wpconsent-inspector-panel .wpconsent-inspector-header h3 { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: #fff; }
body .wpconsent-inspector-panel a { color: #2271b1; }
body .wpconsent-inspector-panel button,
body .wpconsent-inspector-toggle button,
body button.wpconsent-inspector-toggle { font-family: inherit; font-weight: 400; letter-spacing: normal; text-transform: none; line-height: normal; min-height: 0; box-shadow: none; text-shadow: none; }
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions button { padding: 4px 10px; font-size: 12px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 4px; background: rgba(255, 255, 255, .1); color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions button:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions button:focus { background: rgba(255, 255, 255, .2); color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions .wpconsent-inspector-btn-stop { color: #ff8a8a; border-color: rgba(255, 138, 138, .5); }
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions .wpconsent-inspector-btn-stop:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-header-actions .wpconsent-inspector-btn-stop:focus { background: rgba(214, 54, 56, .3); color: #ff8a8a; }
body .wpconsent-inspector-panel .wpconsent-inspector-cookie-actions button { padding: 3px 8px; font-size: 11px; border: 1px solid #2271b1; border-radius: 3px; background: #2271b1; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-cookie-actions button:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-cookie-actions button:focus { background: #135e96; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-add-form-actions button { padding: 4px 10px; font-size: 11px; border-radius: 3px; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-save,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-save:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-save:focus { background: #2271b1; color: #fff; border: 1px solid #2271b1; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-cancel,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-cancel:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-cancel:focus { background: #fff; color: #1e1e1e; border: 1px solid #ddd; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-review { width: 100%; padding: 8px; font-size: 13px; font-weight: 600; border: 1px solid #2271b1; border-radius: 4px; background: #2271b1; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-review:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-review:focus { background: #135e96; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-finish { width: 100%; padding: 8px; font-size: 13px; font-weight: 600; border: 1px solid #00a32a; border-radius: 4px; background: #00a32a; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-btn-finish:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-btn-finish:focus { background: #008a20; color: #fff; }
body .wpconsent-inspector-panel .wpconsent-inspector-section-title-admin-context { width: 100%; margin: 0; padding: 8px 16px; border: 0; border-radius: 0; font-size: 12px; font-weight: 600; text-transform: uppercase; text-align: left; color: #2271b1; background: #f0f6fc; }
body .wpconsent-inspector-panel .wpconsent-inspector-section-title-admin-context:hover,
body .wpconsent-inspector-panel .wpconsent-inspector-section-title-admin-context:focus { background: #e7f1fb; color: #2271b1; }

/* ---------- Footer policy links ---------- */
.tb-footer-legal { display: block; margin-top: 10px; font-size: 11px; letter-spacing: .14em; opacity: .75; }
.tb-footer-legal a:hover { opacity: 1; }

/* ---------- Plain WordPress pages (Privacy Policy, Cookie Policy, any future text page) ---------- */
body.page-template-default #content.site-main { max-width: 808px; margin: 0 auto; padding: 96px 24px 120px; color: var(--tb-rosebrown); font-family: var(--tb-sans); }
body.page-template-default #content .page-header { margin: 0 0 40px; padding: 0 0 28px; border-bottom: 1px solid rgba(110, 70, 68, .25); }
body.page-template-default #content .page-header .entry-title { margin: 0; padding: 0; font-family: var(--tb-serif); font-weight: 400; font-size: 64px; line-height: 1.02; color: var(--tb-rosebrown); }
body.page-template-default #content .page-content { padding: 0; font-size: 16px; line-height: 1.75; }
body.page-template-default #content .page-content p,
body.page-template-default #content .page-content ul { margin: 0 0 18px; }
body.page-template-default #content .page-content ul { padding-left: 20px; }
body.page-template-default #content .page-content li { margin: 0 0 6px; }
body.page-template-default #content .page-content h2,
body.page-template-default #content .page-content h3 { font-family: var(--tb-serif); font-weight: 400; color: var(--tb-rosebrown); line-height: 1.2; margin: 48px 0 12px; }
body.page-template-default #content .page-content h2 { font-size: 34px; }
body.page-template-default #content .page-content h3 { font-size: 26px; margin-top: 36px; }
body.page-template-default #content .page-content a { color: var(--tb-rose); text-decoration: underline; text-underline-offset: 3px; }
body.page-template-default #content .page-content a:hover { color: var(--tb-rosebrown); }
body.page-template-default #content .page-content em:first-child { font-family: var(--tb-serif); font-size: 20px; color: var(--tb-rose); }
body.page-template-default #content .page-content button { margin: 4px 0 22px; border: 0; }
/* WPConsent's cookie list */
body.page-template-default #content .wpconsent-cookie-policy-table { width: 100%; border-collapse: collapse; margin: 16px 0 8px; font-size: 14px; line-height: 1.5; background: var(--tb-cream); border: 0; }
body.page-template-default #content .wpconsent-cookie-policy-table th { text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--tb-cream); background: var(--tb-espresso); padding: 12px 16px; border: 0; }
body.page-template-default #content .wpconsent-cookie-policy-table td { padding: 14px 16px; border: 0; border-top: 1px solid rgba(110, 70, 68, .15); background: transparent; vertical-align: top; }
body.page-template-default #content .wpconsent-cookie-policy-table td:first-child { font-family: Menlo, Consolas, monospace; font-size: 13px; white-space: nowrap; }
body.page-template-default #content .wpconsent-cookie-policy-table tr:nth-child(even) td { background: transparent; }
@media (max-width: 767px) {
	body.page-template-default #content.site-main { padding: 56px 20px 80px; }
	body.page-template-default #content .page-header .entry-title { font-size: 44px; }
	body.page-template-default #content .page-content h2 { font-size: 28px; }
	body.page-template-default #content .wpconsent-cookie-policy-table { display: block; overflow-x: auto; }
}
