/*
Theme Name: Kadence Child - Digital Planner Lab
Theme URI: https://digitalplannerlab.com
Description: Update-safe child theme for Digital Planner Lab. Custom premium design system built on top of Kadence.
Author: Digital Planner Lab
Template: kadence
Version: 2.0.0
Text Domain: kadence-child-dpl
*/

:root{
  --dpl-forest:#173F35;
  --dpl-forest-dark:#0F2B24;
  --dpl-gold:#B8912F;
  --dpl-gold-light:#D8B65C;
  --dpl-ivory:#FAF6EF;
  --dpl-white:#FFFFFF;
  --dpl-charcoal:#22261F;
  --dpl-navy:#101B33;
  --dpl-radius:20px;
  --dpl-radius-sm:12px;
  --dpl-radius-lg:32px;
  --dpl-shadow:0 30px 70px -30px rgba(16,27,51,0.35);
  --dpl-shadow-sm:0 10px 25px -12px rgba(23,63,53,0.18);
  --dpl-ease:cubic-bezier(.16,1,.3,1);
  --dpl-font-head:"Fraunces", Georgia, serif;
  --dpl-font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

*{box-sizing:border-box;}
body.dpl-site{background:var(--dpl-ivory);color:var(--dpl-charcoal);font-family:var(--dpl-font-body);font-size:17px;line-height:1.6;}
.dpl-site h1,.dpl-site h2,.dpl-site h3,.dpl-site h4,.dpl-site .dpl-font-head{font-family:var(--dpl-font-head);font-weight:600;color:var(--dpl-forest);letter-spacing:-0.01em;}
.dpl-site img{max-width:100%;height:auto;display:block;}
.dpl-site a{transition:color .25s var(--dpl-ease);}
.dpl-site .site-container,.dpl-site .content-container{max-width:1440px;}

@media (prefers-reduced-motion: reduce){
  .dpl-site *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

.dpl-wrap{max-width:1440px;margin:0 auto;padding:0 40px;}
.dpl-wrap--narrow{max-width:980px;}
.dpl-section{padding:130px 0;position:relative;}
.dpl-section--tight{padding:90px 0;}
.dpl-section--dark{background:var(--dpl-navy);color:var(--dpl-ivory);}
.dpl-section--dark h2,.dpl-section--dark h3{color:var(--dpl-white);}
.dpl-section--forest{background:var(--dpl-forest);color:var(--dpl-ivory);}
.dpl-section--forest h2,.dpl-section--forest h3{color:var(--dpl-white);}
.dpl-section--ivory{background:var(--dpl-ivory);}
.dpl-section--white{background:var(--dpl-white);}
@media (max-width:1024px){.dpl-section{padding:80px 0;} .dpl-wrap{padding:0 24px;}}

.dpl-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(184,145,47,.14);color:var(--dpl-gold);border:1px solid rgba(184,145,47,.35);border-radius:999px;padding:8px 18px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;}
.dpl-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--dpl-gold);}
.dpl-eyebrow--dark{background:rgba(255,255,255,.08);color:var(--dpl-gold-light);border-color:rgba(255,255,255,.18);}

.dpl-h1{font-size:clamp(42px,6.4vw,86px);line-height:1.03;margin:0 0 24px;}
.dpl-h2{font-size:clamp(30px,4vw,52px);line-height:1.08;margin:0 0 18px;}
.dpl-h3{font-size:clamp(20px,2.1vw,26px);line-height:1.25;margin:0 0 12px;}
.dpl-lead{font-size:clamp(17px,1.4vw,21px);line-height:1.65;color:rgba(34,38,31,.78);max-width:560px;}
.dpl-section--dark .dpl-lead,.dpl-section--forest .dpl-lead{color:rgba(250,246,239,.82);}
.dpl-center{text-align:center;margin-left:auto;margin-right:auto;}
.dpl-eyebrow.dpl-center{display:inline-flex;}
.dpl-kicker-row{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:56px;}
.dpl-kicker-row.dpl-center{align-items:center;text-align:center;}

.dpl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:17px 34px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;transition:transform .35s var(--dpl-ease),box-shadow .35s var(--dpl-ease),background .3s;cursor:pointer;border:2px solid transparent;white-space:nowrap;}
.dpl-btn-primary{background:var(--dpl-gold);color:var(--dpl-forest-dark);box-shadow:var(--dpl-shadow-sm);}
.dpl-btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 30px -12px rgba(184,145,47,.45);background:var(--dpl-gold-light);color:var(--dpl-forest-dark);}
.dpl-btn-secondary{background:transparent;border-color:rgba(250,246,239,.4);color:var(--dpl-ivory);}
.dpl-btn-secondary:hover{transform:translateY(-3px);border-color:var(--dpl-ivory);background:rgba(250,246,239,.08);color:var(--dpl-ivory);}
.dpl-btn-dark{background:var(--dpl-forest);color:var(--dpl-white);}
.dpl-btn-dark:hover{transform:translateY(-3px);background:var(--dpl-forest-dark);color:var(--dpl-white);}
.dpl-btn-outline-dark{background:transparent;border-color:rgba(23,63,53,.3);color:var(--dpl-forest);}
.dpl-btn-outline-dark:hover{transform:translateY(-3px);border-color:var(--dpl-forest);background:rgba(23,63,53,.06);}
.dpl-btn:focus-visible{outline:3px solid var(--dpl-gold);outline-offset:3px;}

.dpl-announce{background:var(--dpl-forest);color:var(--dpl-ivory);text-align:center;font-size:13.5px;padding:11px 16px;letter-spacing:.03em;position:relative;z-index:10;}
.dpl-announce strong{color:var(--dpl-gold-light);}

.dpl-site .site-header{background:var(--dpl-ivory);border-bottom:1px solid rgba(23,63,53,.08);}
.dpl-site .site-header.is-sticking, .dpl-site .site-header.item-is-sticky, .dpl-site .site-header.is-transparent-sticky{box-shadow:0 12px 30px -18px rgba(16,27,51,.25);}
.dpl-site .site-branding .brand{font-family:var(--dpl-font-head);font-weight:700;font-size:24px;color:var(--dpl-forest);letter-spacing:-.01em;}
.dpl-site .main-navigation ul li a{font-weight:600;font-size:15px;color:var(--dpl-charcoal);}
.dpl-site .main-navigation ul li a:hover{color:var(--dpl-forest);}
.dpl-site .main-navigation > div > ul > li > a{padding-top:14px;padding-bottom:14px;}
.dpl-site .main-navigation ul li.current-menu-item > a{color:var(--dpl-forest);}

.dpl-site .main-navigation ul ul{background:var(--dpl-white);border-radius:var(--dpl-radius-sm);box-shadow:var(--dpl-shadow);border:1px solid rgba(23,63,53,.06);padding:14px;min-width:280px;}
.dpl-site .main-navigation ul ul li a{border-radius:10px;padding:12px 16px !important;color:var(--dpl-charcoal);}
.dpl-site .main-navigation ul ul li a:hover{background:rgba(184,145,47,.1);color:var(--dpl-forest);}

