/**
Theme Name: lds-child-theme
Author: LDS IT
Author URI: https://www.ldsconsulting.co.uk
Description: The LDS Astra Child Theme is a fast, secure, and fully customizable theme ideal for business, consulting, and cloud service websites. Built for performance and scalability, it loads in under 50KB on the frontend and is optimized for SEO with integrated schema markup. Developed by LDS IT PRO CONSULTING LTD, it offers full design flexibility, responsive layouts, and seamless compatibility with major page builders and plugins. Key features include: # Cloud & Azure Ready # WooCommerce Compatible # Translation Ready # Extendible with LDS custom modules # Regularly Updated # Lightweight & Secure # Designed, Developed & Maintained by LDS IT PRO CONSULTING LTD. Looking for a reliable, high-performance theme? Choose LDS Astra Child Theme.
Version: 2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lds-child-theme
Template: astra
*/

/* ---------- Core layout + sizing ---------- */

/* Make sizing predictable */
html { box-sizing: border-box; height: 100%; }
*, *::before, *::after { box-sizing: inherit; }

/* Use dynamic viewport units to avoid iOS 100vh bugs */
:root {

    /* Brand */
  --brand: #cf8a3a;              /* primary accent (matches logo) */
  --brand-hover: #b5762f;        /* legacy hover (keep for links/chips) */

  /* Accessible UI fills (for white text on buttons etc.) */
  --brand-ui: #a86e2b;           /* AA+ contrast with white */
  --brand-ui-strong: #996427;    /* hover/active */

  /* Neutral palette */
  --ink: #111111;                /* wordmark black */
  --muted: #6b7280;              /* secondary text */
  --field-bg: #f6f7fb;
  --field-bd: #e5e7eb;
  --field-tx: #111827;
  --card-bd: #e6e8f0;

  /* Focus ring */
  --ring: rgba(207,138,58,.28);

  /* Shape */
  --radius: 12px;

  /* Optional brand gradient */
  --grad-from: #f6b73f;
  --grad-to:   #cf8a3a;
}


/* Page wrapper (Astra wraps with #page / .site) */
#page {
  min-height: 100dvh;           /* respect mobile browser chrome */
  display: flex;
  flex-direction: column;
}

#body-pg{
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;               /* grow to fill available space */
}
/* Main content should grow to push footer down */
.site-content, #content { flex: 1 0 auto; }

/* Body defaults: readable line height & smooth type */
body {
  margin: 0;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background: #fff;
  color: #475467;
}

/* ===== Shared button + link behaviour ===== */

/* Remove underline or text-decoration from buttons and linked buttons */
.btn,
.btn:hover,
.btn:focus,
.btn:active,
a,
a.btn,
a.btn:hover,
a.btn:focus,
a.btn:active {
  text-decoration: none !important;
  box-shadow: none; /* optional: remove Bootstrap inset shadow focus ring */
}

/* Remove underline on any button-like link (e.g. outline buttons, .btn-link) */
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  text-decoration: none !important;
  color: var(--uaru-accent); /* keep color consistent */
}

/* Optional: Remove underline from any <a> tag inside cards or badges */
.card a:hover,
.badge a:hover {
  text-decoration: none !important;
}


/* Global focus polish */
:focus-visible{
  outline: 2px solid transparent;
  box-shadow: 0 0 0 4px var(--ring);
}

/* ---------- Brand utility helpers (use instead of hard Tailwind overrides) ---------- */
.bg-brand        { background-color: var(--brand-ui) !important; }
.bg-brand-strong { background-color: var(--brand-ui-strong) !important; }
.text-brand      { color: var(--brand) !important; }
.border-brand    { border-color: var(--brand) !important; }
.bg-brand-grad   { background-image: linear-gradient(135deg, var(--grad-from), var(--grad-to)); }

/* Keep compatibility if existing markup uses Tailwind amber */
.bg-amber-600   { background-color: var(--brand-ui) !important; }
.text-amber-600 { color: var(--brand) !important; }
.hover\:bg-amber-700:hover { background-color: var(--brand-ui-strong) !important; }
.from-amber-600{
  --tw-gradient-from: var(--brand) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(207 138 58 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}


/* ===== Feedback form styles ===== */

.ppf-badge{
  display:inline-flex; align-items:center;
  padding:6px 12px; border-radius:999px;
  font-size:12px; font-weight:700;
  color:#7c4a12;
  background:rgba(251,191,36,.18);
  border:1px solid rgba(251,191,36,.35);
}

.ppf-feedback-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  max-width:1100px;
  margin:0 auto;
}

@media (min-width:768px){
  .ppf-feedback-grid{ grid-template-columns: repeat(2, 1fr); gap:16px; }
}
@media (min-width:1024px){
  .ppf-feedback-grid{ grid-template-columns: repeat(3, 1fr); gap:18px; }
}

/* smaller + consistent tiles */
.ppf-feedback-tile{
  position:relative;
  padding:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(16,24,40,.08);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 240px;
  width:100%;
}
@media (min-width:768px){ .ppf-feedback-tile{ height:260px; } }
@media (min-width:1024px){ .ppf-feedback-tile{ height:280px; } }

.ppf-feedback-tile img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position: center 80%;
  transition: transform .35s ease;
}


.ppf-feedback-tile:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(16,24,40,.12);
}
.ppf-feedback-tile:hover img{ transform: scale(1.03); }

.ppf-tile-overlay{
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.30), rgba(0,0,0,0));
  opacity:0;
  transition: opacity .25s ease;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:12px;
}
.ppf-feedback-tile:hover .ppf-tile-overlay{ opacity:1; }

.ppf-tile-chip{
  background: rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#111;
}

/* lightbox */
.ppf-lightbox{
  position:fixed; inset:0;
  background: rgba(0,0,0,.78);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:9999;
}
.ppf-lightbox.is-open{ display:flex; }

.ppf-lightbox-img{
  max-width: min(980px, 96vw);
  max-height: 86vh;
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  background:#111;
}

.ppf-lightbox-close{
  position:absolute;
  top:18px; right:18px;
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.ppf-lightbox-close:hover{ background: rgba(255,255,255,.18); }



/* =========================================================
   Partner Registration (form) — #partner-registration
   ========================================================= */

/* Card container */
#partner-registration .border.rounded-lg{
  background: #fff;
  border-color: var(--card-bd);
  border-radius: var(--radius);
  box-shadow: 0 8px 28px rgba(16,24,40,.06);
}

/* Section headers inside the form */
#partner-registration h4{
  font-size: 1.125rem; /* 18px */
  line-height: 1.4;
  font-weight: 700;
  color: var(--field-tx);
  margin: 0 0 1rem;
}

/* Labels */
#partner-registration label{
  display: block;
  font-weight: 600;
  color: var(--field-tx);
  margin-bottom: 6px;
}

