/* Shared with the main Plum Village theme (already cached site-wide). */
@font-face{font-family:'PV Sans Serif';font-style:normal;font-weight:300;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-light-text.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-light-text.woff') format('woff');}
@font-face{font-family:'PV Sans Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff') format('woff');}
@font-face{font-family:'PV Sans Serif';font-style:normal;font-weight:500;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-medium.woff') format('woff');}
@font-face{font-family:'PV Sans Serif';font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-semibold.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-semibold.woff') format('woff');}
@font-face{font-family:'PV Sans Serif';font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-bold.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/pv-sans-serif-bold.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-regular.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-regular.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-italic.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-italic.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-600.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-600.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-600.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-600.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:700;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-700italic.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/cormorant-garamond-v16-vietnamese_latin-700italic.woff') format('woff');}
@font-face{font-family:'Gentium Plus';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-400-normal.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-400-normal.woff') format('woff');}
@font-face{font-family:'Gentium Plus';font-style:italic;font-weight:400;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-400-italic.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-400-italic.woff') format('woff');}
@font-face{font-family:'Gentium Plus';font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-700-normal.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-700-normal.woff') format('woff');}
@font-face{font-family:'Gentium Plus';font-style:italic;font-weight:700;font-display:swap;src:url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-700-italic.woff2') format('woff2'),url('/wp-content/themes/plumvillage/dist/fonts/gentium-plus-latin-700-italic.woff') format('woff');}
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#F3EDE1;font-family:'PV Sans Serif',system-ui,sans-serif;font-size:20px;color:#2A1814;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;text-wrap:balance;}
  p{text-wrap:pretty;}
  blockquote{font-family:'Gentium Plus',serif;text-wrap:pretty;}
  ::selection{background:#C7D2B5;color:#2A1814;}
  ::-webkit-scrollbar{width:11px;height:11px;}
  ::-webkit-scrollbar-track{background:#FBF5EA;}
  ::-webkit-scrollbar-thumb{background:#2D5A4A;border:3px solid #FBF5EA;border-radius:6px;}
  @keyframes plumFillW{0%{width:0;}100%{width:62.4%;}}
  @keyframes treeGrow{0%{height:0;}100%{height:100%;}}
  @keyframes revealMask{0%{transform:scaleY(1);}100%{transform:scaleY(0);}}
  @keyframes heroEnter{0%{opacity:0;transform:translateY(22px);}100%{opacity:1;transform:translateY(0);}}
  @keyframes cardSlide{0%{opacity:0;transform:translateX(14px);}100%{opacity:1;transform:translateX(0);}}
  @keyframes plumShimmer{0%,100%{opacity:.35;}50%{opacity:.85;}}
  @keyframes plumBloom{0%{opacity:0;transform:scale(.4) translateY(6px);}60%{opacity:1;}100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes petalFloat{0%{transform:translateY(30px) rotate(0deg);opacity:0;}12%{opacity:.6;}80%{opacity:.5;}100%{transform:translateY(-150px) rotate(70deg);opacity:0;}}
  @keyframes glowDrift{0%,100%{transform:translate(0,0) scale(1);opacity:.45;}50%{transform:translate(22px,-16px) scale(1.12);opacity:.72;}}
  @keyframes sheenSweep{0%{transform:translateX(-150%) skewX(-16deg);}55%,100%{transform:translateX(180%) skewX(-16deg);}}
  @keyframes badgeShimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
  @keyframes softBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
  @keyframes treeSway{0%,100%{transform:rotate(-1.4deg);}50%{transform:rotate(1.4deg);}}
  @keyframes treeRise{0%{transform:scaleY(.04);opacity:0;}60%{opacity:1;}100%{transform:scaleY(1);opacity:1;}}
  @keyframes tilePop{0%{opacity:0;transform:scale(.82) translateY(14px);}60%{opacity:1;}100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes blossomIn{0%{opacity:0;transform:translateY(20px) scale(.92);}100%{opacity:1;transform:translateY(0) scale(1);}}
  @keyframes vidCaption{0%{opacity:0;}12%{opacity:1;}80%{opacity:1;}100%{opacity:0;}}
  @keyframes blossomFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
  @keyframes dotPulse{0%,100%{transform:scale(1);opacity:.55;}50%{transform:scale(1.5);opacity:1;}}
  @keyframes underlineShimmer{0%{background-position:0% 0;}100%{background-position:200% 0;}}
  @keyframes marqueeL{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
  @keyframes marqueeR{0%{transform:translateX(-50%);}100%{transform:translateX(0);}}
  /* om-media background loops — cover-crop a 16:9 embed into sticky/banner frames */
  .pv-om-bg{position:absolute;inset:0;overflow:hidden;background:#211F12;pointer-events:none;}
  .pv-om-bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;display:block;}
  /* premium image treatment */
  img{image-rendering:auto;}
  /* interactive button feel — React serializes inline styles with spaces + rgb() */
  [style*="border-radius: 40px"][style*="cursor: pointer"]{transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, background-color .2s ease, filter .2s ease;}
  [style*="border-radius: 40px"][style*="cursor: pointer"]:hover{transform:translateY(-2px);box-shadow:0 16px 32px -18px rgba(42,24,20,.55);}
  [style*="1.5px solid rgb(138, 24, 56)"][style*="border-radius: 40px"]:hover{background-color:rgba(138,24,56,.08);}
  [style*="1.5px solid rgb(45, 90, 74)"][style*="border-radius: 40px"]:hover{background-color:rgba(45,90,74,.07);}
  [style*="border-radius: 11px"][style*="cursor: pointer"]{transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, filter .2s ease;}
  [style*="border-radius: 11px"][style*="cursor: pointer"]:hover{transform:translateY(-2px);box-shadow:0 18px 34px -16px rgba(42,24,20,.5);filter:saturate(1.05) brightness(1.03);}
  /* thumbnail / gallery frame lift */
  [style*="cursor: pointer"][style*="object-fit: cover"]:hover{filter:brightness(1.03);}
  /* responsive reflow — targets React-serialized inline grid signatures */
  @media(max-width:1200px){
    [style*="grid-template-columns: minmax(0px, 1.45fr)"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: minmax(0px, 1.12fr)"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.08fr)"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: 236px 1fr"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: 260px 1fr"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: 1fr 260px"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) 220px"]{grid-template-columns:1fr!important;}
    /* centered nav wordmark overlaps the Rooted Renewal mark once space tightens */
    img[src*="plumvillage-wordmark"]{display:none!important;}
  }
  /* tree thermometer: never let aspect-ratio width blow the grid column */
  [data-cine-thermo]{min-width:0;max-width:100%;}
  [data-cine-thermo] > div:first-child{max-width:170px;}
  [data-cine-thermo] > div:last-child{min-width:0;}
  @media(max-width:820px){
    [style*="grid-template-columns: repeat(4, minmax(0px, 1fr))"]{grid-template-columns:repeat(2, minmax(0px, 1fr))!important;}
    [style*="grid-template-columns: repeat(3, minmax(0px, 1fr))"]{grid-template-columns:repeat(2, minmax(0px, 1fr))!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr)"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: repeat(6, minmax(0px, 1fr))"]{grid-template-columns:repeat(3, minmax(0px, 1fr))!important;}
    [style*="column-count: 3"]{column-count:2!important;}
    [data-cine-thermo]{gap:24px!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 420px)"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) 220px"]{grid-template-columns:1fr!important;}
  }
  @media(max-width:560px){
    [style*="grid-template-columns: repeat(4, minmax(0px, 1fr))"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: repeat(3, minmax(0px, 1fr))"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: repeat(2, minmax(0px, 1fr))"]{grid-template-columns:1fr!important;}
    [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.08fr)"]{grid-template-columns:1fr!important;}
    [style*="column-count: 3"]{column-count:1!important;}
    [data-cine-thermo]{flex-direction:column!important;align-items:center!important;gap:22px!important;}
    [data-cine-thermo] > div:first-child{width:150px!important;max-width:150px!important;}
    [style*="padding: 0px 48px"]{padding-left:22px!important;padding-right:22px!important;}
    [style*="padding: 56px 48px 0px"]{padding-left:22px!important;padding-right:22px!important;}
    [style*="padding: 46px 48px 10px"]{padding-left:22px!important;padding-right:22px!important;}
  }
  @media(max-width:680px){
    /* top menu bar */
    [style*="rooted-renewal-wordmark"]{width:150px!important;}
    img[src*="plum.svg"]{width:32px!important;}
    img[src*="plumvillage-wordmark"]{height:26px!important;}
    [style*="position: sticky"][style*="z-index: 40"]{padding-left:14px!important;padding-right:14px!important;}
    /* hero + gift stat lines: center and full width */
    [style*="max-width: 1320px"]{max-width:100%!important;justify-content:center!important;padding-left:24px!important;padding-right:24px!important;}
    [style*="max-width: 1320px"] > p{max-width:100%!important;text-align:center!important;}
    /* generic side padding trim */
    [style*="padding: 0px 48px"]{padding-left:22px!important;padding-right:22px!important;}
    [style*="padding: 64px 48px 0px"]{padding-left:22px!important;padding-right:22px!important;}
    [style*="padding: 52px 56px"]{padding:34px 24px!important;}
    [style*="padding: clamp(36px, 5vw, 64px)"]{padding:28px 22px!important;}
    /* match card + 3-col rows already reflow; tighten hamlet gate row */
    [style*="grid-template-columns: 220px minmax(0px, 1fr)"]{grid-template-columns:1fr!important;}
    /* general support CTA: nowrap button was crushing the copy column (~64px) */
    [data-general-support]{grid-template-columns:1fr!important;justify-items:stretch;text-align:left;gap:16px!important;padding:20px 18px!important;}
    [data-general-support] > div:last-child{justify-self:stretch!important;white-space:normal!important;text-align:center;width:100%;box-sizing:border-box;}
    /* hero heading: let it shrink well below its desktop floor */
    [style*="clamp(56px, 7.8vw, 92px)"]{font-size:clamp(34px,10vw,52px)!important;}
    /* centered nav wordmark collides with logo + donate — hide on mobile */
    img[src*="plumvillage-wordmark"]{display:none!important;}
    /* smaller nav donate button */
    [style*="position: sticky"][style*="z-index: 40"] [style*="border-radius: 40px"][style*="cursor: pointer"]{padding:10px 22px!important;font-size:14px!important;}
    /* map popup images shorter on mobile */
    [data-map-popup] img{height:220px!important;}
    /* mobile hamburger + slide-in nav */
    [data-mnav-btn]{display:flex!important;}
    [data-menu-root] img[src*="rooted-renewal-wordmark"]{display:none!important;}
    [data-menu-root] [style*="width: 300px"]{display:none!important;}
  }

  /* FundraiseUp goal meter — single Element, CSS-pinned over match card or modal slot */
  .pv-fru-meter{width:100%;max-width:220px;min-height:88px;}
  .pv-fru-meter--overlay{position:fixed;z-index:35;max-width:none;pointer-events:auto;box-sizing:border-box;}
  .pv-fru-meter iframe,
  .pv-fru-meter [id^="XYXLNYZV"],
  .pv-fru-meter > *{width:100%!important;max-width:100%;}
  .pv-match-meter-slot{width:100%;min-height:120px;}
  .pv-donate-modal__meter-slot{width:100%;min-height:160px;}

  /* donate modal (outside Nest/React — meter is CSS-overlaid into the slot) */
  .pv-donate-modal[hidden]{display:none!important;}
  .pv-donate-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;}
  .pv-donate-modal__backdrop{position:absolute;inset:0;background:rgba(30,24,18,.55);backdrop-filter:blur(3px);}
  .pv-donate-modal__dialog{position:relative;z-index:1;width:100%;max-width:760px;max-height:92vh;overflow:auto;background:#FBF5EA;border:1px solid #D9CFBB;border-radius:20px;box-shadow:0 30px 80px rgba(30,24,18,.4);display:grid;grid-template-columns:minmax(200px,236px) 1fr;}
  .pv-donate-modal__close{position:absolute;top:14px;right:16px;z-index:5;width:32px;height:32px;border-radius:50%;border:1px solid #D9CFBB;background:#FBF5EA;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#857A66;padding:0;line-height:1;}
  .pv-donate-modal__close:hover{background:#F3EDE1;}
  .pv-donate-modal__meter{background:#F3EDE1;border-right:1px solid #D9CFBB;border-radius:20px 0 0 20px;padding:26px 18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;}
  .pv-donate-modal__meter-label{font-family:'PV Sans Serif',system-ui,sans-serif;font-size:9px;letter-spacing:.16em;color:#8A1838;text-transform:uppercase;margin-bottom:18px;}
  .pv-donate-modal__meter-slot{width:100%;}
  .pv-donate-modal__copy{padding:34px 34px 30px;display:flex;flex-direction:column;gap:13px;}
  .pv-donate-modal__copy h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;line-height:1.05;color:#2A1814;}
  .pv-donate-modal__copy p{margin:0;font-size:17.5px;line-height:1.72;color:#4A4035;}
  .pv-donate-modal__actions{margin-top:6px;display:flex;flex-direction:column;gap:10px;}
  .pv-donate-modal__donate{height:52px;border:0;border-radius:11px;background:#8A1838;color:#FBF5EA;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;}
  .pv-donate-modal__donate:hover{transform:translateY(-2px);box-shadow:0 18px 34px -16px rgba(42,24,20,.5);color:#FBF5EA;}
  .pv-donate-modal__later{border:0;background:transparent;padding:0;font-family:'PV Sans Serif',system-ui,sans-serif;font-size:12px;color:#857A66;cursor:pointer;text-align:center;}
  .pv-donate-modal__later:hover{color:#2A1814;}
  @media(max-width:680px){
    .pv-donate-modal__dialog{grid-template-columns:1fr;}
    .pv-donate-modal__meter{border-right:0;border-bottom:1px solid #D9CFBB;border-radius:20px 20px 0 0;}
    .pv-donate-modal__copy{padding:28px 22px 24px;}
    .pv-donate-modal__copy h3{font-size:28px;}
  }