.dpl-header-icons{display:flex;align-items:center;gap:18px;}
.dpl-header-icons a{color:var(--dpl-forest);position:relative;}
.dpl-cart-count{position:absolute;top:-8px;right:-10px;background:var(--dpl-gold);color:var(--dpl-forest-dark);font-size:10px;font-weight:800;border-radius:999px;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;padding:0 3px;}

.dpl-hero{position:relative;background:radial-gradient(120% 140% at 15% 0%,#1D4B3F 0%,var(--dpl-navy) 62%,#0B1526 100%);overflow:hidden;padding:96px 0 0;}
.dpl-hero-inner{max-width:1440px;margin:0 auto;padding:80px 40px 0;display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;position:relative;z-index:3;}
.dpl-hero h1{color:var(--dpl-white);}
.dpl-hero p.dpl-lead{color:rgba(250,246,239,.85);max-width:540px;}
.dpl-hero-ctas{display:flex;gap:18px;flex-wrap:wrap;margin:34px 0 40px;}
.dpl-hero-badges{display:flex;gap:26px;flex-wrap:wrap;font-size:13.5px;color:rgba(250,246,239,.68);padding-bottom:70px;}
.dpl-hero-badges span{display:flex;align-items:center;gap:7px;}
.dpl-hero-badges svg{flex:none;}
.dpl-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.4;pointer-events:none;}
.dpl-glow-1{width:560px;height:560px;background:var(--dpl-gold);top:-160px;right:-120px;}
.dpl-glow-2{width:420px;height:420px;background:#2E6E5C;bottom:-140px;left:5%;}

.dpl-devices{position:relative;height:600px;}
.dpl-laptop{position:absolute;right:0;top:20px;width:640px;max-width:92vw;background:#0C1B18;border-radius:18px 18px 0 0;padding:16px 16px 0;box-shadow:var(--dpl-shadow);z-index:2;}
.dpl-laptop .dpl-screen{background:var(--dpl-ivory);border-radius:8px;padding:22px;min-height:340px;overflow:hidden;}
.dpl-laptop-base{width:660px;max-width:95vw;height:16px;background:linear-gradient(#16241f,#0C1B18);margin:0 auto;border-radius:0 0 10px 10px;position:absolute;right:-10px;top:396px;z-index:1;}
.dpl-tablet{position:absolute;left:-10px;bottom:0;width:230px;background:#111;border-radius:22px;padding:12px;box-shadow:var(--dpl-shadow);z-index:3;transform:rotate(-6deg);}
.dpl-tablet .dpl-screen{background:var(--dpl-white);border-radius:12px;padding:16px;min-height:290px;}
.dpl-phone{position:absolute;left:150px;bottom:-30px;width:130px;background:#111;border-radius:26px;padding:8px;box-shadow:var(--dpl-shadow);z-index:4;transform:rotate(5deg);}
.dpl-phone .dpl-screen{background:var(--dpl-white);border-radius:18px;padding:12px;min-height:230px;}
@media (max-width:1180px){.dpl-hero-inner{grid-template-columns:1fr;} .dpl-devices{height:520px;margin-top:20px;} .dpl-laptop{position:relative;right:auto;margin:0 auto;} .dpl-laptop-base{display:none;} .dpl-tablet,.dpl-phone{display:none;}}

.dpl-dash-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dpl-dash-title{font-family:var(--dpl-font-head);font-weight:700;color:var(--dpl-forest);font-size:15px;}
.dpl-dash-pill{background:rgba(23,63,53,.08);color:var(--dpl-forest);font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;}
.dpl-task{display:flex;align-items:center;gap:10px;padding:9px 4px;font-size:13.5px;color:var(--dpl-charcoal);border-bottom:1px solid rgba(23,63,53,.06);}
.dpl-task:last-child{border-bottom:none;}
.dpl-task.done span:last-child{text-decoration:line-through;color:rgba(34,38,31,.4);}
.dpl-check{width:16px;height:16px;border-radius:5px;border:2px solid rgba(23,63,53,.35);flex:none;position:relative;}
.dpl-task.done .dpl-check{background:var(--dpl-gold);border-color:var(--dpl-gold);}
.dpl-task.done .dpl-check::after{content:'';position:absolute;left:3px;top:0px;width:4px;height:8px;border:solid var(--dpl-forest-dark);border-width:0 2px 2px 0;transform:rotate(45deg);}
.dpl-ring-wrap{display:inline-flex;align-items:center;gap:10px;}
.dpl-ring-box{position:relative;display:inline-flex;line-height:0;}
.dpl-ring-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:var(--dpl-forest);line-height:1;pointer-events:none;white-space:nowrap;}
.dpl-ring-label{font-size:12px;font-weight:700;color:var(--dpl-forest);}
.dpl-ring circle{fill:none;stroke-width:6;}
.dpl-ring .bg{stroke:rgba(23,63,53,.1);}
.dpl-ring .fg{stroke:var(--dpl-gold);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s var(--dpl-ease);}
.dpl-habit-streak{display:inline-flex;gap:4px;}
.dpl-habit-streak i{width:14px;height:14px;border-radius:4px;background:rgba(23,63,53,.12);font-style:normal;display:inline-block;}
.dpl-habit-streak i.on{background:var(--dpl-gold);}

.dpl-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.dpl-cat-card{grid-column:span 2;background:var(--dpl-white);border-radius:var(--dpl-radius);padding:34px 28px;box-shadow:var(--dpl-shadow-sm);position:relative;overflow:hidden;text-decoration:none;display:block;transition:transform .4s var(--dpl-ease),box-shadow .4s var(--dpl-ease);border:1px solid rgba(23,63,53,.06);}
.dpl-cat-card:hover{transform:translateY(-8px);box-shadow:var(--dpl-shadow);}
.dpl-cat-card:nth-child(1),.dpl-cat-card:nth-child(4){grid-column:span 3;}
.dpl-cat-card:nth-child(2),.dpl-cat-card:nth-child(3){grid-column:span 3;}
.dpl-cat-card .dpl-cat-num{font-family:var(--dpl-font-head);font-size:13px;color:var(--dpl-gold);font-weight:700;letter-spacing:.08em;}
.dpl-cat-card h3{margin:14px 0 10px;}
.dpl-cat-card p{color:rgba(34,38,31,.68);font-size:14.5px;margin:0 0 18px;}
.dpl-cat-card .dpl-cat-link{font-weight:700;font-size:14px;color:var(--dpl-forest);display:inline-flex;align-items:center;gap:6px;}
.dpl-cat-card .dpl-cat-link svg{transition:transform .3s var(--dpl-ease);}
.dpl-cat-card:hover .dpl-cat-link svg{transform:translateX(4px);}
@media (max-width:900px){.dpl-cat-grid{grid-template-columns:1fr 1fr;} .dpl-cat-card,.dpl-cat-card:nth-child(1),.dpl-cat-card:nth-child(2),.dpl-cat-card:nth-child(3),.dpl-cat-card:nth-child(4){grid-column:span 1;}}
@media (max-width:560px){.dpl-cat-grid{grid-template-columns:1fr;}}

.dpl-sample-tag{position:absolute;top:16px;left:16px;background:var(--dpl-navy);color:var(--dpl-ivory);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:2;}
.dpl-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.dpl-product-card{background:var(--dpl-white);border-radius:var(--dpl-radius);overflow:hidden;box-shadow:var(--dpl-shadow-sm);position:relative;border:1px solid rgba(23,63,53,.06);}
.dpl-product-card .dpl-product-media{background:linear-gradient(145deg,#EFE7D6,#F7F2E7);height:220px;display:flex;align-items:center;justify-content:center;position:relative;}
.dpl-product-card .dpl-product-body{padding:24px 26px 28px;}
.dpl-product-card h3{font-size:19px;margin:0 0 8px;}
.dpl-product-card .dpl-price{font-weight:800;color:var(--dpl-forest);font-size:18px;}
@media (max-width:900px){.dpl-product-grid{grid-template-columns:1fr;}}

.dpl-demo{background:var(--dpl-white);border-radius:var(--dpl-radius-lg);box-shadow:var(--dpl-shadow);padding:20px;border:1px solid rgba(23,63,53,.06);}
.dpl-demo-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:var(--dpl-ivory);border-radius:999px;margin-bottom:24px;}
.dpl-demo-tab{border:none;background:transparent;padding:12px 22px;border-radius:999px;font-weight:700;font-size:14.5px;color:rgba(34,38,31,.55);cursor:pointer;transition:all .3s var(--dpl-ease);}
.dpl-demo-tab.is-active{background:var(--dpl-forest);color:var(--dpl-white);}
.dpl-demo-panel{display:none;padding:18px 26px 30px;min-height:360px;}
.dpl-demo-panel.is-active{display:block;}
.dpl-demo-week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
.dpl-demo-day{background:var(--dpl-ivory);border-radius:12px;padding:14px 10px;text-align:center;}
.dpl-demo-day strong{display:block;font-family:var(--dpl-font-head);color:var(--dpl-forest);margin-bottom:8px;}
.dpl-demo-day span{display:block;font-size:11px;color:rgba(34,38,31,.55);margin-top:4px;}
.dpl-demo-day.is-today{background:var(--dpl-forest);color:var(--dpl-white);}
.dpl-demo-day.is-today strong{color:var(--dpl-gold-light);}
.dpl-demo-habit-row{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid rgba(23,63,53,.08);}
.dpl-demo-habit-row:last-child{border-bottom:none;}
.dpl-demo-click{cursor:pointer;user-select:none;}

.dpl-compare{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--dpl-radius-lg);overflow:hidden;box-shadow:var(--dpl-shadow);}
.dpl-compare-col{padding:44px 40px;}
.dpl-compare-col.is-pdf{background:#EFEAE0;color:rgba(34,38,31,.65);}
.dpl-compare-col.is-html{background:var(--dpl-forest);color:var(--dpl-ivory);}
.dpl-compare-col h3{margin-bottom:22px;}
.dpl-compare-col.is-html h3{color:var(--dpl-white);}
.dpl-compare-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:14.5px;}
.dpl-compare-col.is-html .dpl-compare-row{border-bottom-color:rgba(255,255,255,.12);}
.dpl-compare-row:last-child{border-bottom:none;}
@media (max-width:900px){.dpl-compare{grid-template-columns:1fr;}}

.dpl-process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;}
.dpl-process::before{content:'';position:absolute;top:34px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,rgba(23,63,53,.25) 0 10px,transparent 10px 20px);z-index:0;}
.dpl-process-step{position:relative;z-index:1;text-align:left;}
.dpl-process-num{width:68px;height:68px;border-radius:50%;background:var(--dpl-forest);color:var(--dpl-gold-light);font-family:var(--dpl-font-head);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:var(--dpl-shadow-sm);}
@media (max-width:900px){.dpl-process{grid-template-columns:1fr 1fr;} .dpl-process::before{display:none;}}

.dpl-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.dpl-trust-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--dpl-radius);padding:28px 24px;}
.dpl-trust-item h4{color:var(--dpl-white);font-family:var(--dpl-font-head);margin:14px 0 8px;font-size:17px;}
.dpl-trust-item p{color:rgba(250,246,239,.72);font-size:14px;margin:0;}
@media (max-width:900px){.dpl-trust-grid{grid-template-columns:1fr 1fr;}}

.dpl-faq{max-width:860px;margin:0 auto;}
.dpl-faq-item{border-bottom:1px solid rgba(23,63,53,.14);}
.dpl-faq-q{width:100%;text-align:left;background:none;border:none;padding:24px 4px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-family:var(--dpl-font-head);font-size:18px;font-weight:600;color:var(--dpl-forest);}
.dpl-faq-icon{flex:none;width:26px;height:26px;position:relative;}
.dpl-faq-icon::before,.dpl-faq-icon::after{content:'';position:absolute;background:var(--dpl-forest);top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .3s var(--dpl-ease);}
.dpl-faq-icon::before{width:16px;height:2px;}
.dpl-faq-icon::after{width:2px;height:16px;}
.dpl-faq-item.is-open .dpl-faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.dpl-faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--dpl-ease);}
.dpl-faq-item.is-open .dpl-faq-a{max-height:400px;}
.dpl-faq-a p{padding:0 4px 24px;color:rgba(34,38,31,.72);font-size:15px;max-width:760px;}