/* Base fields */
#partner-registration input[type="text"],
#partner-registration input[type="email"],
#partner-registration input[type="tel"],
#partner-registration input[type="url"],
#partner-registration select,
#partner-registration textarea{
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  background: var(--field-bg);
  border: 1px solid var(--field-bd);
  border-radius: var(--radius);
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--field-tx);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Placeholder */
#partner-registration input::placeholder,
#partner-registration textarea::placeholder{
  color: var(--muted);
}

/* Focus */
#partner-registration input:focus,
#partner-registration select:focus,
#partner-registration textarea:focus{
  outline: none;
  background: #fff;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--ring);
}

/* Select caret */
#partner-registration select{
  background-image:
    url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%23838B9A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 38px;
}

/* Textarea sizing */
#partner-registration textarea{
  min-height: 120px;
  resize: vertical;
}

/* Checkboxes */
#partner-registration input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1.6px solid #cbd5e1;
  border-radius: 4px;
  background: #fff;
  display: inline-block;
  position: relative;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  vertical-align: middle;
}
#partner-registration input[type="checkbox"]:focus{
  outline: none;
  box-shadow: 0 0 0 3px var(--ring);
  border-color: var(--brand);
}
#partner-registration input[type="checkbox"]:checked{
  background: var(--brand-ui);
  border-color: var(--brand-ui);
}
#partner-registration input[type="checkbox"]:checked::after{
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}

/* Submit button (accessible colors) */
#partner-registration button[type="submit"]{
  background-color: var(--brand-ui) !important;
  color: #fff;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-weight: 600;
  transition: background-color .2s ease, box-shadow .2s ease, transform .02s ease;
}
#partner-registration button[type="submit"]:hover{
  background-color: var(--brand-ui-strong) !important;
}
#partner-registration button[type="submit"]:focus{
  outline: none;
  box-shadow: 0 0 0 4px var(--ring);
}
#partner-registration button[type="submit"]:active{
  transform: translateY(1px);
}

/* Spacing polish */
#partner-registration .grid{ gap: 1rem; }
#partner-registration .mt-4{ margin-top: 1rem !important; }

/* Inline checkbox labels helper */
#partner-registration label.inline-checkbox{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  color: var(--field-tx);
}

/* Lighten secondary text in the header under the title */
#partner-registration .text-gray-600{ color: #64748b !important; }

/* =========================================================
   Partners section — logo/media column sizing
   ========================================================= */
#partners article .md\:flex > div:first-child{
  display: grid;
  place-items: center;
  padding: 1rem;           /* p-4 */
  min-height: 16rem;       /* ≈ h-64 for even card heights */
}

/* Logos/images centred, no crop, with min size for legibility */
#partners article .md\:flex > div:first-child img{
  width: auto !important;
  height: auto !important;
  max-width: 60%;
  max-height: 60%;
  min-width: 140px;
  object-fit: contain !important;
}
@media (max-width: 1023px){
  #partners article .md\:flex > div:first-child img{
    max-width: 70%;
    min-width: 120px;
  }
}

/* Bottom CTA button (“Ver todos os parceiros”) */
#partners .text-center.mt-12 > a{
  background-color: var(--brand-ui);
  border-color: var(--brand-ui);
  color: #fff;
  border-radius: var(--radius);
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
#partners .text-center.mt-12 > a:hover{
  background-color: var(--brand-ui-strong);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
#partners .text-center.mt-12 > a:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px rgba(207,138,58,.55);
}

  .partner-logo {
    max-height: 140px;      /* keeps logos consistent height */
    object-fit: contain;    /* prevents cropping */
  }

  /* ===== Book a Call page ===== */
.booking-hero{
  background: radial-gradient(1200px 600px at 50% -10%, rgba(207,138,58,.10), transparent),
              linear-gradient(180deg, #f7f8ff, #f8fbff);
  text-align: center;
  padding: 58px 0 52px;
}
.booking-hero .container{ max-width: 1000px; margin: 0 auto; padding: 0 20px; }

.pill-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(207,138,58,.14), rgba(159,122,234,.18));
  color: #5b21b6;
  font-weight: 600;
  margin-bottom: 14px;
}
.pill-badge .pill-icon{ filter: saturate(1.2); }

.booking-title{
  margin: 8px 0 6px;
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.2;
  color: var(--ink);
}
.booking-sub{
  margin: 0 auto 18px;
  max-width: 720px;
  color: #475467;
}
.btn-primary{
  display: inline-block;
  background: var(--brand-ui);
  color: #fff;
  padding: 12px 18px;
  border-radius: var(--radius);
  font-weight: 700;
  transition: transform .05s ease, background .2s ease, box-shadow .2s ease;
}
.btn-primary:hover{ background: var(--brand-ui-strong); transform: translateY(-1px); }
.btn-primary:focus-visible{ outline: none; box-shadow: 0 0 0 4px var(--ring); }

/* Layout */
.booking-wrap{ padding: 54px 0; }
.booking-wrap .container{ max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.grid-two{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
}
@media (max-width: 992px){
  .grid-two{ grid-template-columns: 1fr; }
}

/* Left column */
.booking-left h2{ font-size: 24px; color: var(--ink); margin-bottom: 12px; }
.steps{ padding-left: 18px; margin: 0 0 22px; }
.steps li{ margin: 6px 0; }
.info-cards{ display: grid; gap: 18px; }
.info-cards .card{
  background: #fff;
  border: 1px solid var(--card-bd);
  border-radius: var(--radius);
  padding: 18px 16px;
  box-shadow: 0 8px 28px rgba(16,24,40,.06);
}
.info-cards .card h3{ margin: 0 0 8px; font-size: 18px; color: var(--ink); }
.info-cards .card ul{ margin: 0; padding-left: 18px; }
.info-cards .card ul li{ margin: 6px 0; }

/* Right column (booking widget) */
.booking-right .booking-card{
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid var(--card-bd);
  border-radius: calc(var(--radius) + 2px);
  padding: 18px 16px;
  box-shadow: 0 12px 32px rgba(16,24,40,.09);
}
.card-title{ margin: 0 0 6px; font-size: 22px; color: var(--ink); }
.card-sub{ margin: 0 0 14px; color: #64748b; }
.booking-shortcode{ margin: 10px 0 12px; }
.card-foot{ margin: 10px 0 0; font-size: 14px; color: #6b7280; }
.card-foot a{ color: var(--brand); text-decoration: underline; }

/* After booking + disclaimer */
.after-booking{ padding: 36px 0 64px; }
.after-booking .container{ max-width: 960px; margin: 0 auto; padding: 0 20px; }
.thanks{
  background: linear-gradient(135deg, var(--grad-from), var(--grad-to));
  color: #0b1220;
  border-radius: var(--radius);
  padding: 18px 16px;
  margin-bottom: 18px;
  color: #1f2937;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #facc15;
}
.disclaimer{
  background: #fafafc;
  border: 1px solid var(--card-bd);
  border-radius: var(--radius);
  padding: 16px;
  color: #475467;
}
.disclaimer strong{ color: var(--ink); display: inline-block; margin-bottom: 6px; }

/* =========================
   SUPPORT AREAS (cards)
   Targets: #support-areas article
   Keeps existing amber scheme
========================= */
#support-areas article{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:14px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#support-areas article:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(16,24,40,.12);
  border-color: rgba(217,119,6,.35); /* amber-600 */
}

#support-areas article .p-6{
  position:relative;
}

#support-areas article .p-6::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:14px;
  pointer-events:none;
  opacity:0;
  background: radial-gradient(900px 280px at 30% 0%,
              rgba(217,119,6,.10) 0%,
              rgba(217,119,6,0) 60%);
  transition: opacity .25s ease;
}

#support-areas article:hover .p-6::before{
  opacity:1;
}

/* make the emoji/icon sit in a subtle pill on hover */
#support-areas article span.text-2xl{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(245,158,11,.10); /* amber */
  border:1px solid rgba(245,158,11,.18);
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

#support-areas article:hover span.text-2xl{
  transform: scale(1.06);
  background: rgba(245,158,11,.14);
  border-color: rgba(245,158,11,.28);
}

/* nicer paragraph spacing */
#support-areas article p{
  line-height:1.55;
}


/* =========================
   TORNA-TE PARCEIRO (benefit tiles)
   Targets: #partner-registration grid items
   Adds border + hover, and borders on the icon squares
========================= */
#partner-registration .grid > div[data-aos="zoom-in"]{
  position:relative;
  border:1px solid rgba(17,17,17,.08);
  border-radius:16px;
  background: rgba(255,255,255,.65);
  padding: 22px 18px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

#partner-registration .grid > div[data-aos="zoom-in"]:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(16,24,40,.12);
  border-color: rgba(217,119,6,.30);
  background: rgba(255,255,255,.85);
}

/* icon square (the amber box) -> add border + subtle shadow */
#partner-registration .grid > div[data-aos="zoom-in"] .w-16.h-16{
  border:1px solid rgba(217,119,6,.22);
  box-shadow: 0 10px 18px rgba(16,24,40,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#partner-registration .grid > div[data-aos="zoom-in"]:hover .w-16.h-16{
  transform: scale(1.06);
  border-color: rgba(217,119,6,.35);
  box-shadow: 0 14px 22px rgba(16,24,40,.10);
}

/* tighten typography */
#partner-registration .grid > div[data-aos="zoom-in"] h3{
  margin-top: 2px;
}

#partner-registration .grid > div[data-aos="zoom-in"] p{
  line-height: 1.55;
}

/* =========================
   HERO MAIN BUTTONS
   Targets the 2 CTAs inside the hero section only
========================= */
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 22px;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: .2px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  box-shadow: 0 10px 22px rgba(16,24,40,.10);
}

/* Primary button (Saber mais) - already amber, just polish */
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a.bg-amber-600{
  background: linear-gradient(180deg, rgba(217,119,6,1) 0%, rgba(180,83,9,1) 100%);
  border: 1px solid rgba(180,83,9,.55);
}
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a.bg-amber-600:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(16,24,40,.18);
}

/* Secondary button (Aderir agora) - make it tinted instead of plain white */
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a.border{
  background: rgba(245,158,11,.10); /* amber tint */
  border: 1px solid rgba(217,119,6,.28);
  color: #111827; /* gray-900 */
}
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a.border:hover{
  background: rgba(245,158,11,.16);
  border-color: rgba(217,119,6,.40);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(16,24,40,.16);
}

/* Nice focus state for accessibility */
.main-wrapper > section:first-of-type .flex.flex-col.sm\:flex-row.gap-4 a:focus-visible{
  outline: 3px solid rgba(245,158,11,.35);
  outline-offset: 3px;
}


/* =========================
   "BREVEMENTE" CATEGORY PILLS
   (the spans under "BREVEMENTE - Disponível para ti")
========================= */
#plans .flex.flex-wrap.justify-center.gap-3 > span{
  border-radius: 999px;
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  box-shadow: 0 10px 18px rgba(16,24,40,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  cursor: default;
}

/* Hover to feel clickable (even if not links) */
#plans .flex.flex-wrap.justify-center.gap-3 > span:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 26px rgba(16,24,40,.10);
  border-color: rgba(217,119,6,.28);
}

/* OPTIONAL: add a tooltip saying "Brevemente" on hover
   (works because they are <span> elements) */
#plans .flex.flex-wrap.justify-center.gap-3 > span{
  position: relative;
}
#plans .flex.flex-wrap.justify-center.gap-3 > span::after{
  content: "Brevemente disponível";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(17,24,39,.92); /* gray-900 */
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
#plans .flex.flex-wrap.justify-center.gap-3 > span::before{
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  background: rgba(17,24,39,.92);
  rotate: 45deg;
  opacity: 0;
  transition: opacity .18s ease;
}
#plans .flex.flex-wrap.justify-center.gap-3 > span:hover::after{
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}
#plans .flex.flex-wrap.justify-center.gap-3 > span:hover::before{
  opacity: 1;
}


/* =========================
   PLANO PRESENTE (ONLY)
========================= */
#plans{
  padding: 5rem 0; /* py-20 */
  background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 50%, #fdf2f8 100%);
  border-top: 1px solid rgba(99, 102, 241, 0.12);
  box-shadow: inset 0 12px 24px rgba(99, 102, 241, 0.06);
}

/* =========================
   BREVEMENTE – CATEGORY CHIPS
========================= */

#plan-categories {
  background: #f9fafb;
  padding: 2.5rem 0;
}

#plan-categories .category-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.6rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17,24,39,0.12);
  box-shadow: 0 6px 16px rgba(16,24,40,0.05);
  font-size: 0.95rem;
  font-weight: 500;
  color: #1f2937;
  cursor: default;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

#plan-categories .category-chip:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 12px 22px rgba(16,24,40,0.10);
  border-color: rgba(217,119,6,0.32);
}

/* Tooltip */
#plan-categories .category-chip::after {
  content: "Brevemente disponível";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(17,24,39,0.92);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

#plan-categories .category-chip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: rgba(17,24,39,0.92);
  opacity: 0;
  transition: opacity .18s ease;
}

#plan-categories .category-chip:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

#plan-categories .category-chip:hover::before {
  opacity: 1;
}

/* --- FIX Select2 dropdown (country) not visible --- */
.select2-container { z-index: 999999 !important; }
.select2-dropdown  { z-index: 999999 !important; }

/* sometimes theme wrappers clip dropdown */
.ppf-card,
.ppf-card * { overflow: visible; }


/* --- Make the LEFT checkout full width (remove Woo default 2-col inside the form) --- */
.ppf-checkout-page .woocommerce-checkout .col2-set {
  display: block !important;
  width: 100% !important;
}
.ppf-checkout-page .woocommerce-checkout .col2-set .col-1 {
  float: none !important;
  width: 100% !important;
}
.ppf-checkout-page .woocommerce-checkout .col2-set .col-2 {
  display: none !important;
}