.dpl-newsletter{background:linear-gradient(120deg,var(--dpl-forest),var(--dpl-forest-dark));border-radius:var(--dpl-radius-lg);padding:60px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.dpl-newsletter h3{color:var(--dpl-white);margin-bottom:8px;}
.dpl-newsletter p{color:rgba(250,246,239,.75);margin:0;max-width:420px;}
.dpl-newsletter-form{display:flex;gap:12px;flex-wrap:wrap;}
.dpl-newsletter-form input[type=email]{padding:15px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--dpl-white);min-width:260px;font-size:15px;}
.dpl-newsletter-form input[type=email]::placeholder{color:rgba(250,246,239,.55);}

.dpl-footer{background:var(--dpl-charcoal);color:rgba(250,246,239,.7);padding:90px 0 0;}
.dpl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(250,246,239,.1);}
.dpl-footer-brand{font-family:var(--dpl-font-head);color:var(--dpl-white);font-size:22px;margin-bottom:14px;}
.dpl-footer h5{color:var(--dpl-white);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;}
.dpl-footer ul{list-style:none;margin:0;padding:0;}
.dpl-footer ul li{margin-bottom:11px;}
.dpl-footer a{color:rgba(250,246,239,.68);text-decoration:none;font-size:14.5px;}
.dpl-footer a:hover{color:var(--dpl-gold-light);}
.dpl-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:rgba(250,246,239,.5);flex-wrap:wrap;gap:12px;}
@media (max-width:1024px){.dpl-footer-grid{grid-template-columns:1fr 1fr;}}