/* --- Hide Woo default order review table + heading (you already show summary on the right) --- */
.ppf-checkout-page #order_review_heading,
.ppf-checkout-page #order_review {
  display: none !important;
}

/* --- Make Woo notices match your layout --- */
.ppf-checkout-page .woocommerce-info,
.ppf-checkout-page .woocommerce-error,
.ppf-checkout-page .woocommerce-message{
  border-radius: 14px;
  border: 1px solid rgba(17,17,17,.10);
  background: #fff;
  box-shadow: 0 10px 30px rgba(16,24,40,.05);
}

/* reduce excessive red error block look */
.ppf-checkout-page .woocommerce-error {
  background: rgba(220, 38, 38, .06);
  border-color: rgba(220, 38, 38, .18);
}


/* =========================
   CART (2-col) — PPF theme
========================= */
.woocommerce-cart .ppf-cart-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 20px 54px;
}

.woocommerce-cart .ppf-cart-grid{
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 22px;
  align-items: start;
}

@media (max-width: 992px){
  .woocommerce-cart .ppf-cart-grid{
    grid-template-columns: 1fr;
  }
}

.woocommerce-cart .ppf-cart-card{
  background: #fff;
  border: 1px solid var(--card-bd);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 12px 32px rgba(16,24,40,.07);
  padding: 18px 16px;
}

.woocommerce-cart .ppf-cart-title{
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1.2;
  color: var(--ink);
  font-weight: 800;
}

.woocommerce-cart .ppf-side-title{
  margin: 0 0 12px;
  font-size: 20px;
  color: var(--ink);
  font-weight: 800;
}

/* Sidebar sticky (desktop) */
@media (min-width: 993px){
  .woocommerce-cart .ppf-cart-right{
    position: sticky;
    top: 24px;
  }
}

/* Table polish */
.woocommerce-cart table.shop_table{
  border: 0 !important;
}

.woocommerce-cart table.shop_table thead th{
  font-weight: 800;
  color: var(--ink);
  border-bottom: 1px solid var(--card-bd) !important;
}

.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th{
  padding: 14px 10px;
}

.woocommerce-cart table.shop_table tbody tr{
  border-bottom: 1px solid rgba(17,17,17,.06);
}

.woocommerce-cart .product-thumbnail img{
  border-radius: 12px;
  border: 1px solid rgba(17,17,17,.08);
}

/* Inputs */
.woocommerce-cart input.input-text{
  background: var(--field-bg);
  border: 1px solid var(--field-bd);
  border-radius: var(--radius);
  padding: 12px 14px;
  color: var(--field-tx);
}

.woocommerce-cart input.input-text:focus{
  outline: none;
  background: #fff;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--ring);
}

/* Buttons */
.woocommerce-cart .ppf-btn-primary,
.woocommerce-cart a.checkout-button.button.alt{
  background: var(--brand-ui) !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-weight: 800 !important;
  padding: 14px 16px !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.12);
}

.woocommerce-cart .ppf-btn-primary:hover,
.woocommerce-cart a.checkout-button.button.alt:hover{
  background: var(--brand-ui-strong) !important;
}

.woocommerce-cart .ppf-btn-secondary{
  background: rgba(17,17,17,.06) !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: var(--radius) !important;
  font-weight: 800 !important;
  padding: 12px 16px !important;
}

.woocommerce-cart .remove{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(17,17,17,.06);
  border: 1px solid rgba(17,17,17,.10);
  color: var(--ink) !important;
  text-decoration: none !important;
}

.woocommerce-cart .remove:hover{
  background: rgba(207,138,58,.14);
  border-color: rgba(207,138,58,.35);
}

/* Coupon row in sidebar */
.woocommerce-cart .ppf-cart-coupon .coupon{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}

/* Totals box: match spacing */
.woocommerce-cart .cart_totals h2{
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 900;
  color: var(--ink);
}
.woocommerce-cart .cart_totals table.shop_table{
  margin: 0 0 14px;
}


/* =========================
   PRODUCT — PPF layout
========================= */
.single-product .ppf-product{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 20px 54px;
}

.single-product .ppf-card{
  background: #fff;
  border: 1px solid var(--card-bd);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 12px 32px rgba(16,24,40,.07);
  padding: 18px 16px;
}

.single-product .ppf-product-grid{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
  align-items: start;
}

@media (max-width: 992px){
  .single-product .ppf-product-grid{
    grid-template-columns: 1fr;
  }
}

/* Sticky summary on desktop */
@media (min-width: 993px){
  .single-product .ppf-product-summary{
    position: sticky;
    top: 24px;
  }
}

/* Title */
.single-product .product_title{
  font-size: 34px;
  line-height: 1.15;
  margin: 0 0 10px;
  color: var(--ink);
  font-weight: 900;
}

/* Price */
.single-product p.price,
.single-product span.price{
  font-size: 22px;
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 10px;
}

.single-product p.price del{
  opacity: .55;
  font-weight: 700;
}

.single-product p.price ins{
  text-decoration: none;
  color: var(--brand-ui);
}

/* Short description */
.single-product .woocommerce-product-details__short-description{
  margin: 12px 0 16px;
  color: rgba(17,17,17,.85);
  font-size: 16px;
  line-height: 1.6;
}

/* Add to cart button */
.single-product .single_add_to_cart_button.button.alt{
  width: 100%;
  background: var(--brand-ui) !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-weight: 900 !important;
  padding: 14px 16px !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.12);
}

.single-product .single_add_to_cart_button.button.alt:hover{
  background: var(--brand-ui-strong) !important;
}

/* Quantity (you currently have sold-individually so hidden input) */
.single-product form.cart{
  margin-top: 14px;
}

/* Trust box */
.single-product .ppf-trust-box{
  margin-top: 14px;
  background: rgba(207,138,58,.10);
  border: 1px solid rgba(207,138,58,.22);
  border-radius: var(--radius);
  padding: 12px 14px;
}

.single-product .ppf-trust-box ul{
  margin: 0;
  padding-left: 18px;
}

.single-product .ppf-trust-box li{
  margin: 6px 0;
}

/* Tabs cleanup */
.single-product .woocommerce-tabs{
  margin-top: 0;
}

.single-product .woocommerce-tabs ul.tabs{
  margin: 0 0 12px;
  padding: 0;
  border-bottom: 1px solid var(--card-bd);
}

.single-product .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: transparent !important;
  margin: 0 12px 0 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a{
  display: inline-block;
  padding: 10px 4px !important;
  font-weight: 800;
  color: rgba(17,17,17,.75) !important;
  text-decoration: none !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a{
  color: var(--ink) !important;
  border-bottom: 3px solid var(--brand-ui);
}

.single-product .woocommerce-Tabs-panel{
  padding-top: 8px;
}

/* Gallery polish */
.single-product .woocommerce-product-gallery__trigger{
  border-radius: 999px;
  border: 1px solid rgba(17,17,17,.10);
  background: rgba(17,17,17,.04);
}
.single-product .woocommerce-product-gallery .wp-post-image{
  border-radius: 14px;
}


/* PRODUCT IMAGE – make it fill the left card nicely */
.single-product .ppf-product-gallery{
  padding: 16px;              /* keep a neat frame */
}

.single-product .ppf-product-gallery .woocommerce-product-gallery{
  width: 100% !important;
  margin: 0 !important;
}

.single-product .ppf-product-gallery .woocommerce-product-gallery__wrapper{
  width: 100% !important;
  margin: 0 !important;
}

.single-product .ppf-product-gallery .woocommerce-product-gallery__image a{
  display: block;
}

.single-product .ppf-product-gallery .woocommerce-product-gallery__image img{
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 14px;
}

/* Optional: if you want a more “hero” look (consistent height + cover crop) */
@media (min-width: 993px){
  .single-product .ppf-product-gallery .woocommerce-product-gallery__image img{
    height: 420px !important;     /* tweak this */
    object-fit: cover;
  }
}


/* Sidebar payment clone styling */
.ppf-payment-slot{ margin-top: 16px; padding-top: 16px; border-top:1px solid rgba(255,255,255,.14); }
.ppf-payment-slot #payment{ background: transparent; }

.ppf-payment-slot #payment label {color: #cbd5e1 !important;} 
.ppf-payment-slot ul.payment_methods{
  margin: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  padding: 12px !important;
}
.ppf-payment-slot .payment_box{
  background: rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,.90) !important;
}
.ppf-payment-slot .woocommerce-privacy-policy-text,
.ppf-payment-slot .woocommerce-terms-and-conditions-wrapper{
  color: rgba(255,255,255,.70);
}

/* Custom checkout grid inside Woo form */
.ppf-checkout-grid{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap: 22px;
  align-items:start;
}

@media (max-width: 1024px){
  .ppf-checkout-grid{ grid-template-columns: 1fr 360px; }
}

@media (max-width: 860px){
  .ppf-checkout-grid{ grid-template-columns: 1fr; }
}

/* Optional: keep right column sticky on desktop */
@media (min-width: 861px){
  #ppf-order-summary{
    position: sticky;
    top: 18px;
  }
}


/* =========================
   THANK YOU (Order Received)
========================= */
.woocommerce-order-received .site-content{
  background: radial-gradient(1200px 600px at 50% -10%, rgba(207,138,58,.10), transparent),
              linear-gradient(180deg, #f7f8ff, #ffffff);
}

.ppf-thankyou-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 18px 70px;
}

.ppf-thankyou-card{
  background:#fff;
  border:1px solid var(--card-bd);
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(16,24,40,.10);
  overflow:hidden;
}

.ppf-thankyou-head{
  padding: 26px 22px 18px;
  border-bottom: 1px solid rgba(17,17,17,.06);
}

.ppf-thankyou-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  /* background: rgba(207,138,58,.14); */
  border: 1px solid rgba(207,138,58,.26);
  color: #7c4a12;
}

.ppf-thankyou-title{
  margin: 10px 0 6px;
  font-size: clamp(22px, 3.2vw, 32px);
  line-height: 1.2;
  color: var(--ink);
}

.ppf-thankyou-sub{
  margin: 0;
  color: #475467;
}

.ppf-thankyou-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 16px;
  padding: 18px;
}

@media (max-width: 992px){
  .ppf-thankyou-grid{ grid-template-columns: 1fr; }
}

.ppf-thankyou-panel{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  padding: 18px 16px;
}

.ppf-thankyou-panel--soft{
  background: #fafafc;
}

.ppf-thankyou-h2{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  color: var(--ink);
}

.ppf-thankyou-h3{
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
}