.dpl-breadcrumbs{font-size:13.5px;color:rgba(34,38,31,.55);padding:22px 0;}
.dpl-breadcrumbs a{color:rgba(34,38,31,.55);text-decoration:none;}
.dpl-breadcrumbs a:hover{color:var(--dpl-forest);}

.dpl-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--dpl-ease),transform .7s var(--dpl-ease);}
.dpl-reveal.in{opacity:1;transform:translateY(0);}

.dpl-site .mobile-nav-drawer{background:var(--dpl-ivory);}

.dpl-site .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--dpl-font-head);color:var(--dpl-forest);}
.dpl-site .woocommerce ul.products li.product{border-radius:var(--dpl-radius);overflow:hidden;box-shadow:var(--dpl-shadow-sm);border:1px solid rgba(23,63,53,.06);padding-bottom:10px;}
.dpl-site .woocommerce span.price{color:var(--dpl-forest);font-weight:800;}
.dpl-site .woocommerce a.button, .dpl-site .woocommerce button.button{background:var(--dpl-forest);color:var(--dpl-white);border-radius:999px;font-weight:700;}
.dpl-site .woocommerce a.button:hover, .dpl-site .woocommerce button.button:hover{background:var(--dpl-forest-dark);}
.dpl-cat-intro{background:var(--dpl-white);border-radius:var(--dpl-radius-lg);padding:50px;box-shadow:var(--dpl-shadow-sm);margin-bottom:50px;}
.dpl-cat-intro h1{margin-bottom:14px;}

.dpl-404{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px;}
.dpl-404 .dpl-404-num{font-family:var(--dpl-font-head);font-size:clamp(80px,14vw,180px);color:var(--dpl-forest);line-height:1;margin-bottom:10px;}