.ppf-thankyou-kv{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 520px){
  .ppf-thankyou-kv{ grid-template-columns: 1fr; }
}
.ppf-kv{
  background: var(--field-bg);
  border: 1px solid var(--field-bd);
  border-radius: 12px;
  padding: 10px 12px;
}
.ppf-kv-label{ font-size: 12px; font-weight: 700; color: #667085; }
.ppf-kv-value{ font-size: 14px; font-weight: 800; color: #111827; }

.ppf-thankyou-divider{
  height:1px;
  background: rgba(17,17,17,.08);
  margin: 14px 0;
}

.ppf-thankyou-items{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.ppf-item-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(17,17,17,.08);
  background: #fff;
}
.ppf-item-name{ font-weight: 700; color: #111827; }
.ppf-item-qty{ font-weight: 800; color: #6b7280; margin-left: 8px; }
.ppf-item-total{ font-weight: 800; color: #111827; white-space: nowrap; }

.ppf-thankyou-steps{
  margin: 0 0 14px;
  padding-left: 18px;
  color:#475467;
}
.ppf-thankyou-steps li{ margin: 6px 0; }

.ppf-thankyou-actions{
  display:flex;
  flex-direction:column;
  gap: 10px;
  margin-top: 14px;
}

.ppf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 46px;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 800;
  border: 1px solid transparent;
  text-decoration:none !important;
}

.ppf-btn-primary{
  background: var(--brand-ui);
  color:#fff;
}
.ppf-btn-primary:hover{ background: var(--brand-ui-strong); }

.ppf-btn-ghost{
  background: rgba(207,138,58,.10);
  border-color: rgba(207,138,58,.28);
  color: #111827;
}
.ppf-btn-ghost:hover{ background: rgba(207,138,58,.14); }

.ppf-btn-link{
  background: transparent;
  border-color: transparent;
  color: var(--brand);
  padding: 8px 10px;
  min-height: auto;
  justify-content:flex-start;
}
.ppf-btn-link:hover{ text-decoration: underline !important; }

.ppf-thankyou-alert{
  margin: 18px;
  padding: 14px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.10);
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
  color: #475467;
}
.ppf-thankyou-alert strong{ color: var(--ink); }

.ppf-thankyou-alert--error{
  background: rgba(220, 38, 38, .06);
  border-color: rgba(220, 38, 38, .18);
}

/* =========================================================
   FIXED DASHBOARD LAYOUT
   ========================================================= */

/* Fix the Dashboard Grid inside the White Card */
.lds-portal-page .woocommerce-MyAccount {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

/* Sidebar Styling */
.lds-portal-page .woocommerce-MyAccount-navigation {
    width: 240px;
    flex-shrink: 0;
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 10px;
    background: #f9fafb;
}

.lds-portal-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lds-portal-page .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 15px;
    border-radius: 8px;
    color: #374151;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 2px;
}

.lds-portal-page .woocommerce-MyAccount-navigation li.is-active a {
    background: #d97706; /* Amber-600 */
    color: white;
}

/* Dashboard Content Area */
.lds-portal-page .woocommerce-MyAccount-content {
    flex-grow: 1;
}

/* Hide the duplicate "Hello user" text if you only want your custom grid */
.lds-portal-page .woocommerce-MyAccount-content p:first-of-type {
    font-size: 15px;
    color: #4b5563;
    margin-bottom: 25px;
}

/* Responsive adjustment */
@media (max-width: 991px) {
    .lds-portal-page .woocommerce-MyAccount {
        flex-direction: column;
    }
    .lds-portal-page .woocommerce-MyAccount-navigation {
        width: 100%;
    }
}

.entrar-hd .woocommerce h2 {
  display: none !important;
}

/* =========================================================
   PREMIUM RESOURCES GRID (CARD STYLE)
   ========================================================= */

.lds-portal-section {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #f3f4f6;
}

.lds-portal-head {
    margin-bottom: 20px;
}

.lds-portal-title {
    font-size: 20px;
    font-weight: 800;
    color: #111;
    margin-bottom: 4px;
}

.lds-portal-sub {
    font-size: 14px;
    color: #666;
}

/* The Grid Container */
.lds-resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* The Individual Card */
.lds-resource-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lds-resource-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.lds-resource-link {
    text-decoration: none !important;
    display: block;
    color: inherit;
}

/* The Image Part */
.lds-resource-thumb {
    width: 100%;
    height: 150px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f3f4f6;
}

/* The Text Part */
.lds-resource-body {
    padding: 15px;
}

.lds-resource-title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #111;
    margin: 0 0 8px 0;
    /* Limit to 2 lines of text */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lds-resource-meta {
    font-size: 12px;
    color: #9ca3af;
}

/* Mobile Adjustment */
@media (max-width: 640px) {
    .lds-resource-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .lds-resource-thumb {
        height: 120px;
    }
}

/* 1. Reset Dashboard for Wide Layout */
.lds-portal-page .dashboard-active .woocommerce-MyAccount {
    display: grid;
    grid-template-columns: 280px 1fr; /* Sidebar width */
    gap: 40px;
    align-items: start;
    width: 100%;
}

/* 2. Style the Sidebar Links with Icons */
.lds-portal-page .woocommerce-MyAccount-navigation ul {
    border: 1px solid #eee;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.lds-portal-page .woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid #f0f0f0;
}

.lds-portal-page .woocommerce-MyAccount-navigation li a {
    padding: 15px 20px;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.2s ease;
}

/* Add Font Awesome Icons via CSS Pseudo-elements */
.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f0e4"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f07a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f019"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

.lds-portal-page .woocommerce-MyAccount-navigation li.is-active a {
    background: #fdf8f3;
    color: #cf8a3a;
    border-left: 4px solid #cf8a3a;
}

/* 3. Resource Grid (Image 3 Style) */
.lds-resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 25px;
    margin-top: 20px;
}

.lds-resource-card {
    border: none;
    background: #f8f9fa; /* Light grey background for the card */
    border-radius: 4px; /* Image 3 has very slight rounding */
    text-align: center;
    padding-bottom: 15px;
}

.lds-resource-thumb {
    height: 180px;
    width: 100%;
    background-size: cover;
    background-position: center;
    margin-bottom: 15px;
}

.lds-resource-title {
    font-size: 13px;
    text-transform: uppercase;
    color: #1a73e8; /* Blueish teal color from image 3 */
    font-weight: 700;
    padding: 0 10px;
    letter-spacing: 0.5px;
}

.lds-resource-meta {
    display: none; /* Hide date to match Image 3 */
}

/* Responsive */
@media (max-width: 991px) {
    .lds-portal-page .dashboard-active .woocommerce-MyAccount {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   SCOPED LAYOUTS (LOGIN vs DASHBOARD)
   ========================================================= */

/* --- 1. LOGIN STATE (Centered & Compact) --- */
.lds-login-state .lds-main-section {
    min-height: 80vh;
    padding: 64px 0;
    background: linear-gradient(to bottom right, #fffbeb, #ffffff, #fffbeb);
}

.lds-login-state .lds-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 20px;
}

.lds-login-state .lds-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.lds-login-state .lds-white-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    overflow: hidden;
    max-width: 450px;
    margin: 0 auto;
}

.lds-login-state .lds-accent-bar {
    height: 8px;
    background: linear-gradient(to right, #f59e0b, #fbbf24, #d97706);
}

/* --- 2. DASHBOARD STATE (Wide & Flat) --- */
.lds-dashboard-state .lds-main-section {
    padding: 40px 0;
    background: #ffffff;
}

.lds-dashboard-state .lds-container {
    max-width: 1400px; /* Wider for dashboard elements */
    margin: 0 auto;
    padding: 0 30px;
}

.lds-dashboard-state .lds-white-card {
    background: transparent;
    border: none;
    box-shadow: none;
}

.lds-dashboard-state .woocommerce-MyAccount {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* --- 3. RESOURCE CARDS (Square Picture Cards) --- */
.lds-resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 30px;
}

.lds-resource-card {
    background: #f9f9f9;
    border: 1px solid #eee;
    padding: 10px;
    text-align: center;
}

.lds-resource-thumb {
    width: 100%;
    aspect-ratio: 1/1; /* Makes them square like image 3 */
    background-size: cover;
    background-position: center;
    margin-bottom: 12px;
}

.lds-resource-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #4db2b2; /* Specific Teal color */
    letter-spacing: 0.5px;
}

/* --- MOBILE FIX --- */
@media (max-width: 991px) {
    .lds-login-state .lds-grid,
    .lds-dashboard-state .woocommerce-MyAccount {
        grid-template-columns: 1fr;
    }
}

/* a:hover {
  color: #fff !important;
} */

/* =========================
   PPF Testimonial Carousel
   Scoped to avoid conflicts
========================= */

#feedback-carousel .ppf-tc__wrap{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Track: real carousel feel + centered start */
#feedback-carousel .ppf-tc__track{
  display: flex;
  gap: 18px;
  overflow: hidden;
  scroll-behavior: smooth;
  padding: 10px 4px 18px;
  width: 100%;
}

/* Card */
#feedback-carousel .ppf-tc__card{
  flex: 0 0 340px;
  background: #fff;
  border-radius: 18px;
  padding: 18px 18px 16px;
  /* box-shadow: 0 16px 30px rgba(16,24,40,.08); */
  border: 1px solid rgba(17,24,39,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position: relative;
}

#feedback-carousel .ppf-tc__card:hover{
  transform: translateY(-6px);
  /* box-shadow: 0 22px 44px rgba(16,24,40,.12); */
  border-color: rgba(217,119,6,.18);
}

/* Top row: initials + stars */
#feedback-carousel .ppf-tc__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

#feedback-carousel .ppf-tc__id{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

#feedback-carousel .ppf-tc__initials{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #FEF3C7; /* amber-100 */
  color: #B45309;      /* amber-700 */
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .5px;
}

#feedback-carousel .ppf-tc__role{
  font-weight: 700;
  color: #D97706; /* amber-600 */
  font-size: 14px;
}

/* Stars */
#feedback-carousel .ppf-tc__stars{
  color: #F59E0B; /* amber-500 */
  font-size: 14px;
  letter-spacing: 2px;
  user-select: none;
}

/* Quote text with subtle quote mark */
#feedback-carousel .ppf-tc__quote{
  margin: 0;
  color: #111827;
  font-size: 15.5px;
  line-height: 1.6;
  position: relative;
  padding-top: 8px;
}

#feedback-carousel .ppf-tc__quote::before{
  content: "“";
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 40px;
  line-height: 1;
  color: rgba(217,119,6,.22);
  font-weight: 900;
}

/* Buttons */
#feedback-carousel .ppf-tc__btn{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 22px rgba(16,24,40,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  flex: 0 0 auto;
}

#feedback-carousel .ppf-tc__btn svg{
  width: 20px;
  height: 20px;
  color: #1F2937; /* gray-800 */
}

#feedback-carousel .ppf-tc__btn:hover{
  background: #FEF3C7; /* amber-100 */
  transform: scale(1.06);
  box-shadow: 0 14px 30px rgba(16,24,40,.14);
}

#feedback-carousel .ppf-tc__btn:active{
  transform: scale(.98);
}

/* Mobile: swipe feel */
@media (max-width: 768px){
  #feedback-carousel .ppf-tc__track{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
  }

  #feedback-carousel .ppf-tc__card{
    flex: 0 0 86%;
    scroll-snap-align: start;
  }
}


/* =========================
   PPF Legal Pages (Privacy Policy)
   Scoped to .ppf-legal-page
========================= */

.ppf-legal-page{
  padding-bottom: 60px;
}

/* Hero */
.ppf-policy-hero{
  background: radial-gradient(1200px 600px at 50% -10%, rgba(207,138,58,.10), transparent),
              linear-gradient(180deg, #f7f8ff, #ffffff);
  border-bottom: 1px solid rgba(17,17,17,.08);
  padding: 46px 0 28px;
}

.ppf-policy-hero-inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 18px;
}