.dpl-test-banner{background:repeating-linear-gradient(135deg,#101B33,#101B33 12px,#B8912F 12px,#B8912F 24px);color:var(--dpl-white);text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.05em;padding:9px;text-transform:uppercase;}

.dpl-demo-habit-row.done .dpl-check{background:var(--dpl-gold);border-color:var(--dpl-gold);}
.dpl-demo-habit-row.done .dpl-check::after{content:'';position:absolute;left:3px;top:0px;width:4px;height:8px;border:solid var(--dpl-forest-dark);border-width:0 2px 2px 0;transform:rotate(45deg);}
.dpl-demo-habit-row .dpl-check{position:relative;}
.dpl-demo-click{cursor:pointer;}

.dpl-site .site-info{display:none;}

.dpl-site .main-navigation ul.sub-menu{background:var(--dpl-white) !important;border-radius:var(--dpl-radius-sm);box-shadow:var(--dpl-shadow);border:1px solid rgba(23,63,53,.06);padding:14px !important;min-width:280px;}
.dpl-site .main-navigation ul.sub-menu li a{color:var(--dpl-charcoal) !important;border-radius:10px;}
.dpl-site .main-navigation ul.sub-menu li a:hover{background:rgba(184,145,47,.1);color:var(--dpl-forest) !important;}

.dpl-site .woocommerce-breadcrumb{font-size:13.5px;color:rgba(34,38,31,.55);padding:22px 40px 0;max-width:1440px;margin:0 auto;}
.dpl-site .woocommerce-breadcrumb a{color:rgba(34,38,31,.55);text-decoration:none;}
.dpl-site .woocommerce-breadcrumb a:hover{color:var(--dpl-forest);}
.dpl-site div.product{max-width:1440px;margin:0 auto;padding:20px 40px 60px;}
.dpl-site div.product .product_title{font-size:clamp(28px,3.5vw,42px);}
.dpl-site div.product p.price{font-size:24px;color:var(--dpl-gold);font-weight:800;}


/* =========================================================
   PHASE 1A FIX - Hero spacing, laptop-viewport fit
   Root cause: hero heading inherited Kadence's
   ".single-content h1" margin (1.5em / 0.5em) because that
   selector has higher specificity than the base ".dpl-h1"
   rule, and the hero section used oversized top padding.
   Fixed by scoping overrides under ".dpl-hero" (higher
   specificity, no !important needed) and trimming spacing so
   headline, copy, CTAs and the product visual all fit inside
   a 1366x768 viewport.
   ========================================================= */
.dpl-hero{padding-top:28px;padding-bottom:28px;}
.dpl-hero-inner{padding-top:0;}
.dpl-hero .dpl-eyebrow{margin-bottom:14px;}
.dpl-hero .dpl-h1{
  margin:0 0 14px;
  font-size:clamp(32px,3.6vw,50px);
  line-height:1.1;
}
.dpl-hero .dpl-lead{
  font-size:16px;
  line-height:1.5;
  margin-bottom:18px;
}
.dpl-hero .dpl-hero-ctas{margin-top:4px;margin-bottom:16px;}
.dpl-hero .dpl-hero-badges{margin-top:0;}
@media (min-width:1181px){
  .dpl-devices{height:420px;}
}

/* =========================================================
   PHASE 1A FIX - Shop dropdown hover / focus contrast
   Root cause: Kadence's own inline customizer rule
   ".header-navigation .header-menu-container ul ul li.menu-item > a:hover"
   sets a dark navy background (--global-palette4) on every
   sub-menu link hover. Our rule only overrode text color with
   !important, leaving dark text on a dark navy background
   (looked like an empty dark bar). Fixed by also asserting the
   background with !important so the light gold hover state
   always wins, for every category, plus a visible keyboard
   focus state.
   ========================================================= */
.dpl-site .main-navigation ul.sub-menu li a:hover,
.dpl-site .main-navigation ul.sub-menu li a:focus-visible{
  background:rgba(184,145,47,0.16) !important;
  color:var(--dpl-forest) !important;
  outline:none;
}
.dpl-site .main-navigation ul.sub-menu li a:focus-visible{
  box-shadow:inset 0 0 0 2px var(--dpl-forest);
}

/* =========================================================
   PHASE 1A FIX - Reveal animations must never hide content
   Root cause: ".dpl-reveal" was hidden (opacity:0) by default
   in CSS and only made visible once JS added ".in" after an
   IntersectionObserver fired. If the script fails to load or
   run on any template, that content stays permanently
   invisible. Fixed by making ".dpl-reveal" visible by default;
   JS now opts an element INTO the hidden pre-animation state
   via a new ".dpl-armed" class right before it starts
   observing (see dpl-animate.js). No JS running => no
   ".dpl-armed" class added => content stays visible.
   ========================================================= */
.dpl-reveal{opacity:1;transform:none;transition:opacity .7s var(--dpl-ease),transform .7s var(--dpl-ease);}
.dpl-reveal.dpl-armed{opacity:0;transform:translateY(28px);}
.dpl-reveal.dpl-armed.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .dpl-reveal.dpl-armed{opacity:1 !important;transform:none !important;transition:none !important;}
}


/* ================= PHASE 1B: Premium three-device hero + chart/dashboard system ================= */
.dpl-devices{position:relative;width:100%;}
.dpl-device{position:absolute;}
.dpl-device-screen{position:relative;overflow:hidden;background:var(--dpl-navy);border-radius:14px;box-shadow:var(--dpl-shadow);width:100%;}
.dpl-app{position:absolute;inset:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#fbf9f4,#f3efe4);color:var(--dpl-charcoal);font-family:var(--dpl-font-body);overflow:hidden;}

.dpl-device--laptop{left:50%;top:4%;width:min(76%,600px);transform:translateX(-58%);z-index:2;}
.dpl-device--laptop .dpl-device-screen{aspect-ratio:16/10.8;border:6px solid #0c1626;}
.dpl-device--laptop .dpl-device-notch{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:44px;height:8px;border-radius:6px;background:#0c1626;z-index:3;}
.dpl-app--laptop{flex-direction:row;font-size:9px;}
.dpl-app-side{width:26%;background:var(--dpl-forest);color:var(--dpl-ivory);display:flex;flex-direction:column;gap:8px;padding:10px 8px;}
.dpl-app-side-logo{font-family:var(--dpl-font-head);font-weight:700;font-size:11px;letter-spacing:.05em;margin-bottom:4px;}
.dpl-app-side-item{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:6px;opacity:.75;}
.dpl-app-side-item em{font-style:normal;font-size:8.5px;}
.dpl-app-side-item.is-active{background:rgba(255,255,255,.14);opacity:1;}
.dpl-app-main{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.dpl-app-topbar{display:flex;align-items:center;justify-content:space-between;}
.dpl-app-topbar strong{display:block;font-family:var(--dpl-font-head);font-size:10.5px;color:var(--dpl-forest);}
.dpl-app-topbar span{font-size:8px;color:#6b7280;}
.dpl-app-avatar{width:20px;height:20px;border-radius:50%;background:var(--dpl-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;}
.dpl-app-kpis{display:flex;gap:6px;}
.dpl-kpi{flex:1;background:#fff;border-radius:8px;padding:6px 8px;box-shadow:var(--dpl-shadow-sm);min-width:0;}
.dpl-kpi-val{display:block;font-family:var(--dpl-font-head);font-size:12px;color:var(--dpl-forest);font-weight:700;}
.dpl-kpi-label{font-size:7.5px;color:#6b7280;}
.dpl-app-row{display:flex;gap:6px;flex:1;min-height:0;}
.dpl-app-panel{background:#fff;border-radius:8px;padding:8px;box-shadow:var(--dpl-shadow-sm);display:flex;flex-direction:column;gap:4px;min-width:0;}
.dpl-app-panel-title{font-size:8px;font-weight:700;color:var(--dpl-forest);text-transform:uppercase;letter-spacing:.04em;}
.dpl-app-panel--chart{flex:1.4;}
.dpl-app-panel--ring{align-items:center;justify-content:center;}
.dpl-app-panel--tasks{gap:5px;}
.dpl-app-task,.dpl-app-habit,.dpl-app-event{display:flex;align-items:center;gap:6px;font-size:8px;color:#374151;}
.dpl-app-task.is-done,.dpl-app-habit.is-done{color:#9ca3af;text-decoration:line-through;}
.dpl-app-task svg,.dpl-app-habit svg{flex-shrink:0;color:var(--dpl-gold);width:11px;height:11px;}

.dpl-device--tablet{left:1%;top:2%;width:33%;z-index:1;}
.dpl-device--tablet .dpl-device-screen{aspect-ratio:4/9;border:6px solid #0c1626;border-radius:20px;}
.dpl-app--tablet{padding:10px;gap:7px;font-size:8.5px;}
.dpl-app-topbar--tablet{display:flex;justify-content:space-between;align-items:center;}
.dpl-app-avatar--sm{width:16px;height:16px;font-size:7px;}
.dpl-app-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;}
.dpl-app-cal-h{font-size:6.5px;color:#9ca3af;font-weight:700;}
.dpl-app-cal-d{font-size:7px;padding:3px 0;border-radius:4px;background:#fff;}
.dpl-app-cal-d.is-today{background:var(--dpl-forest);color:#fff;font-weight:700;}
.dpl-app-cal-d.has-event{box-shadow:inset 0 -2px 0 var(--dpl-gold);}
.dpl-app-panel--events{gap:5px;}
.dpl-app-event em{font-style:normal;color:var(--dpl-gold);font-weight:700;margin-right:4px;}
.dpl-app-bar{height:6px;border-radius:6px;background:#e5e0d3;overflow:hidden;}
.dpl-app-bar span{display:block;height:100%;background:var(--dpl-forest);border-radius:6px;}
.dpl-app-goal-val{font-size:7.5px;color:#6b7280;}
.dpl-app-tablet-nav{display:flex;gap:4px;margin-bottom:1px;}
.dpl-app-tablet-nav span{flex:1;text-align:center;font-size:6.5px;font-weight:700;padding:4px 2px;border-radius:6px;background:#fff;color:#9ca3af;}
.dpl-app-tablet-nav span.is-active{background:var(--dpl-forest);color:#fff;}
.dpl-app-tablet-stat{display:flex;align-items:center;gap:4px;font-size:7px;font-weight:700;color:var(--dpl-gold);}
.dpl-app-tablet-stat svg{width:9px;height:9px;flex:none;}
.dpl-app-panel--tablet-chart{padding:7px 8px;}
.dpl-app-panel--tablet-chart .dpl-linechart{height:32px;margin-top:2px;display:block;}

.dpl-device--phone{right:0;bottom:0;width:19%;z-index:3;}
.dpl-device--phone .dpl-device-screen{aspect-ratio:9/18.5;border:5px solid #0c1626;border-radius:26px;}
.dpl-device-notch--phone{position:absolute;left:50%;top:2%;transform:translateX(-50%);width:30%;height:5%;border-radius:8px;background:#0c1626;z-index:3;}
.dpl-app--phone{padding:14px 8px 8px;gap:6px;font-size:7.5px;align-items:center;}
.dpl-app-topbar--phone{align-self:flex-start;font-size:7.5px;font-weight:700;color:var(--dpl-forest);}
.dpl-app-phone-ring{margin:2px 0;}
.dpl-app-streak{font-size:7px;font-weight:700;color:var(--dpl-gold);display:flex;align-items:center;gap:3px;}
.dpl-app-panel--habits{width:100%;gap:5px;}
.dpl-app-bottomnav{margin-top:auto;display:flex;justify-content:space-around;width:100%;padding-top:6px;border-top:1px solid #e5e0d3;color:var(--dpl-forest);}

.dpl-devices svg{display:block;}
.dpl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.dpl-linechart{width:100%;height:auto;overflow:visible;}
.dpl-linechart-line{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--dpl-ease);}
.dpl-linechart-area{fill:rgba(184,145,47,0.14);}
.dpl-linechart-dot{fill:var(--dpl-gold);}
.dpl-reveal.dpl-armed .dpl-linechart-line{stroke-dashoffset:var(--dpl-line-len,300);}
.dpl-reveal.dpl-armed.in .dpl-linechart-line{stroke-dashoffset:0;}
@media (prefers-reduced-motion: reduce){
  .dpl-reveal.dpl-armed .dpl-linechart-line{stroke-dashoffset:0 !important;}
}

.dpl-mini-dash{border-radius:14px;background:linear-gradient(180deg,#fff,#faf7f0);box-shadow:var(--dpl-shadow-sm);padding:12px;display:flex;flex-direction:column;gap:8px;width:100%;}
.dpl-mini-dash-top{display:flex;align-items:center;justify-content:space-between;}
.dpl-mini-dash-top svg{width:20px;height:20px;color:var(--dpl-forest);}
.dpl-mini-dash-top .dpl-ring-num{display:none;}
.dpl-mini-dash .dpl-linechart{height:44px;}
.dpl-mini-dash-stat{display:flex;flex-direction:column;}
.dpl-mini-dash-stat-value{font-family:var(--dpl-font-head);font-weight:700;color:var(--dpl-forest);font-size:15px;}
.dpl-mini-dash-stat-label{font-size:11px;color:#6b7280;}
.dpl-mini-dash--product{padding:14px;}

.dpl-cat-card{display:flex;flex-direction:column;gap:12px;}
.dpl-cat-card .dpl-mini-dash{order:2;}

.dpl-product-card .dpl-price{display:none;}
.dpl-preview-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--dpl-forest);background:rgba(184,145,47,0.14);padding:6px 12px;border-radius:999px;margin-top:6px;}
.dpl-product-media{padding:14px;background:linear-gradient(180deg,#fff,#faf7f0);border-radius:12px;}

@media (max-width:1180px){
  .dpl-devices{height:340px;}
}
@media (max-width:780px){
  .dpl-devices{height:300px;}
  .dpl-device--tablet{display:none;}
  .dpl-device--laptop{width:82%;left:50%;top:8%;transform:translateX(-50%);}
  .dpl-device--phone{width:26%;right:2%;bottom:0;}
}
@media (max-width:480px){
  .dpl-devices{height:230px;}
  .dpl-device--laptop{width:88%;top:4%;}
  .dpl-device--phone{width:30%;}
}


/* ================= PHASE 2: LIVE PREVIEW CSS ================= */
.dpl-livepreview{min-height:200px;}
.dpl-lp-loading{text-align:center;color:rgba(34,38,31,.5);padding:40px 0;}
.dpl-lp-noscript{background:rgba(184,145,47,.1);border-radius:12px;padding:16px;text-align:center;color:var(--dpl-forest);}
.dpl-lp{background:var(--dpl-white);border-radius:var(--dpl-radius);box-shadow:var(--dpl-shadow-sm);overflow:hidden;}
.dpl-lp-tabs{display:flex;flex-wrap:wrap;gap:4px;background:rgba(23,63,53,.05);padding:10px;border-bottom:1px solid rgba(23,63,53,.08);}
.dpl-lp-toolbar{display:flex;justify-content:flex-end;padding:8px 10px 0;background:rgba(23,63,53,.05);}
.dpl-lp-reset-demo{font-size:11.5px;font-weight:600;color:#6b7280;background:#fff;border:1px solid rgba(23,63,53,.15);border-radius:8px;padding:8px 12px;min-height:36px;cursor:pointer;transition:color .15s,border-color .15s;}
.dpl-lp-reset-demo:hover,.dpl-lp-reset-demo:focus-visible{color:var(--dpl-forest);border-color:var(--dpl-forest);}
.dpl-lp-reset-demo.is-armed{color:#B8912F;border-color:#B8912F;background:rgba(184,145,47,.08);}
.dpl-lp-reset-demo:disabled{opacity:.6;cursor:default;}

@media (max-width:780px){.dpl-lp-toolbar{padding:8px 8px 0;}.dpl-lp-reset-demo{min-height:44px;padding:10px 14px;}}

.dpl-lp-tab{background:transparent;border:none;padding:10px 16px;border-radius:999px;font-weight:700;font-size:13px;color:var(--dpl-charcoal);cursor:pointer;min-height:40px;transition:background .2s var(--dpl-ease),color .2s var(--dpl-ease);}
.dpl-lp-tab:hover{background:rgba(23,63,53,.08);}
.dpl-lp-tab.is-active{background:var(--dpl-forest);color:var(--dpl-ivory);}
.dpl-lp-tab:focus-visible{outline:2px solid var(--dpl-gold);outline-offset:2px;}
.dpl-lp-panels{padding:28px;}
.dpl-lp-panel{animation:none;}
.dpl-lp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:8px;}
.dpl-lp-title{font-family:var(--dpl-font-head);color:var(--dpl-forest);font-size:20px;margin:0;}
.dpl-lp-pill{background:rgba(23,63,53,.08);color:var(--dpl-forest);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;}
.dpl-lp-days{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.dpl-lp-day{min-width:44px;min-height:40px;padding:8px 10px;border-radius:10px;border:1px solid rgba(23,63,53,.15);background:var(--dpl-white);font-weight:700;font-size:12.5px;cursor:pointer;color:var(--dpl-charcoal);}
.dpl-lp-day.is-active{background:var(--dpl-forest);color:var(--dpl-ivory);border-color:var(--dpl-forest);}
.dpl-lp-day:focus-visible,.dpl-lp-filter:focus-visible,.dpl-lp-btn-add:focus-visible,.dpl-lp-btn-secondary:focus-visible{outline:2px solid var(--dpl-gold);outline-offset:2px;}
.dpl-lp-list{display:flex;flex-direction:column;margin-bottom:16px;}
.dpl-lp-mini-del{background:none;border:none;color:rgba(34,38,31,.4);font-size:18px;cursor:pointer;padding:4px 8px;min-width:32px;min-height:32px;margin-left:auto;}
.dpl-lp-mini-del:hover{color:var(--dpl-charcoal);}
.dpl-lp-add{display:flex;gap:8px;flex-wrap:wrap;}
.dpl-lp-add input[type=text],.dpl-lp-add input[type=number],.dpl-lp-add select,.dpl-lp-add textarea{flex:1;min-width:140px;padding:10px 14px;border-radius:10px;border:1px solid rgba(23,63,53,.18);font-size:13.5px;font-family:inherit;min-height:44px;}
.dpl-lp-add textarea{min-height:70px;width:100%;resize:vertical;}
.dpl-lp-btn-add{background:var(--dpl-gold);color:var(--dpl-forest-dark);border:none;border-radius:999px;padding:10px 22px;font-weight:700;font-size:13.5px;cursor:pointer;min-height:44px;}
.dpl-lp-btn-add:hover{background:var(--dpl-gold-light);}
.dpl-lp-btn-add:disabled{opacity:.5;cursor:default;}
.dpl-lp-btn-secondary{background:rgba(23,63,53,.08);color:var(--dpl-forest);border:none;border-radius:999px;padding:10px 18px;font-weight:700;font-size:13px;cursor:pointer;min-height:40px;}
.dpl-lp-btn-secondary:hover{background:rgba(23,63,53,.15);}
.dpl-lp-empty{color:rgba(34,38,31,.5);font-size:13.5px;padding:14px 0;}
.dpl-lp-habit-body{display:flex;gap:32px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.dpl-lp-habit-ring{display:flex;flex-direction:column;align-items:center;gap:6px;}
.dpl-lp-list .dpl-lp-streak{margin-left:auto;font-size:12px;color:rgba(34,38,31,.55);font-weight:700;}
.dpl-lp-kpi-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.dpl-lp-kpi-row .dpl-kpi{flex:1;min-width:110px;}
.dpl-lp-chart-wrap{margin-bottom:18px;}
.dpl-lp-canvas{width:100%;display:block;}
.dpl-lp-budget-form select{min-height:44px;border-radius:10px;border:1px solid rgba(23,63,53,.18);}
.dpl-lp-focus-body{display:flex;flex-direction:column;align-items:center;gap:22px;}
.dpl-lp-focus-ring{display:flex;flex-direction:column;align-items:center;gap:6px;}
.dpl-lp-focus-time{font-size:22px;}
.dpl-lp-focus-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.dpl-lp-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.dpl-lp-filter{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid rgba(23,63,53,.15);background:var(--dpl-white);color:var(--dpl-charcoal);font-weight:700;font-size:12.5px;cursor:pointer;}
.dpl-lp-filter.is-active{background:var(--dpl-forest);color:var(--dpl-ivory);border-color:var(--dpl-forest);}
.dpl-lp-priority{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:999px;letter-spacing:.04em;}
.dpl-lp-priority--low{background:rgba(23,63,53,.1);color:var(--dpl-forest);}
.dpl-lp-priority--medium{background:rgba(184,145,47,.18);color:#8a6a1f;}
.dpl-lp-priority--high{background:rgba(178,58,58,.15);color:#9c3b3b;}
.dpl-lp-goal-list{display:flex;flex-direction:column;gap:20px;}
.dpl-lp-goal-card{background:rgba(23,63,53,.04);border-radius:14px;padding:18px;}
.dpl-lp-goal-top{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:700;}
.dpl-lp-goal-name{color:var(--dpl-charcoal);font-size:14px;}
.dpl-lp-goal-pct{color:var(--dpl-forest);}
.dpl-lp-goal-bar-outer{background:rgba(23,63,53,.1);border-radius:999px;height:10px;overflow:hidden;margin-bottom:12px;}
.dpl-lp-goal-bar-inner{background:var(--dpl-gold);height:100%;border-radius:999px;transition:width .8s var(--dpl-ease);}
.dpl-lp-goal-controls{display:flex;gap:8px;flex-wrap:wrap;}
.dpl-lp-goal-del{color:#B3261E;background:rgba(179,38,30,.08);}
.dpl-lp-goal-del:hover,.dpl-lp-goal-del:focus-visible{background:rgba(179,38,30,.16);color:#8f1e18;}
.dpl-lp-notes-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.dpl-lp-note-card{background:rgba(23,63,53,.04);border-radius:12px;padding:14px 16px;}
.dpl-lp-note-text{margin:0 0 10px;font-size:13.5px;color:var(--dpl-charcoal);white-space:pre-wrap;}
.dpl-lp-note-actions{display:flex;gap:8px;}
.dpl-lp-note-edit{width:100%;min-height:70px;padding:10px;border-radius:10px;border:1px solid rgba(23,63,53,.18);font-family:inherit;font-size:13.5px;margin-bottom:8px;}
.dpl-lp-insight{background:rgba(184,145,47,.1);border-radius:12px;padding:14px 16px;color:var(--dpl-forest);font-size:13.5px;font-weight:600;}
.dpl-lp-priority-card{background:rgba(184,145,47,.08);border:1px solid rgba(184,145,47,.25);border-radius:14px;padding:16px;margin-bottom:18px;}
.dpl-lp-priority-label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dpl-forest);margin-bottom:10px;}
.dpl-lp-energy{margin-bottom:18px;}
.dpl-lp-energy-row{display:flex;gap:8px;flex-wrap:wrap;}
.dpl-lp-energy-btn{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid rgba(23,63,53,.15);background:var(--dpl-white);color:var(--dpl-charcoal);font-weight:700;font-size:13px;cursor:pointer;}
.dpl-lp-energy-btn.is-active{background:var(--dpl-forest);color:var(--dpl-ivory);border-color:var(--dpl-forest);}
.dpl-lp-energy-btn:focus-visible{outline:2px solid var(--dpl-gold);outline-offset:2px;}
@media (max-width:640px){
  .dpl-lp-panels{padding:18px;}
  .dpl-lp-tabs{gap:2px;}
  .dpl-lp-tab{padding:8px 12px;font-size:12px;}
}
@media (prefers-reduced-motion: reduce){
  .dpl-lp-goal-bar-inner{transition:none;}
  .dpl-lp-tab{transition:none;}
}

/* PHASE 1C: hero device refinements - avatar photo + phone ring fit */
.dpl-app-avatar--photo{position:relative;overflow:visible;background:linear-gradient(135deg,#c99a3c,#8a6a1f);}
.dpl-app-avatar--photo svg{display:block;}
.dpl-app-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:#fff;border:1px solid var(--dpl-gold);display:flex;align-items:center;justify-content:center;}
.dpl-device--phone .dpl-app-phone-ring{width:100%;display:flex;justify-content:center;}
.dpl-device--phone .dpl-ring-wrap{flex-direction:column;gap:3px;}
.dpl-device--phone .dpl-ring-box{width:70px;height:70px;}
.dpl-device--phone .dpl-ring-box svg{width:100%;height:100%;}
.dpl-device--phone .dpl-ring-num{font-size:14px !important;}
.dpl-device--phone .dpl-ring-label{font-size:8px;}

/* PHASE 1D: fix reveal-animation transform clobbering laptop position transform */
.dpl-device--laptop.dpl-reveal.dpl-armed{transform:translateX(-58%) translateY(28px);}
.dpl-device--laptop.dpl-reveal.dpl-armed.in{transform:translateX(-58%);}


/* ===== PHASE 3A: EMERGENCY MOBILE HERO DEVICE REPAIR ===== */
@media (max-width:780px){
  .dpl-devices{
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    padding:6px 0 2px;
  }
  .dpl-device--tablet{display:none;}
  .dpl-device--laptop,
  .dpl-device--laptop.dpl-reveal.dpl-armed,
  .dpl-device--laptop.dpl-reveal.dpl-armed.in{
    position:relative;
    left:auto;right:auto;top:auto;bottom:auto;
    transform:none;
    width:100%;
    max-width:340px;
    margin:0 auto;
  }
  .dpl-device--phone,
  .dpl-device--phone.dpl-reveal.dpl-armed,
  .dpl-device--phone.dpl-reveal.dpl-armed.in{
    position:relative;
    left:auto;right:auto;top:auto;bottom:auto;
    transform:none;
    width:42%;
    max-width:150px;
    margin:0 auto;
  }
  .dpl-app--laptop,
  .dpl-app-side,
  .dpl-app-side-item,
  .dpl-app-side-logo{
    word-break:normal;
    overflow-wrap:normal;
  }
  
  .dpl-app-side{width:29%;}
}
@media (max-width:480px){
  .dpl-device--laptop{max-width:300px;}
  .dpl-device--phone{width:46%;max-width:132px;}
}

@media (max-width:780px){
  .dpl-device--laptop .dpl-device-screen{aspect-ratio:16/13.5;}
  .dpl-app-row{min-height:40px;}
}


/* PHASE 5b: laptop screen is too short for its own content in the
781-899px viewport gap (device narrower than its 600px cap but the
desktop-only Insight panel + full KPI/chart/ring row is still active),
so the weekly-goal ring panel gets squeezed and the ring spills past
its card edge. Give the screen a bit more height in just that gap,
same content-driven-height approach used for the tablet fix. */
@media (min-width:781px) and (max-width:899px){
.dpl-device--laptop .dpl-device-screen{aspect-ratio:16/15;}
}

/* PHASE 5: fix weekly-goal ring overflowing/floating outside its card
between the laptop's ~600px desktop cap and the 780px mobile-simplified
layout, where the device (and its .dpl-app-row) shrinks in height via
aspect-ratio before the mobile chart-hide kicks in. Content-driven fix:
size the ring from its own panel's resolved height instead of trusting
the shortcode's fixed 86px, so it always fits without spilling out. */
.dpl-app-panel--ring .dpl-ring-box{
width:auto;
height:100%;
max-width:86px;
max-height:86px;
aspect-ratio:1/1;
}
.dpl-app-panel--ring .dpl-ring-box svg.dpl-ring{
width:100%;
height:100%;
}

@media (max-width:780px){
  /* Root cause: .dpl-app-panel--ring has flex-grow:0/flex-basis:auto so it
     claims its full natural content width (ring graphic + label) first;
     the sibling .dpl-app-panel--chart (flex:1.4) is left with almost no
     width in a mobile-narrow row, collapsing its line-chart SVG to 0 and
     making it render outside its own box. Simplify: on mobile the small
     decorative trend line is dropped and the weekly-goal ring panel takes
     the full row so nothing collapses or overlaps. */
  .dpl-app-panel--chart{display:none;}
  .dpl-app-panel--ring{flex:1;width:100%;min-height:64px;}
}

@media (max-width:780px){
  /* Compact the weekly-goal ring itself so its intrinsic content height
     (previously 86px) can never force the panel/row to overflow into the
     Priorities panel beneath it, regardless of available width. */
  .dpl-app-panel--ring .dpl-ring-box{width:52px;height:52px;}
  .dpl-app-row{min-height:70px;}
}


/* ===== PHASE 3B: EMERGENCY MOBILE REPAIR - marketing sections =====
   Root causes fixed here:
   1) The "Before & After" block uses an INLINE style
      (style="display:grid;grid-template-columns:1.1fr .9fr") written
      directly into the page content, so it can never respond to a
      media query on its own. It never collapses to one column, which
      squeezes the "Cross-device experience" eyebrow pill into a ~64px
      column - combined with Kadence's global word-break:break-word,
      every character wraps onto its own line.
   2) .dpl-trust-grid (used for both the homepage Trust section AND the
      Contact & Support cards) and .dpl-process (Getting Started steps)
      only ever step down to 2 columns, never to 1, at phone widths.
   3) Kadence's parent theme applies word-break:break-word broadly,
      which breaks ordinary words mid-letter once any container is
      narrow (seen on hero sidebar labels and here). Reset it for
      normal text on mobile; keep safe wrapping only for long tokens
      like the support email address. */
@media (max-width:780px){
  [style*="grid-template-columns"]{
    display:flex !important;
    flex-direction:column !important;
    gap:32px !important;
  }
}
@media (max-width:600px){
  .dpl-trust-grid{grid-template-columns:1fr !important;}
  .dpl-process{grid-template-columns:1fr !important;}
  .dpl-process::before{display:none;}
}
@media (max-width:780px){
  .dpl-site p, .dpl-site h1, .dpl-site h2, .dpl-site h3, .dpl-site h4,
  .dpl-site span, .dpl-site a, .dpl-site li, .dpl-eyebrow{
    word-break:normal;
    overflow-wrap:normal;
  }
  .dpl-trust-item{min-width:0;}
  .dpl-trust-item p, .dpl-trust-item a{
    overflow-wrap:anywhere;
  }
}


/* ================== PHASE 4A: Hero laptop depth upgrade (desktop only, mobile untouched) ================== */
.dpl-app-panel--insight{display:none;background:#fff;border-radius:10px;padding:8px 9px;box-shadow:var(--dpl-shadow-sm);}
@media (min-width:781px){
  .dpl-device--laptop .dpl-device-screen{aspect-ratio:16/13.6;}
  .dpl-app-panel--insight{display:flex;flex-direction:column;gap:4px;}
}
/* PHASE 5c: override PHASE 4A's aspect-ratio for the 781-899px gap
specifically (must come after PHASE 4A in source order to win the
cascade tie at min-width:781px) so the weekly-goal ring panel has
enough height and stops spilling past its card in that narrow band. */
@media (min-width:781px) and (max-width:899px){
.dpl-device--laptop .dpl-device-screen{aspect-ratio:16/15.2;}
}

.dpl-app-activity{display:flex;align-items:center;gap:6px;font-size:8px;color:#4b5563;}
.dpl-app-activity svg{width:11px;height:11px;flex:none;color:var(--dpl-gold);}
.dpl-app-insight-chip{align-self:flex-start;margin-top:2px;font-size:7.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(180,123,58,.14);color:#8a5a1f;}
.dpl-app-avatar--photo{box-shadow:0 0 0 2px rgba(255,255,255,.6),0 2px 6px rgba(0,0,0,.25);}