.ppf-policy-title{
  margin: 0 0 10px;
  font-size: clamp(26px, 3.6vw, 40px);
  line-height: 1.15;
  color: var(--ink, #111);
  font-weight: 800;
  letter-spacing: -0.3px;
}

.ppf-policy-lead{
  margin: 0 0 14px;
  color: #475467;
  font-size: 16px;
  line-height: 1.7;
}

.ppf-policy-lead a{
  color: var(--brand, #cf8a3a);
  font-weight: 700;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(207,138,58,.45);
}
.ppf-policy-lead a:hover{
  border-bottom-style: solid;
}

.ppf-policy-meta{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(207,138,58,.10);
  border: 1px solid rgba(207,138,58,.18);
  color: #1f2937;
  font-size: 13px;
  font-weight: 600;
}
.ppf-policy-meta-label{ color: #374151; }
.ppf-policy-meta-value{ font-weight: 800; }

/* Card wrapper */
.ppf-policy-wrap{
  max-width: 980px;
  margin: 0 auto;
  padding: 18px;
}

/* Mini nav */
.ppf-policy-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 16px;
  background: #fafafc;
  border-bottom: 1px solid rgba(17,17,17,.06);
}

.ppf-policy-nav a{
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  color: #111827;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ppf-policy-nav a:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(16,24,40,.08);
  border-color: rgba(207,138,58,.28);
}

/* Content typography */
.ppf-policy-content{
  padding: 22px 18px 26px;
}

@media (min-width: 768px){
  .ppf-policy-content{ padding: 26px 26px 30px; }
}

.ppf-policy-content h2{
  margin: 22px 0 10px;
  font-size: 20px;
  line-height: 1.3;
  color: #111827;
  font-weight: 800;
  letter-spacing: -0.2px;
}

.ppf-policy-content h3{
  margin: 14px 0 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #111827;
  font-weight: 800;
}

.ppf-policy-content p{
  margin: 0 0 12px;
  color: #475467;
  line-height: 1.75;
}

.ppf-policy-content strong{
  color: #111827;
  font-weight: 800;
}

.ppf-policy-content a{
  color: var(--brand, #cf8a3a);
  font-weight: 700;
  text-decoration: none !important;
}
.ppf-policy-content a:hover{
  text-decoration: underline !important;
}

/* Lists */
.ppf-policy-content ul,
.ppf-policy-content ol{
  margin: 0 0 14px;
  padding-left: 20px;
}

.ppf-policy-content li{
  margin: 8px 0;
  color: #475467;
  line-height: 1.65;
}

/* Optional: subtle separators between sections */
.ppf-policy-content h2:not(:first-child){
  padding-top: 14px;
  border-top: 1px solid rgba(17,17,17,.06);
}

/* =========================
   PPF Privacy Policy (scoped)
========================= */
.ppf-legal-page{ padding-bottom: 60px; }

/* Hero */
.ppf-policy-hero{
  background: radial-gradient(1200px 600px at 50% -10%, rgba(207,138,58,.10), transparent),
              linear-gradient(180deg, #f7f8ff, #ffffff);
  border-bottom: 1px solid rgba(17,17,17,.08);
  padding: 46px 0 28px;
}
.ppf-policy-hero-inner{
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 18px;
}
.ppf-policy-title{
  margin: 0 0 10px;
  font-size: clamp(26px, 3.6vw, 40px);
  line-height: 1.15;
  color: var(--ink, #111);
  font-weight: 850;
  letter-spacing: -0.3px;
}
.ppf-policy-lead{
  margin: 0 0 14px;
  color: #475467;
  font-size: 16px;
  line-height: 1.75;
  max-width: 920px;
}
.ppf-policy-lead a{
  color: var(--brand, #cf8a3a);
  font-weight: 800;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(207,138,58,.45);
}
.ppf-policy-lead a:hover{ border-bottom-style: solid; }
.ppf-policy-meta{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(207,138,58,.10);
  border: 1px solid rgba(207,138,58,.18);
  color: #111827;
  font-size: 13px;
  font-weight: 650;
}
.ppf-policy-meta-value{ font-weight: 850; }

/* Grid: main + right TOC */
.ppf-policy-wrap{
  max-width: 1140px;
  margin: 0 auto;
  padding: 18px;
}
.ppf-policy-grid{
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 18px;
  align-items: start;
}

@media (max-width: 991px){
  .ppf-policy-grid{ grid-template-columns: 1fr; }
}

/* Main card */
.ppf-policy-card{
  background: #fff;
  /* border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(16,24,40,.06); */
  padding: 22px 18px 26px;
}
@media (min-width: 768px){
  .ppf-policy-card{ padding: 28px 26px 32px; }
}

/* Typography */
.ppf-policy-content h2{
  margin: 20px 0 10px;
  font-size: 20px;
  line-height: 1.25;
  color: #111827;
  font-weight: 850;
  letter-spacing: -0.2px;
  scroll-margin-top: 110px; /* nicer anchor jump under fixed headers */
}
.ppf-policy-content h3{
  margin: 14px 0 8px;
  font-size: 16px;
  line-height: 1.3;
  color: #111827;
  font-weight: 850;
}
.ppf-policy-content p{
  margin: 0 0 12px;
  color: #475467;
  line-height: 1.75;
}
.ppf-policy-content strong{
  color: #111827;
  font-weight: 850;
}
.ppf-policy-content a{
  color: var(--brand, #cf8a3a);
  font-weight: 800;
  text-decoration: none !important;
}
.ppf-policy-content a:hover{ text-decoration: underline !important; }

/* Lists */
.ppf-policy-content ul,
.ppf-policy-content ol{
  margin: 0 0 14px;
  padding-left: 20px;
}
.ppf-policy-content li{
  margin: 8px 0;
  color: #475467;
  line-height: 1.65;
}

/* Subtle separators between major sections */
.ppf-policy-content h2:not(:first-child){
  padding-top: 14px;
  border-top: 1px solid rgba(17,17,17,.06);
}

/* Right TOC */
.ppf-policy-toc{
  position: relative;
}
.ppf-policy-toc-card{
  position: sticky;
  top: 96px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
  overflow: hidden;
}
.ppf-toc-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px;
  background: #fafafc;
  border-bottom: 1px solid rgba(17,17,17,.06);
}
.ppf-toc-title{
  font-weight: 900;
  color: #111827;
}
.ppf-toc-toggle{
  display: none;
  background: rgba(207,138,58,.10);
  border: 1px solid rgba(207,138,58,.20);
  color: #111827;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 800;
  font-size: 13px;
}

/* TOC list */
.ppf-toc-list{ padding: 12px 12px 14px; }
.ppf-toc-list ul{ margin: 0; padding: 0; list-style: none; }
.ppf-toc-list li{ margin: 0; }
.ppf-toc-list a{
  display:block;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration: none !important;
  color: #334155;
  font-weight: 750;
  line-height: 1.3;
  transition: background .15s ease, transform .15s ease, border-color .15s ease;
  border: 1px solid transparent;
}
.ppf-toc-list a:hover{
  background: rgba(207,138,58,.10);
  border-color: rgba(207,138,58,.22);
  transform: translateY(-1px);
  color: #111827;
}

/* Mobile TOC collapsible */
@media (max-width: 991px){
  .ppf-policy-toc-card{ position: static; top: auto; }
  .ppf-toc-toggle{ display: inline-flex; }
  .ppf-toc-list{ display: none; }
  .ppf-toc-list.is-open{ display: block; }
}


/* =========================
   Contact page helpers (optional)
   Safe + scoped
========================= */
.ppf-contact-page .ppf-contact-hero-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.ppf-contact-page .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  color: #111827;
  font-weight: 800;
  text-decoration: none !important;
}
.ppf-contact-page .btn-secondary:hover{
  border-color: rgba(207,138,58,.30);
  background: rgba(207,138,58,.08);
}
.ppf-contact-page .ppf-contact-link{
  font-weight: 800;
  text-decoration: none !important;
}
.ppf-contact-page .ppf-contact-link:hover{
  text-decoration: underline !important;
}
.ppf-contact-page .ppf-contact-dot{
  margin: 0 8px;
  opacity: .5;
}
.ppf-contact-page .ppf-contact-form-card{
  border-color: rgba(17,17,17,.10) !important;
}
.ppf-contact-page .ppf-contact-note{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(207,138,58,.22);
  background: rgba(207,138,58,.08);
  color: #111827;
  font-size: 14px;
}

/* =========================
   PPF FAQ Accordion (Bootstrap 5)
   Paste once; used anywhere
========================= */
.ppf-faq-wrap{
 
  background: radial-gradient(1200px 600px at 50% -10%, rgba(207,138,58,.10), transparent),
              linear-gradient(180deg, #f7f8ff, #ffffff);
  border-top: 1px solid rgba(17,17,17,.06);
  border-bottom: 1px solid rgba(17,17,17,.08);
  padding: 44px 0 26px;
}
.ppf-faq-hero-inner{
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 18px;
}
.ppf-faq-title{
  margin: 0 0 10px;
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.15;
  font-weight: 900;
  color: #111827;
  letter-spacing: -0.25px;
}
.ppf-faq-sub{
  margin: 0;
  
  color: #475467;
  line-height: 1.75;
}

.ppf-faq-container{
  max-width: 1140px;
  margin: 0 auto;
  padding: 18px;
}
.ppf-faq-grid{
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 18px;
  align-items: start;
}
@media (max-width: 991px){
  .ppf-faq-grid{ grid-template-columns: 1fr; }
}

/* FAQ cards */
.ppf-faq-card{
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
  overflow: hidden;
  padding: 10px;
}
.ppf-faq-aside-card{
  position: sticky;
  top: 96px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
  padding: 16px;
}
@media (max-width: 991px){
  .ppf-faq-aside-card{ position: static; top: auto; }
}

.ppf-faq-aside-card h3{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  color: #111827;
}
.ppf-faq-aside-card p{
  margin: 0 0 12px;
  color: #475467;
  line-height: 1.7;
}
.ppf-faq-aside-links{
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.ppf-faq-link{
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(207,138,58,.22);
  background: rgba(207,138,58,.08);
  text-decoration: none !important;
  color: #111827;
  font-weight: 850;
}
.ppf-faq-link:hover{
  background: rgba(207,138,58,.12);
  border-color: rgba(207,138,58,.30);
}
.ppf-faq-aside-meta{
  font-size: 13px;
  color: #475467;
  line-height: 1.6;
}

/* Accordion styling */
.ppf-accordion .accordion-item{
  border: 0;
  border-bottom: 1px solid rgba(17,17,17,.06);
}
.ppf-accordion .accordion-item:last-child{
  border-bottom: 0;
}
.ppf-accordion .accordion-button{
  font-weight: 900;
  color: #111827;
  line-height: 1.35;
  padding: 14px 14px;
  background: #fff;
  box-shadow: none;
}
.ppf-accordion .accordion-button:not(.collapsed){
  background: rgba(207,138,58,.08);
  color: #111827;
}
.ppf-accordion .accordion-button:focus{
  border-color: transparent;
  box-shadow: 0 0 0 4px rgba(207,138,58,.20);
}
.ppf-accordion .accordion-body{
  color: #475467;
  line-height: 1.75;
  padding: 12px 14px 16px;
}
.ppf-accordion .accordion-body strong{
  color: #111827;
  font-weight: 900;
}
.ppf-accordion .accordion-body a{
  color: #cf8a3a;
  font-weight: 850;
  text-decoration: none !important;
}
.ppf-accordion .accordion-body a:hover{
  text-decoration: underline !important;
}


/* FIX: Bootstrap collapse must NOT use visibility:collapse */
.ppf-faq-wrap .accordion .collapse,
.ppf-faq-wrap .accordion .collapsing,
.ppf-faq-wrap .accordion .collapse.show{
  visibility: visible !important;
}
