.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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
/*!
 * 5.1
 * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width: 576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width: 768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width: 992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width: 1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-sm-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-md-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-lg-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-xl-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-print-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}.flex-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-sm-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-sm-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-sm-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-sm-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-sm-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-sm-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-sm-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-sm-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-sm-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-sm-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-sm-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-sm-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-sm-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-sm-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-sm-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-sm-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-sm-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-sm-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-sm-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-sm-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-sm-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-sm-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-sm-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-sm-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-sm-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-sm-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-sm-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-sm-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-sm-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-sm-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-sm-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-sm-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-md-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-md-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-md-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-md-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-md-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-md-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-md-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-md-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-md-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-md-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-md-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-md-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-md-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-md-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-md-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-md-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-md-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-md-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-md-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-md-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-md-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-md-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-md-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-md-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-md-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-md-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-md-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-md-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-md-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-md-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-md-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-md-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-lg-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-lg-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-lg-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-lg-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-lg-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-lg-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-lg-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-lg-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-lg-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-lg-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-lg-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-lg-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-lg-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-lg-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-lg-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-lg-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-lg-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-lg-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-lg-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-lg-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-lg-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-lg-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-lg-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-lg-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-lg-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-lg-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-lg-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-lg-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-lg-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-lg-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-lg-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-lg-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-xl-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-xl-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-xl-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-xl-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-xl-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-xl-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-xl-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-xl-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-xl-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-xl-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-xl-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-xl-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-xl-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-xl-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-xl-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-xl-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-xl-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-xl-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-xl-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-xl-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-xl-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-xl-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-xl-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-xl-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-xl-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-xl-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-xl-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-xl-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-xl-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-xl-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-xl-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-xl-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:0rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#007bff !important}a.text-primary:hover,a.text-primary:focus{color:#0056b3 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position: -webkit-sticky) or (position: sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visible{visibility:visible !important}.invisible{visibility:hidden !important}
/* btn blue color: #0e3857 will replace #01426a Hover: #415674 will replace */
/* Brandon Grotesque Thin */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

/* Brandon Grotesque Light */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

/* Brandon Grotesque Light Italic */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_light_it.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
}

/* Brandon Grotesque Regular */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_reg.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

/* Brandon Grotesque Regular Italic */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_reg_it.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
}

/* Brandon Grotesque Medium */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_med.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

/* Brandon Grotesque Medium Italic */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_med_it.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
}

/* Brandon Grotesque Bold */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_bld.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

/* Brandon Grotesque Bold Italic */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_bld_it.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
}

/* Brandon Grotesque Black Italic */
@font-face {
    font-family: 'BrandonGrotesque';
    src: url('../fonts/Brandon-Grotesque-Font-Family/Brandon_blk_it.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}


/* Global font-family for all elements, excluding Font Awesome icons */
html, body, *:not([class*="fa"], [class*="fas"], [class*="far"], [class*="fab"], [class*="dashicons"], [class*="ab-icon"], i) {
    font-family: 'BrandonGrotesque', sans-serif !important;
    font-weight: 400;
    font-style: normal;
    line-height: 1.3;
}

/* Normalize headers */
h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
}

/* Elementor-specific styles */
.elementor-widget-text-editor,
.elementor-widget-heading,
.elementor-widget-container,
.elementor-accordion-title,
.elementor-tab-title,
.elementor-tab-content {
    font-family: 'BrandonGrotesque', sans-serif !important;
}

/* Menus and navigation items */
.elementor-widget-navigation-menu a.hfe-menu-item,
.elementor-widget-navigation-menu a.hfe-sub-menu-item {
    color: #0e3857;
    font-size: 16px !important;
    font-weight: 500; /* Use Thin weight for menu items */
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Forms and inputs */
input, select, textarea, button {
    font-family: 'BrandonGrotesque', sans-serif !important;
}

/* Override potential inline styles */
[style*="font-family"] {
    font-family: 'BrandonGrotesque', sans-serif !important;
}

/* Wordpress Inner Page Below The Elementor Header & body width */
@media only screen and (min-width: 1024px) {
    .site-inner {
        background-color: #FFFFFF;
        padding-top: 20px !important;
    }
}
@media only screen and (max-width: 1023px) {
    .site-inner {
        background-color: #FFFFFF;
        padding-top: 0px !important;
    }
    body {
        padding: 0px;
    }
}

/* Dashboard and user-specific elements */
.dashboard-greeting, 
.welcome-message, 
.user-greeting {
    font-family: 'BrandonGrotesque', sans-serif !important;
}

/* Elementor tabs */
.elementor-widget-tabs .elementor-tab-content {
    font-family: 'BrandonGrotesque', sans-serif !important;
}

a:focus {
    outline: none !important;
}

/*
.wprm-recipe-instruction-text strong {
	font-weight: normal;
}
*/

.fade {
	opacity: 0;
	transition: opacity .15s linear;
}
.fade.show {
	opacity: 1;
}
/* General Modal Styles */
.modal-open {
    overflow: hidden;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}
.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999999; 
    overflow: hidden;
    outline: 0;
    background-color: rgb(51 51 51 / 0%);
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
}
.modal-dialog {
    float: right;
    margin: .5rem;
    margin-right: 0px;
    pointer-events: none;
    /* width: 320px; */
	flex-shrink: 0;
}
.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - (.5rem * 2));
}
.modal.fade .modal-dialog {
    transition: transform .9s ease-out;
    transform: translate3d(25%, 0, 0);
}
.modal.show .modal-dialog {
    transform: translate(0,0);
}
.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    outline: 0;
}
.modal-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border-bottom: 1px solid #e9ecef;
    background-color: #0E3857;
    color: white;
    position: relative;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}
.modal-header .modal-title {
    width: 320px;
    color: #FFF;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 150% */
    letter-spacing: 2px;
    text-transform: uppercase;
}
.modal-header .close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-header .close svg {
    display: block;
}
.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem;
}

.modal-footer {
    display: none;
}
/*
.modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid #e9ecef;
    background-color: #f4f4f4;
}
*/

.modal .close:hover {
    color: initial !important;
}
.modal .modal-footer button {
    padding: 0.5rem 1rem;
    border-radius: 0;
}
.pl-2, .px-2 {
    border-radius: 0;
    text-align: center;
}

/* Shopping List Modal Styles */
.shopping-list-modal {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.shopping-list-recipe-name a {
    color: #101010;
    text-align: left;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    margin: 0; 
}

.recipes-section,
.items-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.recipes-section .recipes-title {
    color: var(--Color, #0F3855);
    text-align: left;
    font-family: "SF Pro", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    margin: 0; 
}

.recipes-section {
    text-align: center;
}

.recipes-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-bottom: 12px;
    align-items: center;
    gap: 16px;
    background: var(--Neutral-10, #FFF);
    box-shadow: 6px 6px 60px 0px rgba(0, 0, 0, 0.04);
    max-height: 140px; /* 270px Limit to show 2 and 1/4 items */
    overflow-y: auto;
}

.recipes-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.recipe-item {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 12px;
    background: var(--Neutral-10, #FFF);
    box-shadow: 6px 6px 60px 0px rgba(0, 0, 0, 0.04);
}

/* This container holds image and details side-by-side */
.recipe-item-content {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;        
    min-width: 0;    
}

.recipe-image img {
    width: 80px;
    height: 60px;
    border-radius: 8px;
    flex-shrink: 0; /* Ensure image won't shrink */
}

.recipe-details {
    flex: 1;        
    min-width: 0;   /* text to wrap within avail space */
    display: flex;
    flex-direction: column;
}

.recipe-header {
    color: var(--Neutral-100, #101010);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
    margin: 0;
    white-space: normal;      
    overflow-wrap: break-word;/* Break long words */
}


.recipe-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
}

.recipes-count {
	font-weight: 900;
}

.quantity-controls {
    display: flex;
    width: 100px;
    justify-content: space-between;
    align-items: center;
}

.quantity-btn {
    width: 24px;
    height: 24px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    color: #878787;
    font-size: 24px;
}

button.quantity-btn.decrement-recipe {
 	background-color: white;
 	border-color: gray;
    border: 1px solid;
    color: gray;
}

button.quantity-btn.increment-recipe {
	background-color: white;
 	border-color: gray;
    border: 1px solid;
    color: gray;
}

.quantity-btn, .delete-recipe {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quantity-btn svg, .delete-recipe svg {
    display: block;
}

button.delete-recipe {
 	background-color: white;
 	border-color: gray;
    border: 0px solid;
}

.quantity-btn i {
    font-size: 24px;
}

.delete-recipe {
    width: 24px;
    height: 24px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    color: red;
    font-size: 24px;
    outline: none; /* Remove the focus outline */
}

.delete-recipe:hover,
.delete-recipe:focus {
    background: #FFFFFF; 
    border: none;        
    color: red;          
    outline: none;       
}

.delete-recipe i {
    font-size: 24px;
}

.items-section h4 {
    color: var(--Color, #0F3855);
    text-align: center;
    font-family: "SF Pro", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    margin: 0; 
    display: flex;
    align-items: center;
    justify-content: center; 
    gap: 0px; 
}

.ingredients-count {
    font-weight: inherit; 
}

.items-section .print-btn {
    margin-left: auto;
    display: flex;
    align-items: center;
    color: #0F3855;
    font-size: 22px; 
}

.items-section .print-btn svg {
    display: block;
    width: 22px;
    height: 22px;
}

.items-card {
    padding: 12px;
    border: 1px solid #EDEDED;
    border-radius: 8px;
    max-height: 220px;
    overflow-y: auto;
}

.ingredients-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ingredient-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #EDEDED;
}

.ingredient-item:last-child {
    border-bottom: none;
}

.ingredient-label {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.ingredient-checkbox {
    width: 24px;
    height: 24px;
    margin-right: 12px;
    flex-shrink: 0;
    appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    position: relative;
    outline: none;
    box-shadow: none; 
    -webkit-tap-highlight-color: transparent; /* For touch devices */
}

.ingredient-checkbox:focus {
    outline: none; 
    border: none; 
    box-shadow: none; 
}

.ingredient-checkbox::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #BEBFC0; /* Light gray border for unchecked state */
    box-sizing: border-box;
}

.ingredient-checkbox:checked::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-color: #0F3855; /* Dark blue fill for checked state */
    border-radius: 50%;
    position: relative;
}

.ingredient-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 1px;
    width: 20px; /* Adjusted for inner checkmark */
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M10.7287 4.9469L5.78181 9.89383L3.5332 7.64522' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}


.ingredient-name {
    flex-grow: 1;
    font-family: "SF Pro", sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #0F3855;
    margin-right: 8px;
}

.ingredient-notes {
    font-family: "SF Pro", sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #878787;
    margin-right: 8px;
}

.ingredient-quantity {
    font-family: "SF Pro", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #0F3855;
    white-space: nowrap;
}



/* General Flexbox Container for Sub Header */
.shopping-list-modal-sub-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    gap: 10px; 
    flex-wrap: nowrap; 
}

.shopping-list-modal-sub-header .recipes-title {
    flex: 1; 
    min-width: 0;
    margin-right: 10px; 
}

.shopping-list-modal-sub-header .btn {
    flex-shrink: 0; 
    padding: 5px 10px; 
    font-size: 14px; 
}

.shopping-list-modal-sub-header .btn:hover {
    background-color: #0E3857;
    color: #fff;
    text-decoration: none !important;
    border-color: inherit !important;
    box-shadow: none !important;
    cursor: default !important;
}
/* Store Selector and GO TO CART Container */

.store-selector {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* gap: 16px; */
    margin-top: 0px;
    z-index: 999;
}

.store-select.inactive,
.store-select.inactive:focus {
    color: #0F3855;
    border: 1px solid #0F3855;
    background-color: #f5f5f5;
    outline: none; /* Removes the default browser focus outline */
}

.store-select {
    display: inline-block;
    padding: .25rem .5rem;
    letter-spacing: 0.05em;
    font-weight: 700 !important;
    background-color: #0F3855;
    justify-self: center;
    text-align: center;
    color: white;
    width: 179px;          
    height: 40px;
    line-height: 20px;      
    flex-shrink: 0;
    border: none;
    border-radius: 0;
    font-size: 18px;
    text-align: center;
    text-transform: uppercase;
    -webkit-appearance: none; /* Remove default styling in Safari */
    -moz-appearance: none;    /* Remove default styling in Firefox */
    appearance: none;         /* Remove default styling in modern browsers */
}

.select2-container--open .select2-dropdown--below {
    z-index: 9999;
}

/* Store Selector Dropdown inside the store/cart container */
.shopping-list-store-cart-container .store-select {
    flex: 0 0 179px;      
    font-size: 13px;      
    padding: 5px 20px;    
    white-space: nowrap;  
}

/* GO TO CART Button (legacy – still here if used elsewhere) */
.shopping-list-store-cart-container #checkout-btn {
    flex-shrink: 0;      
    font-size: 13px;      
    padding: 5px 20px;   
    white-space: nowrap;  
}

.shopping-list-customer-message {
    color: #0F3855;
    font-size: 12px;
    padding-top: 10px;
    text-align: center;
}

.btn {
    padding: .25rem .5rem;
    font-size: 1rem;
    background-color: #0e3857;
    border: 0px solid;
    display: inline-block;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 0;
    letter-spacing: 0.05em;
} 

#checkout-btn {
    display: flex;
    width: 179px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    background: var(--Color, #0F3855);
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    cursor: pointer;
}

/* Larger Desktop Adjustments */
/*
@media (min-width: 1024px) {
    .shopping-list-store-cart-container .store-select {
        max-width: auto; 
        font-size: 14px; 
    }

    .shopping-list-store-cart-container #checkout-btn {
        width: auto;
        font-size: 14px; 
    }
}
*/

[disabled].btn {
    cursor: not-allowed;
}

#checkout-btn:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

/* Header Shopping Cart Icon */
/* a.elementor-icon.elementor-social-icon.elementor-social-icon-.elementor-repeater-item-86e16c5 svg#_ÎÓÈ_1 */
#top-right-shopping-icon .cls-1 {
    fill: #0F3855 !important;
}

#top-right-shopping-icon .cls-2 {
    fill: #fff;
    stroke: #fff;
}
#top-right-shopping-icon .elementor-social-icon {
    background-color: transparent;
}
#top-right-shopping-icon elementor-grid-0 .elementor-grid .elementor-grid-item {
    background: transparent;
}

#top-right-shopping-icon {
    border: 0;
    margin-top: 0px;
    padding-left: 6px;
    padding-right: 0px;
    padding-top: 1px;
    padding-bottom: 0px;
}
/* END Header Shopping Cart Icon */

#header-account-icon {
    width: 23px;
    height: 32px;
    margin-left: 16px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6px;
    padding-bottom: 0;
}
#header-search-icon {
    width: 22px;
    height: 25px;
    margin-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 1px;
    padding-bottom: 0px;
}
/* added the account link to the menu but only want it to show on mobile. */
.menu-account-link {
  display: none;
}
/* Header */
/* Responsive Adjustments for Mobile */
/* === MOBILE HEADER: GRID LAYOUT === */
@media (max-width: 768px) {
  /* Turn the section container into a 3-cell grid: [left] [center flex] [right] */
  .elementor-element-5adc666d > .elementor-container {
    display: grid !important;
    /* grid-template-columns: auto 1fr auto !important; */
    grid-template-columns: 18% auto 18% !important;
    align-items: center !important;    /* vertical center for all three cells */
    column-gap: 12px !important;
  }
  
  #header-search-icon {
    margin-top: 9px !important;
  }
  #top-right-shopping-icon svg {
    display: block;              
    height: 40px !important;      
    width: auto !important;      
  }
  /* Position each column inside the grid */
  .elementor-element-3b2ff754 { justify-self: start; }   /* hamburger (left) */
  .elementor-element-3e61ac79 { justify-self: center; }  /* logo (center) */
  .elementor-element-633eee9e { justify-self: end; }     /* icons (right)  */

  /* Right icon row: keep them in one line & remove spacing quirks */
  #header-right-icon-container .elementor-widget-wrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #header-search-icon,
  #top-right-shopping-icon,
  #header-right-icon-container .elementor-widget {
    margin: 0;
    padding: 0 !important;
    line-height: 0 !important;        /* kill baseline gaps */
  }
  #top-right-shopping-icon .elementor-social-icons-wrapper {
    display: flex !important;          /* flatten Elementor’s internal grid */
    gap: 0 !important;
  }
  #top-right-shopping-icon .elementor-grid-item { margin: 0 !important; }

  /* SVGs: remove inline baseline gap & normalize size */
  #header-search-icon svg,
  #top-right-shopping-icon svg {
    display: block;
    width: 24px;
    height: 24px;
  }

  /* Logo: vertically center and cap height */
  .elementor-element-3e61ac79 .elementor-widget-wrap {
    display: flex; align-items: center; justify-content: center;
  }
  .elementor-element-3e61ac79 a { display: inline-flex; align-items: center; line-height: 0; }
  .elementor-element-3e61ac79 img { display: block; max-height: 40px; width: auto; } /* adjust height if needed */

  /* Hamburger toggle: vertically center */
  .hfe-nav-menu__toggle { display: flex; align-items: center; line-height: 0; }

  /* Keep account icon hidden */
  #header-account-icon { display: none !important; }
}

/* Search Icon Adjustment */
.elementor-190 .elementor-element.elementor-element-b257148 > .elementor-widget-container {
    padding: 8px 0px 0px 0px;
}
.is-menu .search-icon-path {
    fill: #0F3855 !important;
}
.is-popup-search-form form.is-ajax-search {
    margin: 15px auto 0;
}
.popup-search-close {
    z-index: 99999;
    float: inline-end;
    position: relative;
    margin: 15px 91px 0px 0px;
    padding: 9px 0px 27px 21px;
}
.is-search-sections a {
    color: #0F3855 !important;
}
@media (max-width: 768px) {
    /* Search Icon Adjustment */
    .elementor-190 .elementor-element.elementor-element-b257148 > .elementor-widget-container {
        padding: 20px 0px 0px 5px;
        margin-right: 0px;
    }
    .is-popup-search-form form {
        width: 80%;
    }
    .popup-search-close {
        z-index: 99999;
        float: inline-end;
        position: relative;
        margin: 15px 9px 0px 0;
        padding: 9px 0px 27px 21px;
    }
}
/* End Header */

.shopping-list-store-cart-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;           /* Space between dropdown and button */
    flex-wrap: nowrap;  /* Keep elements on the same line */
}

/* Responsive Adjustments for Mobile */
@media (max-width: 768px) {

    /* Sub Header Adjustments */
    .shopping-list-modal-sub-header {
        flex-wrap: nowrap;
    }

    .shopping-list-modal-sub-header .btn {
        font-size: 12px; 
        padding: 4px 8px;
    }

    /* Store Selector Adjustments */
    .shopping-list-store-cart-container {
        flex-wrap: nowrap;  
        gap: 5px;          
    }

  .shopping-list-store-cart-container .store-select {
    width: 150px;        
    flex: 0 0 150px;    
    font-size: 12px;
    text-transform: uppercase;
    padding: 0;
  }

  .shopping-list-store-cart-container #checkout-btn {
    width: 150px;       
    font-size: 12px;
  }
}

/* Extra centering help for iOS / WebKit browsers only */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 768px) {
    .shopping-list-store-cart-container .store-select {
      text-align-last: center;
    }
  }
}





/* Whole Site CSS */

/* Remove theme x padding/margin for full-width layout */

.site-inner,
.content-sidebar-wrap,
.entry-content,
.wrap {
    margin: 0;
}


.site-footer {
	padding: 0px;
	background-color: #f4f4f4;
}
.site-header {
	border-bottom: 0px solid #eee;
}
/* End Whole Site CSS */




/* customizing the recipe page template*/

.wprm-recipe-instruction-text strong {
    font-weight: normal; /* Removes the bold style */
}

.add-to-shoppinglist-recipe-btn {
    padding: 10px;
    width: 55%;
    font-size: 1rem;
    background-color: #fff;
    border: 1px solid;
    display: inline-block;
    text-align: center;
    color: #0e3857 !important;
    font-weight: 800 !important;
    border-color: #607775;
    border-radius: 0;
    letter-spacing: 0.09em;
}

/* Remove the recipe size adjustment from the Serving Size */
.wprm-recipe-block-container.wprm-recipe-block-container-table.wprm-block-text-normal.wprm-recipe-servings-container div#tippy-1 {
    display: none;
}
.wprm-recipe-servings-link {
    cursor: default !important;
    pointer-events: none; /* Disable all interaction with the link */
}
.wprm-recipe-template-ppp-custom-2 a {
    color: #0F3855;
}



/* adjust star rating */
.rmp-widgets-container.rmp-wp-plugin.rmp-main-container .rmp-rating-widget__icons-list__icon {
    margin: 0px !important;
}
/* star opacity results before voting */
#wprm-recipe-user-rating-0.wprm-user-rating-allowed.wprm-user-rating-not-voted:not(.wprm-user-rating-voting) svg * {
    fill-opacity: 1 !important;
}

/* end star rating adjustment */

.wprm-rating-container {
	text-align: center;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container .wprm-recipe-block-container {
    font-size: 14px !important;
}

.wprm-recipe-template-ppp-custom-2 {
    margin: 0px auto;
    /*
    background-color: %wprm_background%;
    font-family: %wprm_main_font_family%;
    font-size: %wprm_main_font_size%;
    line-height: %wprm_main_line_height%;
    color: %wprm_main_text%;
    */
    width: 100%;
    box-sizing: border-box; /* Ensures padding doesn't exceed 100% width */
}



.wprm-recipe-template-ppp-custom-2 p,
.wprm-recipe-template-ppp-custom-2 li {
    font-size: 1em !important;
}

.wprm-recipe-template-ppp-custom-2 li {
    margin: 0 0 0 32px !important;
    padding: 0 !important;
}

.rtl .wprm-recipe-template-ppp-custom-2 li {
    margin: 0 32px 0 0 !important;
}

.wprm-recipe-template-ppp-custom-2 ol,
.wprm-recipe-template-ppp-custom-2 ul {
    margin: 0 !important;
    padding: 0 !important;
}

.wprm-recipe-template-ppp-custom-2 br {
    display: none;
}
/*
.wprm-recipe-template-ppp-custom-2 .wprm-recipe-name,
.wprm-recipe-template-ppp-custom-2 .wprm-recipe-header {
    font-family: %wprm_header_font_family%;
    color: %wprm_header_text%;
    line-height: %wprm_header_line_height%;
}
*/

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-name-text-style {
    flex: 0 0 40%;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-name {
    font-size: 45px;
    font-weight: bold;
    color: #ffffff;
    margin: 0;
    line-height: 1.2;
    text-align: left;
    flex: 1;
}

.wprm-recipe-template-ppp-custom-2 h1,
.wprm-recipe-template-ppp-custom-2 h2,
.wprm-recipe-template-ppp-custom-2 h3,
.wprm-recipe-template-ppp-custom-2 h4,
.wprm-recipe-template-ppp-custom-2 h5,
.wprm-recipe-template-ppp-custom-2 h6 {
  /*
    font-family: %wprm_header_font_family%;
    color: %wprm_header_text%;
    line-height: %wprm_header_line_height%;
    */
    margin: 0 !important;
    padding: 0 !important;
  	font-weight: 400 !important;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-image {
    flex: 0 0 60%;
}


.wprm-recipe-template-ppp-custom-2 .wprm-recipe-image img {
    width: 100%;
    height: 260px;
    margin-right: 20px;
    max-width: 100%;
    object-fit: cover; 
}

/*
.wprm-recipe-template-ppp-custom-2 .wprm-recipe-image img {
    width: 100%;
    height: auto;
    margin-right: 20px;
    max-width: 100%;
    object-fit: contain; 
}*/

.wprm-recipe-template-ppp-custom-2 .wprm-template-chic-buttons {
    clear: both;
    font-size: 0.9em;
    text-align: center;
}

.wprm-recipe-template-ppp-custom-2 .wprm-template-chic-buttons .wprm-recipe-icon {
    margin-right: 5px;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-header {
    margin-bottom: 0.5em !important;
    color: #0F3855;
}

.wprm-recipe-template-ppp-custom-2 .wprm-nutrition-label-container {
    font-size: 0.9em;
}

.wprm-recipe-template-ppp-custom-2 .wprm-call-to-action {
    border-radius: 3px;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0px;
    background-color: #0e3857;
    padding: 0px;
    flex-wrap: nowrap;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container .wprm-recipe-block-container {
    width: 152px;
    height: 96px;
    border: 1px solid #F2F2F3;
    background: #FFF;
    box-shadow: 0px 2px 48px rgba(0, 0, 0, 0.04);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    flex-shrink: 0;
    color: #0F3855;
}



/* keyword shortcode boxlinks */

.ppp_wprm_keywords_boxlinks_container {
	text-align: left;
	padding-left: 0.5rem;
}

.keyword-boxlinks,.keyword-boxlinks a {
	font-size: 18px;
	/* color: #fff; */
     color: #0F3855; 
    font-weight: 400;
    font-style: normal;

    text-decoration: underline;
}
.keyword-boxlinks-divider {
	font-size: 18px;
	/* color: #fff; */
     color: #0F3855; 
    font-weight: 400;
    font-style: normal;
}
.meal-plan-keywords-my-recipes, .meal-plan-keywords-my-recipes a {
	font-size: 12px;
    color: #0F3855;
    font-weight: 400;
    font-style: normal;
    /* vertical-align: text-bottom; */
    white-space: nowrap;
}
.meal-plan-keywords-my-recipes .keyword-boxlinks-divider {
	font-size: 12px;
    color: #fff;
}


/* aka blurb */
.wprm-recipe-summary {
	text-align:center;
	color: #0F3855;
}

.wprm-recipe-body-container {
	padding-left: 60px;
	padding-right: 60px;

}

@media (max-width: 768px) {
    /* On mobile, set to 50/50 */
    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-image {
        flex: 0 0 50%;
    }

	.wprm-rating-container {
		padding-top: 10px;
	}

	/* aka blurb */
	.wprm-recipe-summary {
		text-align: left;
	}

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-name-text-style {
        flex: 0 0 50%;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Adjust image max-width and text sizes for mobile */
    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-image img {
        max-width: 100%;
        height: 200px;
        margin-right: 0px;
        object-fit: cover;
    }

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-name {
        font-size: 24px;
    }

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container .wprm-recipe-details-container {
        gap: 5px;
    }

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container .wprm-recipe-block-container {
        width: 120px;
        font-size: 12px;
    }
	/* Apply styles only to the recipe template */
	body .wprm-recipe-template-ppp-custom-2 {
	    margin: 0 !important;
	    padding: 0 !important;
	    width: 100% !important;
	    overflow-x: hidden;
	}

	/* Apply adjustments only to the recipe template */
	body.wprm-recipe-template .site-inner,
	body.wprm-recipe-template .content-sidebar-wrap,
	body.wprm-recipe-template .entry-content,
	body.wprm-recipe-template .wrap {
	    margin: 0 !important;
	    padding: 0 !important;
	}

	/* Ensure Elementor sections don't restrict width (specific to recipes) */
	body.wprm-recipe-template .elementor-section-boxed,
	body.wprm-recipe-template .elementor-container {
	    width: 100vw !important;
	    max-width: 100vw !important;
	    padding: 0 !important;
	    margin: 0 !important;
	    box-sizing: border-box;
	}

	/* Adjust column padding only for the recipe page */
	body.wprm-recipe-template .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	    padding: 0 !important;
	}


	/* Fix the recipe template */
	.wprm-recipe-template-ppp-custom-2,
	.wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
	    width: 100vw !important;
	    max-width: 100vw !important;
	    margin: 0 !important;
	    padding: 0 !important;
	    box-sizing: border-box;
	}
      /* Target the specific column containing the recipe template */
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated .wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
        padding: 0 !important; /* Remove the default padding */
    }

	/* Hide overflow text initially for Read More functionality */
	.wprm-recipe-summary {
	    display: -webkit-box;
	    -webkit-line-clamp: 3; /* Show only 3 lines */
	    -webkit-box-orient: vertical;
	    overflow: hidden;
	    text-overflow: ellipsis;
	}

	/* Add custom styling for the read-more link */
	.wprm-recipe-summary.read-more-expanded {
	    -webkit-line-clamp: unset; /* Remove line clamp on expansion */
	    overflow: visible;
	}

	.read-more-link {
	    color: #0e3857;
	    font-size: 10px;
	    text-decoration: underline;
	    cursor: pointer;
	    display: inline-block;
	    margin-top: 10px;
	}
	/* end read more link */
	.wprm-recipe-body-container {
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 10px;
	}

}

@media (max-width: 480px) {
    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-image img {
        display: block;
        max-width: 100%;
        height: 200px;
        padding: 0;
        margin: 0 auto;
        object-fit: cover;
    }

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-name {
        font-size: 22px;
    }

    .wprm-recipe-template-ppp-custom-2 .wprm-recipe-meta-container .wprm-recipe-block-container {
        width: 100px;
        font-size: 10px;
    }


	/* Apply styles only to the recipe template */
	body .wprm-recipe-template-ppp-custom-2 {
	    margin: 0 !important;
	    padding: 0 !important;
	    width: 100% !important;
	    overflow-x: hidden;
	}




	/* Fix the recipe template */
	.wprm-recipe-template-ppp-custom-2,
	.wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
	    width: 100vw !important;
	    max-width: 100vw !important;
	    margin: 0 !important;
	    padding: 0 !important;
	    box-sizing: border-box;
	}
    /* Target the specific column containing the recipe template */
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated .wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
        padding: 0 !important; /* Remove the default padding */
    }


      /* Target the specific column containing the recipe template */
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated .wprm-recipe-template-ppp-custom-2 .wprm-recipe-header-container {
        padding: 0 !important; /* Remove the default padding */
    }

    /* Ensure no unintended padding or spacing from parent containers */
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
        padding: 0 !important;
    }

    .wprm-recipe-body-container {
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* End recipe page customizing */

/*
.add-to-shoppinglist-reicpe-btn:hover {
    background-color: #415674;
    color: #fff !important;
    border-color: #014e7a;
}
*/

/* Mobile-specific adjustments */
@media (max-width: 768px) {
    .add-to-shoppinglist-recipe-btn {
        width: 100%; 
        padding: 0.5rem;
        font-size: 0.555rem; 
    }
	/* keyword shortcode boxlinks */
	.keyword-boxlinks, .keyword-boxlinks a {
		font-size: 16px;
		/* color: #fff; */
	     color: #0F3855; 
	    font-weight: 400;
	    font-style: normal;
	    
	    line-height: 0.1;
	}
	.keyword-boxlinks-divider {
		font-size: 16px;
		/* color: #fff; */
	     color: #0F3855; 
	    font-weight: 400;
	    font-style: normal;
	    
	    line-height: 0.1;
	}

	.ppp_wprm_keywords_boxlinks_container {
		text-align: left;
		padding-left: 0.5rem;
	}

	.meal-plan-keywords-my-recipes, .meal-plan-keywords-my-recipes a {
		font-size: 12px;
	    color: #0F3855;
	    font-weight: 400;
	    font-style: normal;
	    /* vertical-align: text-bottom; */
	    text-align: right;
	    white-space: nowrap;
	}
	.meal-plan-keywords-my-recipes .keyword-boxlinks-divider {
	  display: block; 
	  width: 100%;
	  margin: 0;           
	}

}

@media (max-width: 480px) {
    .add-to-shoppinglist-reicpe-btn {
        width: 100%; 
        padding: 0.3rem; 
        font-size: 0.55rem;
    }
}


/*
.btn:hover {
    background-color: #415674;
    color: #fff !important;
    border-color: #014e7a;
}
*/
.elementor-button {
    background-color: #0e3857;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto;
    }
}

@media (min-width: 992px){
    .modal-lg {
        max-width: 960px;
        min-width: 510px;
    }
}

/* Font Awesome Icon Overrides */
.fa-minus,
.fa-plus,
.fa-trash,
.fa-times {
    font-size: 16px;
}




/* Meal Plan Modal Styles */

.meal-plan-modal,
.meal-plan-modal-option {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.meal-plan-modal .custom-modal-content,
.meal-plan-modal-option .custom-modal-content {
    background: #fff;
    padding: 20px;
    width: 600px;
    max-width: 90%;
    border-radius: 5px;
    position: relative;
}

.meal-plan-modal .custom-modal-header,
.meal-plan-modal-option .custom-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    color: #0F3855;
}

.meal-plan-modal .custom-modal-title,
.meal-plan-modal-option .custom-modal-title {
    margin: 0;
    font-size: 24px;
}

.meal-plan-modal .custom-modal-close,
.meal-plan-modal-option .custom-modal-close {
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.meal-plan-modal .custom-modal-body,
.meal-plan-modal-option .custom-modal-body {
    max-height: 400px;
    overflow-y: auto;
    color: #0F3855;
}

.meal-plan-modal .custom-modal-footer,
.meal-plan-modal-option .custom-modal-footer {
    margin-top: 20px;
    text-align: right;
}

.meal-plan-modal .custom-modal-footer .btn,
.meal-plan-modal-option .custom-modal-footer .btn {
    margin-left: 10px;
    min-height: 52px;
}


.meal-plan-selector {
    margin-bottom: 20px;
}

.meal-plan-selector label {
    margin-right: 10px;
    font-weight: bold;
}
/*
.meal-plan-container {
     Hidden by default; shown based on selection
}
 */
.meal-plan-container h4 {
    margin-bottom: 10px;
}

.meal-plan-list-items {
    list-style: none;
    padding: 0;
}

.meal-plan-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.meal-plan-item .meal-plan-recipe-name {
    flex-grow: 1;
}
.meal-plan-item .meal-plan-recipe-name a {
	color: #0E3857;
}
button#meal-plan-clear-current {
	background-color: #0E3857;
}

.meal-plan-item .meal-plan-remove-recipe {
    background: none;
    border: none;
    cursor: pointer;
    padding-left: 5px;
    padding-right: 3px;
    padding-top: 0px;
    padding-bottom: 0px;
   
}

.meal-plan-item .meal-plan-remove-recipe svg {
    width: 20px;
    height: 20px;
}
/* syx disabled 
.btn {
    padding: 8px 16px;
    border: none;
    cursor: pointer;
    font-size: 16px;
}
*/

.btn-primary {
    background-color: #007bff;
    color: #fff;
}

.btn-secondary {
    background-color: #6c757d;
    color: #fff;
}

.btn-danger {
    background-color: #dc3545;
    color: #fff;
}

.btn-default {
    background-color: #f8f9fa;
    color: #212529;
}

/* syx disabled
.btn:hover {
    background-color: inherit !important;
    color: inherit !important;
    text-decoration: none !important;
    border-color: inherit !important;
    box-shadow: none !important;
    cursor: default !important;
}
*/

.mt-2 {
    margin-top: 16px;
}
/* Meal Plan Modal Footer */
.meal-plan-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px; /* Adds space between buttons */
}

.meal-plan-cancel-button {
    margin-bottom: 10px;
    margin-top: 10px;
    text-align: center;
}
/* Meal Plan Modal Footer */
.meal-plan-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-button-left,
.footer-button-center,
.footer-button-right {
    flex: 1;
}

.footer-button-left {
    text-align: left;
}

.footer-button-center {
    text-align: center;
}

.footer-button-right {
    text-align: right;
}

/* Adjust button styles */
.meal-plan-footer .btn {
    min-width: 120px; /* Ensures consistent button width */
    font-size: 14px;
}
.meal-plan-footer .btn:hover {
    background-color: #0E3857;
    color: #fff;
    text-decoration: none !important;
    border-color: inherit !important;
    box-shadow: none !important;
    cursor: default !important;
}
@media (max-width: 768px) {
    /* Make the footer flex-column */
    .meal-plan-footer {
        flex-direction: column;
        align-items: center; /* Center items horizontally */
        padding-right: 20px;
    }

    /* Each "zone" is full-width */
    .footer-button-left,
    .footer-button-center,
    .footer-button-right {
        flex: 0;           /* Prevent them from stretching */
        width: 100%;       
        text-align: center;
        margin-bottom: 10px;
    }

    /* Adjust button sizing on mobile */
    .meal-plan-footer .btn {
        width: 50%;
        font-size: 10px;
        padding: 10px;
    }
}	
/* START Ingredient Box Weekly Formatting */
/*
.elementor-widget-tabs .elementor-tab-title {
    font-family: 'BrandonGrotesque', sans-serif;
    font-weight: 500;
}

.elementor-tab-title,
.elementor-tab-title.elementor-active {
    text-transform: lowercase !important; 
    position: relative !important;
    padding-left: 0px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-right: 0px !important;
    font-family: 'BrandonGrotesque', sans-serif;
    font-size: 15px !important;
    color: white !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    z-index: auto;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    margin-left: -25px;
    min-width: 120px;
    max-width: 120px;
    width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-align: center !important;
    justify-content: center;
}

.elementor-tab-title:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    transform: translateY(-10px);
    z-index: 13;
}

.elementor-tabs-wrapper {
    overflow: visible !important;
    padding-left: 20px;
    padding-right: 20px;
}

.elementor-tab-title.elementor-active {
    color: #333 !important; 
    background-color: #fff !important;
    box-shadow: 0 10px 12px rgba(0, 0, 0, 0.3);
    z-index: 14; 
    margin-left: 0; 
    min-width: 120px; 
    max-width: 120px;
    width: 120px; 
    text-align: center;
}

@media (max-width: 768px) {
    .elementor-tab-title,
    .elementor-tab-title.elementor-active {
        min-width: auto !important;
        max-width: none !important;
        width: auto !important;
        text-align: center; 
    }
}

.elementor-tab-title:nth-child(1) { z-index: 12; }
.elementor-tab-title:nth-child(2) { z-index: 11; }
.elementor-tab-title:nth-child(3) { z-index: 10; }
.elementor-tab-title:nth-child(4) { z-index: 9; }
.elementor-tab-title:nth-child(5) { z-index: 8; }
.elementor-tab-title:nth-child(6) { z-index: 7; }
.elementor-tab-title:nth-child(7) { z-index: 6; }
.elementor-tab-title:nth-child(8) { z-index: 5; }
.elementor-tab-title:nth-child(9) { z-index: 4; }
.elementor-tab-title:nth-child(10) { z-index: 3; }
.elementor-tab-title:nth-child(11) { z-index: 2; }
.elementor-tab-title:nth-child(12) { z-index: 1; }

.elementor-tab-title.elementor-tab-desktop-title:nth-child(1) { background-color: #AEA8A5 !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(2) { background-color: #4F758B !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(3) { background-color: #A7BDB1 !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(4) { background-color: #B79A81 !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(5) { background-color: #DD878D !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(6) { background-color: #E1B87F !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(7) { background-color: #716E6A !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(8) { background-color: #174A5B !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(9) { background-color: #43695B !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(10) { background-color: #8C5C30 !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(11) { background-color: #6F2C3F !important; }
.elementor-tab-title.elementor-tab-desktop-title:nth-child(12) { background-color: #8C5C30 !important; }

.elementor-tab-mobile-title[data-tab="1"] { background-color: #AEA8A5 !important; }
.elementor-tab-mobile-title[data-tab="2"] { background-color: #4F758B !important; }
.elementor-tab-mobile-title[data-tab="3"] { background-color: #A7BDB1 !important; }
.elementor-tab-mobile-title[data-tab="4"] { background-color: #B79A81 !important; }
.elementor-tab-mobile-title[data-tab="5"] { background-color: #DD878D !important; }
.elementor-tab-mobile-title[data-tab="6"] { background-color: #E1B87F !important; }
.elementor-tab-mobile-title[data-tab="7"] { background-color: #716E6A !important; }
.elementor-tab-mobile-title[data-tab="8"] { background-color: #174A5B !important; }
.elementor-tab-mobile-title[data-tab="9"] { background-color: #43695B !important; }
.elementor-tab-mobile-title[data-tab="10"] { background-color: #8C5C30 !important; }
.elementor-tab-mobile-title[data-tab="11"] { background-color: #6F2C3F !important; }
.elementor-tab-mobile-title[data-tab="12"] { background-color: #8C5C30 !important; }


.elementor-tabs-wrapper {
    display: flex; 
    justify-content: flex-start; 
    flex-wrap: nowrap; 
    overflow-x: auto; 
    gap: 10px; 
    padding-left: 20px;
    padding-right: 20px; 
    margin-top: -10px;
    padding-top: 3px;
}

.elementor-tab-title {
    text-align: left;

.elementor-tab-title:not(.elementor-active) {
    margin-right: -15px; /* Overlap inactive tabs 
}
*/
/* END Ingredient Box Weekly Formatting */



/* recipe box main page */
.box-download-button .elementor-button-text {
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* Tab Title Styling */
.ppp-accordion .elementor-tab-title {
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 311px;
    height: 59px;
    flex-shrink: 0;
    border: 0px solid lightgray;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    font-size: 26px;
    text-align: center;
    line-height: normal;
}

.ppp-accordion .elementor-accordion-item.elementor-active li a {
    color: #0F3855;
}
.ppp-accordion .elementor-accordion-item.elementor-active li a::after {
    content: " >";
}

/* Icon Styling */
/*
.ppp-accordion .elementor-tab-title::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url('/wp-content/uploads/2023/11/slowcooker.png') no-repeat center center;
    background-size: cover;
    margin-right: 10px;
}
*/

/* Hide Default Accordion Icon */
.ppp-accordion .elementor-accordion-icon {
    display: none;
}

/* Accordion Wrapper */
.ppp-accordion .elementor-accordion {
    width: 320px;
    min-height: 66px;
    flex-shrink: 0;
    border: 0px solid lightgray;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding: 2px;
    padding-left: 3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Tab Content Styling */
.ppp-accordion .elementor-tab-content {
    color: #0F3855;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 35px;
    letter-spacing: 1px;
    margin: 20px 0;
    text-align: left;
}

/* Entry Content Styling */
.ppp-accordion .entry-content ul > li {
    list-style-type: disc;
    color: black;
}

/* Force all accordion content to start closed */
.ppp-accordion .elementor-tab-content {
    display: none !important;
}

/* Ensure only active items are visible */
.ppp-accordion .elementor-accordion-item.elementor-active .elementor-tab-content {
    display: block !important;
}
/*
.ppp-accordion .elementor-tab-title {
    pointer-events: none;
}
*/

/* Space at top of calendar and tribe event pg template*/
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header__top-bar {
    margin-top: 20px;
}
#tribe-events-pg-template {
    padding: 5px;
}
/* End tribe event calendar style.. other style found in tribe event css dir */


/* Breadcrumb Container */
.custom-breadcrumb {
	justify-content: flex-end;
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    margin: 0 0px;
    padding: 0;
    color: #333; /* Text color */
    display: flex;
    align-items: center;
    margin-right: 12%;
}

/* "Back to" Text */
.breadcrumb-backtext {
    color: #888; /* Light gray color */
    font-weight: 500; /* Slightly bold */
    margin-right: 14px; /* Space after "Back to" */
    font-size: 14px;
}

/* Divider (Double Arrow) */
.breadcrumb-divider {
    font-size: 16px;
    color: #bbb; /* Soft gray for the arrow */
    margin-right: 10px; /* Space after the divider */
}

/* Breadcrumb Link */
.custom-breadcrumb a {
    color: #0e3857; /* Primary link color */
    font-weight: bold; /* Make the link bold */
    text-decoration: none;
    transition: color 0.3s ease; /* Smooth color transition on hover */
}

/* Breadcrumb Link Hover Effect */
.custom-breadcrumb a:hover {
    color: #0e3857; /* Darker blue on hover */
    text-decoration: underline; /* Underline on hover */
}

/* Responsive Design: Stack on Smaller Screens */
@media (max-width: 600px) {
    .custom-breadcrumb {
        flex-direction: column;
        align-items: flex-start;
    }

    .breadcrumb-divider {
        display: none; /* Hide the arrow on smaller screens */
    }
}

/* Remove border from recipe page */
.wprm-recipe-template-ppp-custom-template {
    border-style: none !important;
}

/* Hide the back to blog text on the login form */
#backtoblog {
    display: none !important;
}

.wrap {
   max-width: -webkit-fill-available !important;
}

/* Hide the tagline under the header */
.site-tagline {
    display: none;
}

/* change header from fixed to static */
.site-header {
    position: static !important;
}
/* Prevent right scroll on mobile */
.site-container {
    overflow-x: hidden;
}


/* IPAD Tablet View */
/* Tab Title Styling */
@media only screen and (max-width: 952px) {
    .ppp-accordion .elementor-tab-title {
        width: 260px;
    }
    /* Accordion Wrapper */
    .ppp-accordion .elementor-accordion {
        width: 269px;
    }
}

/* Mobile Header horzontal not stacked vertically */
@media only screen and (max-width: 767px) {

    /* Accordion Tab Style */
    .ppp-accordion .elementor-tab-title {
        width: 311px;
    }
    /* Accordion Wrapper */
    .ppp-accordion .elementor-accordion {
        width: 320px;
    }

    .elementor-section.elementor-top-section.elementor-element-432cfc6 .elementor-container {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .elementor-section.elementor-top-section.elementor-element-432cfc6 .elementor-column {
        flex: 1;
        max-width: none; /* Ensure columns don't shrink or get constrained */
    }

    .elementor-section.elementor-top-section.elementor-element-afbd1d1 .elementor-column {
        width: 48%; /* Set each column to take up almost half the row */
        margin-bottom: 10px; /* Adds some spacing between rows */
    }

    /* Center the columns and adjust gap */
    .elementor-section.elementor-top-section.elementor-element-afbd1d1 .elementor-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .elementor-section.elementor-top-section.elementor-element-d8c2103 .elementor-column {
        width: 48%; /* Ensures two columns per row */
        margin-bottom: 10px; /* Adds spacing between rows */
    }

    /* Flexbox layout for cleaner alignment */
    .elementor-section.elementor-top-section.elementor-element-d8c2103 .elementor-container {
        display: flex;
        flex-wrap: wrap; /* Allows wrapping of columns */
        justify-content: space-between;
    }

    .elementor-section.elementor-top-section.elementor-element-2f67d5e .elementor-column {
        width: 48%; /* makes sure of two columns per row */
        margin-bottom: 10px; /* Adds some spacing between rows */
    }

    /* Flexbox layout for cleaner alignment */
    .elementor-section.elementor-top-section.elementor-element-2f67d5e .elementor-container {
        display: flex;
        flex-wrap: wrap; /* wrapping columns */
        justify-content: space-between;
    }
}


/* Monthly Calendar Cards */
.monthly-calendar-card-recipes {
    height: 225px;
    margin-right: 5px;
    margin-left: 5px;
}
.monthly-calendar-card-date-header {
	margin-top: 10px;
    height: 30px;
}
.monthly-calendar-card {
	min-width: 350px;
	min-height: 555px;
	width: 350px;
	margin: 0px 5px 0px 5px;
	padding: 0px;
}
  /* Monthly Calendar Card Add-To-Cart Table Styling */
  .monthly-calendar-card-add-to-cart {
    border-collapse: collapse;
    margin: 0 0 10px 0;
    padding: 0;
    border-spacing: 0;
    width: auto;
  }

  /* Table Cell Styling */

  .monthly-calendar-card-add-to-cart tbody {
    border-bottom: 0px;
  }

  .monthly-calendar-card-add-to-cart td {
    border: 0px;
    padding: 0; /* No padding to remove extra space */
    line-height: 1; /* Tighten text/button alignment */
  }

  /* Left Column Text */
  .monthly-calendar-card-add-to-cart td:first-child {
    text-align: right;
    padding-right: 10px; /* Add space between left column text and button */
    color: #0F3855;
  }

  /* Right Column Buttons */
  .monthly-calendar-card-add-to-cart td:last-child {
    padding-left: 10px; /* Add space between text and button */
  }

	.monthly-calendar-card-add-to-cart .add_week_to_cart_button {
	    display: block;
	    width: 245px;
	    padding: 15px 36px;
	    justify-content: center;
	    align-items: center;
	    flex-shrink: 0;
	    background: #0F3856;
	    color: #ffffff !important;
	    text-align: center;
	    font-size: 17px;
	    font-style: normal;
	    font-weight: 450 !important;
	    line-height: 18px;
	    letter-spacing: 1.87px;
	    text-transform: uppercase;
	    border: 0px solid;
	    border-radius: 0px;
	}   

@media only screen and (max-width: 767px) {
	.monthly-calendar-card {
		min-width: 350px;
		min-height: 500px;
		width: 350px;
		margin: 0px 5px 10px 5px;
		padding-bottom: 10px;

	}
}

/* End Monthly Calendar Cards */

/* [ recipe box dashboard ] */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}
.my-plans-header {
	color: #0F3855;
}
.more-menu-plans-header {
	color: #0F3855;
}

.recipe-box {
    text-align: center;
    background-color: #fff;
    transition: transform 0.3s;
    overflow: hidden;
    position: relative;
    border: none;
    border-radius: 0;
}

.recipe-boxes.non-accessible {
    padding-top: 20px;
    padding-bottom: 40px;
}

.recipe-box:hover {
    transform: scale(1.05);
}

/* Grayscale applied only to the image */
.grayed-out img {
    filter: grayscale(100%) brightness(50%);
    opacity: 0.8;
    transition: filter 0.3s;
}

/* Title overlay for non-accessible boxes */
.recipe-box-title-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -70%);
    width: 90%;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
    text-align: center;
    z-index: 2;
}

/* Accessible box title */
.recipe-box-title {
    color: #0F3855;
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .grid-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .recipe-box-title-overlay {
        font-size: 18px;
    }
}

/* Buy now button */
.buy-now-button {
    background-color: #0F3855;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 0px;
    font-size: 14px;
    margin-top: 0px;
    transition: background-color 0.3s;
    display: inline-block;
    width: 100%;
    border: none;
    text-align: center;
}
.buy-now-button:hover {
    background-color: #083048;
}

/* Modal Overlay - ensure centered */
.ppp-recipe-box-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.7);
    display: none; /* start hidden */
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
.dashboard-ppp-recipe-box-modal-overlay {
    background: rgba(0,0,0,0.1);
}

/* Initially hide the overlay by adding a hidden class */
.hidden {
    display: none !important;
}

.noaccess-ppp-recipe-box-modal-wrapper .more-menu-plans-header {
    display: none;
}
/* reverse gray scale
.noaccess-ppp-recipe-box-modal-wrapper .recipe-box.grayed-out img {
    opacity: 1 !important; 
    filter: none !important; 
    pointer-events: auto !important; 
    background-color: transparent !important;
}
*/

.ppp-recipe-box-modal {
    background: #FFFFFF;
    width: 411px;
    height: 480px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Modal Header */
.ppp-recipe-box-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Title on left, close button on right */
    background: #0F3855;
    color: #fff;
    padding: 24px;
    font-weight: bold;
    font-size: 18px;
    position: relative;
}

/* Center the title by absolutely positioning it */
.ppp-recipe-box-modal-header .modal-title-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%; 
}
.ppp-recipe-box-modal .modal-box_product_recipe_count-text {
    position: absolute;
    left: 40%;
    transform: translateX(-50%); 
    text-align: center;
    background-color: #d54d4d; 
    color: white; 
    padding: 5px 15px; 
    border-radius: 12px; 
    font-weight: bold; 
    font-size: 8px; 
    white-space: nowrap; 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* shadow for sticker effect */
}

/* Modal Content */
.ppp-recipe-box-modal-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.ppp-recipe-box-modal-content .top-section {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.ppp-recipe-box-modal-content .top-section .image-column img {
    width: 206px;
    height: 214px;
    border-radius: 8px;
    object-fit: cover;
}

.ppp-recipe-box-modal-content .top-section .info-column {
    display: flex;
    flex-direction: column;
    width: calc(100% - 206px);
    max-height: 214px; 
    overflow: hidden;
}

.ppp-recipe-box-modal-content .top-section .info-column .info-title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 5px;
    color: #0F3855;
}

.ppp-recipe-box-modal-content .top-section .info-column .info-blurb {
    flex: 1;
    overflow-y: auto;
    font-size: 14px;
    color: #333;
    margin-right: 5px;
    align-items: left;
}

/* Middle section with select */
.ppp-recipe-box-modal-content .middle-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ppp-recipe-box-modal-content .middle-section .select-text {
    font-size: 14px;
    color: #000;
    max-width: 220px;
}

.ppp-recipe-box-modal-content .middle-section .product-select-container {
    position: relative;
}

.ppp-recipe-box-modal-content .middle-section .product-select-button {
    background: #0F3855;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 0px; 
    padding: 8px 24px;
    cursor: pointer;
    font-size: 14px;
    width: 180px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.ppp-recipe-box-modal-content .middle-section .product-select-dropdown {
    position: absolute;
    background: #fff;
    top: 50px;
    left: 0;
    width: 180px;
    border: 1px solid #ccc;
    display: none;
    flex-direction: column;
    z-index: 10;
}

.ppp-recipe-box-modal-content .middle-section .product-select-dropdown button {
    background: #fff;
    border: none;
    border-radius: 0px;
    font-size: 14px;
    padding: 8px;
    text-align: left;
    cursor: pointer;
    width: 100%;
}

.ppp-recipe-box-modal-content .middle-section .product-select-dropdown button:hover {
    background: #cbd2d8;
}

/* BUY NOW button in modal */
.buy-now-modal-button {
    background-color: #0F3855;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    width: 391px;
    height: 46px;
    padding: 16px;
    border: none;
    cursor: pointer;
    margin: 0 auto 10px auto;
    display: none; /* hidden by default, shown after product type chosen */
    text-align: center;
    font-size: 14px;
    line-height: 14px;
    border-radius: 0px;
}
.buy-now-modal-button:hover {
    background-color: #083048;
}

/* Footer text */
.ppp-recipe-box-modal-content .footer-text {
    font-size: 12px;
    text-align: center;
    color: #555;
    margin-top: auto;
}

.ppp-recipe-box-modal-header .close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
}

.ppp-recipe-box-modal-header .close svg {
    width: 24px;
    height: 24px;
    fill: #fff !important; /* Ensures the icon is white */
}

.ppp-recipe-box-modal .close:hover,
.ppp-recipe-box-modal .close:focus {
    background: none !important;
    border: none !important;
    color: inherit !important;
}

.ppp-recipe-box-modal .close:hover svg,
.ppp-recipe-box-modal .close:focus svg {
    fill: inherit !important;
}

/* Compare at Price Styling */
.compare-at-price {
    text-decoration: line-through;
    color: grey;
    font-size: 1em; /* Ensures same font size as actual price */
}

/* Actual Price Styling */
.price {
    color: #0F3855; /* Match theme's color */
    font-size: 1em; /* Ensures same font size as compare at price */
}

/* Price Container Styling */
.price-container {
    display: flex;
    /* justify-content: space-between; */
    gap: 8px;
    width: 100%;
    margin-top: 4px; /* Adds space between the name and the prices */
}


/* Selection Option Styling */
.select-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Align text to the left */
    justify-content: center;
    padding: 10px;
    cursor: pointer;
    border: 1px solid #ccc; /* Add border for better visibility */
    border-radius: 4px; /* Rounded corners */
    background-color: #f9f9f9; /* Light background */
    transition: background-color 0.3s, border-color 0.3s;
}

.select-option:hover {
    background-color: #e6e6e6; /* Darker background on hover */
    border-color: #999; /* Darker border on hover */
}

/* Bold Selection Names */
.select-option strong {
    font-weight: bold;
    color: #0F3855; /* Match theme's color */
    font-size: 16px;
    margin-bottom: 4px; /* Adds space below the name */
}

/* Ensure prices are not bold */
.select-option span.price,
.select-option span.compare-at-price {
    font-weight: normal;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .select-option {
        flex-direction: column;
        align-items: flex-start;
    }

    .select-option strong {
        margin-bottom: 5px;
    }

    .price-container {
        width: 100%;
    }
	.buy-now-modal-button {
	    width: 340px;
	}

}
/* force the image to fill the box and crop to fit */
.recipe-box img {
  display: block;       /* remove inline‐img whitespace */
  width: 100%;          /* fill the box’s width */
  height: 250px;        /* fixed height */
  object-fit: cover;    /* crop & scale to cover container */
}
/* end recipe box dashboard */

/* NEW recipe box dashboard with swipe horizontal lists */

/* Hide the page title on the front page */
.home .entry-title,
.home .page-title {
  display: none !important;
}

/* new dashboard header DESKTOP video / text */
#dashboard-video-header {
  position: relative;
  width: 100%;
  height: 425px;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  overflow: hidden;
}

#dashboard-video-header video {
  width: 100%;      /* fill the container */
  height: 100% !important;
  object-fit: contain;     /* show the whole video, no cropping */
  object-position: top center; /* center it */
}

/* Make the wrapper a positioned container */
#dashboard-header-text {
  position: relative;
  height: 425px;
  padding: 0;
}


/* Absolutely center the <p> inside it */
#dashboard-header-text p {
  position: absolute !important;
  top: 45% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  white-space: nowrap;
  font-weight: 450 !important;
  font-size: 100px;
  line-height: 111px;
  letter-spacing: 0;
  text-align: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  /* Mobile: force header-video to exactly 250px tall and fill container */
  #dashboard-video-header {
    position: relative !important;
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    padding: 0 !important;
    overflow: hidden !important;
    left: auto !important;
    transform: none !important;
  }

  /* Cover any Elementor background-video or plain <video> inside */
  #dashboard-video-header .elementor-background-video-container,
  #dashboard-video-header .elementor-background-video-hosted video,
  #dashboard-video-header video {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Match the overlay text wrapper */
  #dashboard-header-text {
    position: relative !important;
    height: 250px !important;
    min-height: 250px !important;
    padding: 0 !important;
  }

  /* Center the <p> inside the 250px container */
  #dashboard-header-text p {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-weight: 450 !important;
    font-size: 50px !important;
    line-height: 30px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
}

/* End new dashboard header video / text */

/* recipe box header text for mobile and desktop */
/* Desktop header */

/* dynamic header for non-accessible-header */
.non-accessible-header {
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 48px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0 0 10px 35px;
}

#dashboard-my-plans-desktop-top-header {
  display: flex;
  align-items: baseline;
  column-gap: 40px;
  margin-top: 40px;
  left: 36px;
}
#dashboard-my-plans-desktop-top-header div, #dashboard-my-plans-desktop-top-header div p  {
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 48px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0;
}
#dashboard-my-plans-desktop-top-header a {
    display: none; /* my-plans view link disabled for now */
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 390;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0;
  text-decoration: underline solid;
  text-decoration-thickness: 0;
  text-decoration-skip-ink: auto;
  color: #000000;
  margin: 0;
}

#dashboard-my-plans-desktop-header {
  display: flex;
  align-items: baseline;
  column-gap: 40px;
  margin-top: 0px;
  left: 36px;
}
#dashboard-my-plans-desktop-header div, #dashboard-my-plans-desktop-header div p  {
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 48px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0;
}
#dashboard-my-plans-desktop-header a {
    display: none; /* my-plans view link disabled for now */
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 390;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0;
  text-decoration: underline solid;
  text-decoration-thickness: 0;
  text-decoration-skip-ink: auto;
  color: #000000;
  margin: 0;
}

/* Mobile header */
#dashboard-my-plans-mobile-top-header {
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: 40px;
  margin-top: 30px;
}
#dashboard-my-plans-mobile-top-header div {
  text-align: center;
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0;
}
#dashboard-my-plans-mobile-top-header a {
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 390;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0;
  text-decoration: underline solid;
  text-decoration-thickness: 0;
  text-decoration-skip-ink: auto;
  color: #000000;
  margin: 0;
}
#dashboard-my-plans-mobile-header {
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: 40px;
  margin-top: 30px;
}
#dashboard-my-plans-mobile-header div {
  text-align: center;
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0;
}
#dashboard-my-plans-mobile-header a {
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 390;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0;
  text-decoration: underline solid;
  text-decoration-thickness: 0;
  text-decoration-skip-ink: auto;
  color: #000000;
  margin: 0;
}
/* end recipe box header text for mobile and desktop */


.recipe-boxes-swipe {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 3rem;
  padding-bottom: 0;
  height: 455px;
  padding-left: 0px;
  margin-left: 0px;
  width: 100%;
}
.recipe-boxes-swipe .recipe-box {
  width: 359px;
  height: 400px;
  position: relative;
  top: 16px;
  left: 36px;
  box-shadow: 4px 4px 31px -5px #00000024;
  flex: 0 0 auto;
}
.recipe-boxes-swipe .recipe-box img {
  width: 359px;
  height: 278px;
  object-fit: cover;
}
.recipe-boxes-swipe .recipe-box-title {
  position: absolute;
  top: 295px;
  left: 0;
  width: 359px;
  height: 30px;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 21px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  color: #0F3855;
}
.recipe-boxes-swipe .recipe-box-title::after {
  content: ' >';
}

.recipe-boxes-swipe .recipe-box-short-blurb {
  position: absolute;
  top: 333px;           
  left: 0;
  width: 359px;
  margin: 0;             
  text-align: center;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 390;      
  font-size: 16px;       
  line-height: 1.2;
  color: #0F3855;
  padding: 0 10px;      
}
.recipe-boxes-swipe::-webkit-scrollbar {
  display: none;
}
@media (max-width: 768px) {
    .non-accessible-header {
      font-size: 30px;
      text-align: center;
      margin: 0;
    }
    .recipe-boxes-swipe {
        justify-content: flex-start !important;
        padding-left: calc((100vw - 305px) / 2) !important;
        padding-right: calc((100vw - 305px) / 2) !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .recipe-boxes-swipe .recipe-box {
        width: 305px;          
        flex: 0 0 auto;        
        left: auto;             
        margin: 0;             
        scroll-snap-align: center;  
    }
    .recipe-boxes-swipe .recipe-box img {
        width: 305px;          
    }
    .recipe-boxes-swipe .recipe-box-title {
        width: 305px;
        left: 0px;
    }
    .recipe-boxes-swipe .recipe-box img {
        width: 305px;
    }
    .swipe-indicators {
        margin-top: 0rem !important;
    }


    
  .recipe-boxes-swipe .recipe-box-short-blurb {
    position: absolute !important;
    top: 350px !important;              /* adjust until it sits just below your title */
    left: 50% !important;                
    transform: translateX(-50%) !important;
    width: 305px !important;             /* match your .recipe-box width on mobile */
    margin: 0 !important;
    text-align: center !important;
    font-size: 16px !important;          /* or whatever size you want */
    line-height: 1.2 !important;
  }
}

/* -- non-accessible recipe box -- */
.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box {
  display: flex;
  flex-direction: column;
  height: 369px;
}

.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box .recipe-box-title-overlay {
  display: none;
}

.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box img {
  flex-shrink: 0;
}

.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box .buy-now-button {
  display: block;
  flex-grow: 1;
  width: 100%;
  padding: 16px;
  margin: 0;
  background: #0F3855;
  border: none;
  box-sizing: border-box;
  color: #FFF;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 21px;
  font-weight: 450;
  line-height: normal;
  text-transform: uppercase;
  text-align: center;
}

.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box .buy-now-button::before {
  content: attr(data-box-title);
  display: block;
  margin-bottom: 4px;
  color: #FFF;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 16px;
  font-weight: 390;
  line-height: normal;
  text-transform: capitalize;
}

.recipe-boxes-swipe[data-type="non-accessible"] .recipe-box .buy-now-button::after {
  content: " >";
  display: inline;
  margin-left: 4px;
}
/* End non-accessible recipe box */

/* — new: recipe box dashboard with swipe horizontal lists — */
.recipe-swipe-container {
  position: relative;
  display: flex;
  align-items: center;
}

.swipe-arrow {
  background: none;
  border: none;
  font-size: 2rem;
  padding: 0 0.5rem;
  cursor: pointer;
  color: #fff;
  z-index: 10;
  padding-bottom: 7px;
  outline: none;
}

.swipe-arrow:hover,
.swipe-arrow:focus {
  color: #fff !important;
  background-color: #0F3855 !important;
}
.swipe-arrow-left  { margin-right: -1rem; }
.swipe-arrow-right { margin-left:  -1rem; }
/* — new: dots indicator — */
.swipe-indicators {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.swipe-indicator-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(15, 56, 85, 0.3);
  margin: 0 6px;
  transition: background-color 0.3s;
  cursor: pointer;
}
.swipe-indicator-dot.active {
  background-color: #0F3855;
}



/* End new recipe box dashboard with swipe horizontal lists */
/* Hide the old toolbar/button entirely */
.my-plans-toolbar { display: none !important; }

/* Toggle shown as lowercase, underlined link in headers */
#dashboard-my-plans-desktop-header a.recipe-view-toggle,
#dashboard-my-plans-desktop-top-header a.recipe-view-toggle,
#dashboard-my-plans-mobile-header a.recipe-view-toggle,
#dashboard-my-plans-mobile-top-header a.recipe-view-toggle {
  display: inline-block !important;      /* override earlier display:none */
  text-decoration: underline;
  text-transform: lowercase;
  color: #0F3855;                         /* same blue as headers */
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;                       /* more bold */
  font-size: 18px;                        /* smaller than header */
  line-height: 2.2;
  cursor: pointer;
}

/* Desktop: vertically center with the title */
#dashboard-my-plans-desktop-header a.recipe-view-toggle,
#dashboard-my-plans-desktop-top-header a.recipe-view-toggle {
  align-self: center !important;
  margin-top: 0 !important;
}

/* Tablet/Mobile: drop under title with just a normal line of space.
   Key fix: kill flex gap on these headers so wrapping doesn't add extra space. */
@media (max-width: 1024px) {
  #dashboard-my-plans-desktop-header,
  #dashboard-my-plans-desktop-top-header,
  #dashboard-my-plans-mobile-header,
  #dashboard-my-plans-mobile-top-header {
    display: flex;                 /* keep flex behavior */
    flex-wrap: wrap;               /* allow the link to wrap */
    align-items: center;           /* nice vertical alignment */
    gap: 0 !important;             /* <-- remove extra row/column spacing */
    column-gap: 0 !important;      /* belt-and-suspenders for older rules */
    row-gap: 0 !important;
    justify-content: center;
  }

  #dashboard-my-plans-desktop-header a.recipe-view-toggle,
  #dashboard-my-plans-desktop-top-header a.recipe-view-toggle,
  #dashboard-my-plans-mobile-header a.recipe-view-toggle,
  #dashboard-my-plans-mobile-top-header a.recipe-view-toggle {
    order: 2;                      /* after the title */
    display: block !important;
    width: 100%;
    text-align: center;
    margin-top: 0.25em !important; /* ~normal line space */
    font-size: 16px;               /* slightly smaller on tablet/mobile */
    line-height: 1.2;
  }
}

/* ===== Grid mechanics (unchanged) ===== */

/* When grid mode is on, hide arrows and dots */
.recipe-swipe-container.is-grid { display: block; }
.recipe-swipe-container.is-grid .swipe-arrow { display: none !important; }
/* dots container is the next sibling of wrapper */
.recipe-swipe-container.is-grid + .swipe-indicators { display: none !important; }

/* Grid container — keep original card design; only change layout */
.recipe-boxes-swipe.is-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 359px); /* desktop: 3 cards wide at 359px */
  gap: 3rem;                 /* match swipe gap */
  justify-content: center;   /* center the grid */
  overflow: visible;         /* no horizontal scroll */
  height: auto;              /* allow multiple rows */
  padding: 0;                /* cards handle their own spacing */
  margin: 0;
  scroll-snap-type: none;    /* disable snap in grid */
}

/* Tablet: 2 across at full card width */
@media (max-width: 1024px) {
  .recipe-boxes-swipe.is-grid {
    padding-top: 20px; 
  }
  .recipe-boxes-swipe.is-grid {
    grid-template-columns: repeat(2, 359px);
  }
}
/* Mobile: 2 across in GRID mode (swipe mode unchanged) */
@media (max-width: 768px) {
  .recipe-boxes-swipe.is-grid {
    padding-top: 20px; 
  }
  .recipe-boxes-swipe.is-grid {
    /* two equal columns that fit the viewport */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;              /* tighten spacing a bit for two-up */
    padding-left: calc((100vw - 355px) / 2) !important;
    padding-right: calc((100vw - 355px) / 2) !important;
  }

  /* Make cards fluid ONLY in mobile grid so two-up fits */
  .recipe-boxes-swipe.is-grid .recipe-box {
    width: auto !important;
    height: auto !important;
    left: 0 !important;         /* keep columns aligned */
    top: auto !important;
    position: relative !important;
  }

  .recipe-boxes-swipe.is-grid .recipe-box img {
    width: 100% !important;     /* let image scale to column */
    height: 155px !important;
    object-fit: cover;
  }

  /* Let title/blurbs flow below the image in mobile grid only */
  .recipe-boxes-swipe.is-grid .recipe-box-title,
  .recipe-boxes-swipe.is-grid .recipe-box-short-blurb {
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    text-align: center !important;
  }
  .recipe-boxes-swipe.is-grid .recipe-box-title {
    margin-top: 8px !important;
  }
  .recipe-boxes-swipe.is-grid .recipe-box-short-blurb {
    margin-top: 4px !important;
  }

  .recipe-boxes-swipe.is-grid .recipe-box-title {
    font-size: 16px !important;
    padding-left: 10px; padding-right: 6px;
    padding-top: 12px;
    height: 15px;
  }
  .recipe-boxes-swipe.is-grid .recipe-box-short-blurb {
    font-size: 12px !important;
    padding-left: 10px; padding-right: 6px;
  }

}
/* Mobile: 1 across at your mobile card width (305px) */
/*
@media (max-width: 768px) {
  .recipe-boxes-swipe.is-grid {
    grid-template-columns: 305px;
    gap: 24px;               
    padding: 0 16px;     
  }
}
*/
/* Neutralize the swipe offset so columns align in grid */
.recipe-boxes-swipe.is-grid .recipe-box {
  left: 0 !important; /* removes the 36px nudge from swipe mode */
  padding-bottom: 10px;
}




/* New dashboard other section styles */

#dashboard-my-meals-button {
    display: flex;
    width: 300px;
    padding: 15px 36px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background: #0F3856;
    color: #FFF;
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 450 !important;
    line-height: 18px;
    letter-spacing: 1.87px;
    text-transform: uppercase;
    border-radius: 0px;
}

#dashboard-my-meals-button .elementor-button-text {
    line-height: 1;
    letter-spacing: 1.87px;
}
#dashboard-save-it h1 {
    color: #0F3855;
    font-size: 40px;
    font-family: Brandon Grotesque;
    font-weight: 500;
    letter-spacing: 0.80px;
    word-wrap: break-word
}
#dashboard-save-it p {
    color: #0F3855;
    font-size: 21px;
    font-family: Brandon Grotesque;
    font-weight: 400;
    line-height: 24px;
    word-wrap: break-word;
}

#dashboard-save-it .elementor-image-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0 auto;
  text-align: center;
  float: none;
}
#dashboard-save-it .elementor-image-box-img,
#dashboard-save-it .elementor-image-box-content {
  float: none;
  display: block;
  width: auto;
}

#dashboard-save-it .elementor-image-box-img img {
  width: 193.69px;
  height: 88.47px;
  max-width: none;
  display: block;
  margin: 0 auto;
}
#dashboard-save-it h1 {
    color: #0F3855;
    font-size: 40px;
    font-family: Brandon Grotesque;
    font-weight: 500;
    letter-spacing: 0.80px;
    word-wrap: break-word
}
#dashboard-save-it p {
color: #0F3855;
font-size: 21px;
font-family: Brandon Grotesque;
font-weight: 400;
line-height: 24px;
word-wrap: break-word;
}

#dashboard-save-it .elementor-image-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0 auto;
  text-align: center;
  float: none;
}

#dashboard-save-it .elementor-image-box-img,
#dashboard-save-it .elementor-image-box-content {
  float: none;
  display: block;
  width: auto;
}

#dashboard-save-it .elementor-image-box-img img {
  width: 193.69px;
  height: 88.47px;
  max-width: none;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  #dashboard-plan-it-mobile .elementor-image-box-wrapper,
  #dashboard-save-it-mobile .elementor-image-box-wrapper,
  #dashboard-cook-it-again-mobile .elementor-image-box-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    column-gap: 16px;
  }
  #dashboard-plan-it-mobile .elementor-image-box-img,
  #dashboard-save-it-mobile .elementor-image-box-img,
  #dashboard-cook-it-again-mobile .elementor-image-box-img {
    margin: 0;
    flex-shrink: 0;
  }
  #dashboard-plan-it-mobile .elementor-image-box-content,
  #dashboard-save-it-mobile .elementor-image-box-content,
  #dashboard-cook-it-again-mobile .elementor-image-box-content {
    text-align: left;
    flex: 1;
  }
  /* Make the icons smaller */
  #dashboard-plan-it-mobile .elementor-image-box-img img,
  #dashboard-cook-it-again-mobile .elementor-image-box-img img {
    width: 60px;
    height: auto;
  }
  /* Make the icons smaller */
  #dashboard-save-it-mobile .elementor-image-box-img img {
    width: 70px;
    height: auto;
  }
  #dashboard-my-meals-button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 16px auto 0;  /* centers horizontally */
    width: 307px;
    height: 59px;
  }
  #dashboard-my-meals-button .elementor-button-text {
    line-height: 1;
  }
}

/* dashboard-monthly-calendar-see-whats-new-section */
/* dashboard-monthly-calendar-see-whats-new-section */

/* stop the zooming effect on the section */
/* For both callouts */
#dashboard-monthly-calendar-callout .elementor-cta__bg,
#dashboard-see-what-new .elementor-cta__bg,
#dashboard-monthly-calendar-callout .elementor-animated-content,
#dashboard-see-what-new .elementor-animated-content {
  transition: none !important;
}

#dashboard-monthly-calendar-callout.elementor-bg-transform-zoom-in .elementor-cta__bg,
#dashboard-see-what-new.elementor-bg-transform-zoom-in .elementor-cta__bg,
#dashboard-monthly-calendar-callout:hover.elementor-bg-transform-zoom-in .elementor-cta__bg,
#dashboard-see-what-new:hover.elementor-bg-transform-zoom-in .elementor-cta__bg {
  transform: none !important;
}

#dashboard-monthly-calendar-callout .elementor-cta__bg-overlay,
#dashboard-see-what-new .elementor-cta__bg-overlay {
  background: transparent !important;
  opacity: 0 !important;
}

#dashboard-monthly-calendar-see-whats-new-section .e-con-inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3rem;
}

#dashboard-monthly-calendar-see-whats-new-section .elementor-widget-call-to-action {
  flex: 0 0 564px;
  max-width: 564px;
}

/* image area */
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__bg-wrapper,
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__bg {
  width: 100%;
  height: 345px;
}

#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__bg {
  background-size: cover;
  background-position: center center;
}

/* content area (both callouts) */
#dashboard-monthly-calendar-callout .elementor-cta__content,
#dashboard-see-what-new     .elementor-cta__content {
  width: 100%;
  height: 225px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
  box-sizing: border-box;
}

/* left callout background */
#dashboard-monthly-calendar-callout .elementor-cta__content {
  background: #F3C68B;
}

/* right callout background */
#dashboard-see-what-new .elementor-cta__content {
  background: #A9D2D8;
}

/* title */
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__title {
  margin: 0 0 auto;
  color: #0F3855;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 40px;
  font-weight: 450;
  line-height: 50px;
  letter-spacing: 2.4px;
  padding: 15px;
}

/* hide description */
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__description {
  display: none;
}

/* button wrapper pushes the button below the title */
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__button-wrapper {
  margin-top: auto;
}

/* button */
#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__button {
  width: 337px;
  height: 59px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 20px;
  font-weight: 450;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #0F3855;
  background-color: #FFFFFF;
  border: none;
  text-decoration: none;
  margin: 0;
}

/* mobile adjustments */
@media (max-width: 767px) {

  /* image area */
	#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__bg-wrapper,
	#dashboard-monthly-calendar-see-whats-new-section .elementor-cta__bg {
	  height: 100%;
	}

  #dashboard-monthly-calendar-see-whats-new-section .elementor-widget-call-to-action {
    flex: 0 0 305px;
    max-width: 100%;
  }

  #dashboard-monthly-calendar-callout .elementor-cta__content,
  #dashboard-see-what-new     .elementor-cta__content {
    height: auto;
    padding: 0.5rem;
  }

  #dashboard-monthly-calendar-see-whats-new-section .elementor-cta__title {
    font-size: 25px;
    line-height: 27.039px;
    letter-spacing: 1.5px;
    margin-bottom: 6px;
  }

  #dashboard-monthly-calendar-see-whats-new-section .elementor-cta__button {
    width: 190px;
    height: 31.906px;
    font-size: 12px;
    letter-spacing: 0.72px;
  }
}
/* end dashboard-monthly-calendar-see-whats-new-section */

/* dashboard top rated recipes section */

#dashboard-my-plans-desktop-header-top-rated {
  display: flex;
  align-items: baseline;
  column-gap: 40px;
  margin-top: 0px;
  left: 36px;
}
#dashboard-my-plans-desktop-header-top-rated div, #dashboard-my-plans-desktop-header-top-rated div p  {
  color: #0F3855;
  font-family: 'Brandon Grotesque', sans-serif;
  font-weight: 450;
  font-size: 48px;
  line-height: 30px;
  letter-spacing: 0;
  margin: 0;
}

#dashboard-my-plans-mobile-header-top-rated div {
    text-align: center;
    color: #0F3855;
    font-family: 'Brandon Grotesque', sans-serif;
    font-weight: 450;
    font-size: 30px;
    line-height: 30px;
    letter-spacing: 0;
    margin: 0;
}

/* Remove the dark overlay completely */
#dashboard-top-rated-list .elementor-cta__bg-overlay {
  background: transparent !important;
  opacity: 0 !important;
}

/* Prevent any filter/brightness change on hover */
#dashboard-top-rated-list .elementor-cta__bg,
#dashboard-top-rated-list:hover .elementor-cta__bg {
  filter: none !important;
}

/* Reinforce the zoom transition so it still feels smooth */
#dashboard-top-rated-list .elementor-cta__bg {
  transform: none !important;
}


#dashboard-top-rated-list .e-con-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* center the group instead of spacing them out */
  gap: 1rem;                /* 16px between cards */
}

/* force each column container to exactly 271px */
#dashboard-top-rated-list .e-con-inner > .e-con-full {
  flex: 0 0 271px;
}

/* make sure the CTA inside fills its container */
#dashboard-top-rated-list .e-con-inner > .e-con-full .elementor-widget-call-to-action {
  width: 100%;
}

/* pull the white background behind the content */
#dashboard-top-rated-list .elementor-cta__content {
  background-color: #fff;
  position: relative;
  z-index: 1;
}

/* thumbnail size */
#dashboard-top-rated-list .elementor-cta__bg-wrapper,
#dashboard-top-rated-list .elementor-cta__bg {
  width: 271px;
  height: 293px;
  background-size: cover;
  background-position: center;
}

#dashboard-top-rated-list .elementor-cta__content {
    padding: 1rem;
}

/* stars */
#dashboard-top-rated .dashboard-top-rated-stars {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}

/* reviews text */
#dashboard-top-rated .dashboard-top-rated-reviews {
  color: #0F3855;
  text-align: center;
  font-size: 15px;
  font-weight: 420;
  line-height: 17.19px;
  margin-bottom: 4px;
}

/* recipe name */
#dashboard-top-rated .dashboard-top-rated-recipe-name {
  color: #0F3855;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 27.5px;
  margin-bottom: 8px;
}

@media (max-width: 767px) {
    #dashboard-top-rated-list .elementor-cta__content {
    background-color: #fff;
    position: relative;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    }
  #dashboard-top-rated-list .e-con-inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .1px;

    /* center the first & last cards 
    padding-left: calc((100vw - 271px) / 2);
    padding-right: calc((100vw - 271px) / 2);
    */
    /* padding-bottom: 1rem; */
  }

  #dashboard-top-rated-list .e-con-inner::-webkit-scrollbar {
    display: none;
  }

  #dashboard-top-rated-list .e-con-inner > .e-con-full {
    flex: 0 0 auto;
    scroll-snap-align: center;
    width: 161px;
  }
  /* force each CTA card to 161px on mobile */
  #dashboard-top-rated-list .elementor-widget-call-to-action {
    flex: 0 0 auto;
    width: 161px;
  }

  /* resize thumbnail/container */
  #dashboard-top-rated .elementor-cta__bg-wrapper,
  #dashboard-top-rated .elementor-cta__bg {
    width: 161px;
    height: 190px;
  } 

  /* stars SVG */
  #dashboard-top-rated .dashboard-top-rated-stars svg {
    width: 12.108px;
    height: 12.108px;
    flex-shrink: 0;
  }

  /* reviews text */
  #dashboard-top-rated .dashboard-top-rated-reviews {
    font-size: 9.559px;
    line-height: 10.954px;
  }

  /* recipe name */
  #dashboard-top-rated .dashboard-top-rated-recipe-name {
    font-size: 15.294px;
    line-height: 114.6%;
  }
}
/* end dashboard top rated recipes section */


/* End new dashboard other section styles */



/* -------------------------------
   Membership Subscription CSS
   (Replicates the recipe box dashboard styling using unique selectors)
---------------------------------*/

/* Membership Subscription Product Listing */
.membership-subscription-product .membership-subscription-box {
    text-align: center;
    background-color: #fff;
    transition: transform 0.3s;
    overflow: hidden;
    position: relative;
    border: none;
    border-radius: 0;
    max-width: 200px; /* Restrict width to match recipe box size */
    margin: 0 auto;
}

.membership-subscription-product .membership-subscription-box img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Title overlay (centered over the image) */
.membership-subscription-product .membership-subscription-box .recipe-box-title-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
    text-align: center;
    z-index: 2;
}

/* Buy now subscription button */
.buy-now-subscription-button {
    background-color: #0F3855;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 0;
    font-size: 14px;
    margin-top: 0;
    transition: background-color 0.3s;
    display: inline-block;
    width: 100%;
    border: none;
    text-align: center;
}
.buy-now-subscription-button:hover {
    background-color: #083048;
}

/* Modal Overlay - ensure centered */
.membership-subscription-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Hidden utility */
.hidden {
    display: none !important;
}

/* Membership Subscription Modal */
/* -------------------------------
   Membership Subscription CSS
   (Replicates the recipe box dashboard styling using unique selectors)
---------------------------------*/

/* Membership Subscription Product Listing */
.membership-subscription-product .membership-subscription-box {
    text-align: center;
    background-color: #fff;
    transition: transform 0.3s;
    overflow: hidden;
    position: relative;
    border: none;
    border-radius: 0;
    max-width: 200px; /* Restrict width to match recipe box size */
    margin: 0 auto;
}

.membership-subscription-product .membership-subscription-box img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Title overlay (centered over the image) */
.membership-subscription-product .membership-subscription-box .recipe-box-title-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
    text-align: center;
    z-index: 2;
}

/* Buy now subscription button */
.buy-now-subscription-button {
    background-color: #0F3855;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 0;
    font-size: 14px;
    margin-top: 0;
    transition: background-color 0.3s;
    display: inline-block;
    width: 100%;
    border: none;
    text-align: center;
}
.buy-now-subscription-button:hover {
    background-color: #083048;
}

/* Modal Overlay - ensure centered */
.membership-subscription-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Hidden utility */
.hidden {
    display: none !important;
}

/* Membership Subscription Modal */
.membership-subscription-modal {
    background: #FFFFFF;
    width: 411px;
    height: 510px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Modal Header */
.membership-subscription-modal .membership-subscription-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0F3855;
    color: #fff;
    padding: 24px;
    font-weight: bold;
    font-size: 18px;
    position: relative;
}
.membership-subscription-modal .membership-subscription-modal-header .modal-title-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%;
}

/* Modal Content */
.membership-subscription-modal .membership-subscription-modal-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px;
}
.membership-subscription-modal .membership-subscription-modal-content .top-section {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.membership-subscription-modal .membership-subscription-modal-content .top-section .image-column img {
    width: 206px;
    height: 214px;
    border-radius: 8px;
    object-fit: cover;
}
.membership-subscription-modal .membership-subscription-modal-content .top-section .info-column {
    display: flex;
    flex-direction: column;
    width: calc(100% - 206px);
    max-height: 214px;
    overflow: hidden;
}
.membership-subscription-modal .membership-subscription-modal-content .top-section .info-column .info-title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 5px;
    color: #0F3855;
}
.membership-subscription-modal .membership-subscription-modal-content .top-section .info-column .info-blurb {
    flex: 1;
    overflow-y: auto;
    font-size: 14px;
    color: #333;
    margin-right: 5px;
    align-items: left;
}

/* Middle section with select */
.membership-subscription-modal .membership-subscription-modal-content .middle-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .select-text {
    font-size: 14px;
    color: #000;
    max-width: 220px;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .product-select-container {
    position: relative;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .product-select-button {
    background: #0F3855;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 0;
    padding: 8px 24px;
    cursor: pointer;
    font-size: 14px;
    width: 180px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .product-select-dropdown {
    position: absolute;
    background: #fff;
    top: 50px;
    left: 0;
    width: 180px;
    border: 1px solid #ccc;
    display: none;
    flex-direction: column;
    z-index: 10;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .product-select-dropdown button {
    background: #fff;
    border: none;
    border-radius: 0;
    font-size: 14px;
    padding: 8px;
    text-align: left;
    cursor: pointer;
    width: 100%;
}
.membership-subscription-modal .membership-subscription-modal-content .middle-section .product-select-dropdown button:hover {
    background: #cbd2d8;
}

/* BUY NOW button in modal */
.buy-now-subscription-button {
    background-color: #0F3855;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    width: 391px;
    height: 46px;
    padding: 16px;
    border: none;
    cursor: pointer;
    margin: 0 auto 10px auto;
    display: none;
    text-align: center;
    font-size: 14px;
    line-height: 14px;
    border-radius: 0;
}
.buy-now-subscription-button:hover {
    background-color: #083048;
}

/* Footer text */
.membership-subscription-modal .membership-subscription-modal-content .footer-text {
    font-size: 12px;
    text-align: center;
    color: #555;
    margin-top: auto;
}

/* Close button */
.membership-subscription-modal .membership-subscription-modal-header .close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
}
.membership-subscription-modal .membership-subscription-modal-header .close svg {
    width: 24px;
    height: 24px;
    fill: #fff !important;
}
.membership-subscription-modal .membership-subscription-modal-header .close:hover,
.membership-subscription-modal .membership-subscription-modal-header .close:focus {
    background: none !important;
    border: none !important;
    color: inherit !important;
}
.membership-subscription-modal .membership-subscription-modal-header .close:hover svg,
.membership-subscription-modal .membership-subscription-modal-header .close:focus svg {
    fill: inherit !important;
}

/* Compare at Price Styling */
.membership-subscription-modal .compare-at-price {
    text-decoration: line-through;
    color: grey;
    font-size: 1em;
}

/* Actual Price Styling */
.membership-subscription-modal .price {
    color: #0F3855;
    font-size: 1em;
}

/* Price Container Styling */
.membership-subscription-modal .price-container {
    display: flex;
    gap: 8px;
    width: 100%;
    margin-top: 4px;
}

/* Selection Option Styling */
.membership-subscription-modal .select-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 10px;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #f9f9f9;
    transition: background-color 0.3s, border-color 0.3s;
}
.membership-subscription-modal .select-option:hover {
    background-color: #e6e6e6;
    border-color: #999;
}
.membership-subscription-modal .select-option strong {
    font-weight: bold;
    color: #0F3855;
    font-size: 16px;
    margin-bottom: 4px;
}
.membership-subscription-modal .select-option span.price,
.membership-subscription-modal .select-option span.compare-at-price {
    font-weight: normal;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .membership-subscription-modal .select-option {
        flex-direction: column;
        align-items: flex-start;
    }
    .membership-subscription-modal .select-option strong {
        margin-bottom: 5px;
    }
    .membership-subscription-modal .price-container {
        width: 100%;
    }
    .buy-now-subscription-button {
        width: 340px;
    }
}
/* Membership Subscription Product Listing */

/* Cook Mode Switch */
/* Container for the switch, label, and info icon */
.toggle-container {
  display: flex;
  justify-content: center;   /* center everything horizontally */
  align-items: center;       /* center vertically */
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 0;
  text-align: center;
}

/* Style for the switch */
.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}

/* hide the actual checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* track */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

/* thumb */
.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

/* checked state */
input:checked + .slider {
  background-color: #0F3855;
}
input:checked + .slider:before {
  transform: translateX(26px);
}

/* Cook Mode label text */
.toggle-container .label-text {
  font-size: 16px;
  color: #0F3855;
  font-weight: 900;
  user-select: none;
}

/* Info icon as a small circled “i” */
/* Info icon: smaller circle with solid border */
.info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.8em;               /* smaller overall circle */
  height: 0.8em;
  margin-left: 4px;
  border: 1px solid #0F3855;  /* solid brand-blue border */
  border-radius: 50%;
  background: white;
  cursor: help;
  position: relative;
  line-height: 1;
  outline: none;
}

/* Shrink the SVG so only the “i” shows */
.info-icon svg {
  width: 0.5em;
  height: 0.5em;
}
.info-icon svg circle {
  display: none;              /* hide the SVG circle */
}
/* Ensure the “i” inside looks crisp */
.info-icon text {
  font-size: 24px;
  fill: #0F3855;
  font-weight: bold;
}

/* Tooltip styling (same as before) */
.info-icon::after {
  content: attr(aria-label);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.75);
  color: #fff;
  padding: 4px 6px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  font-size: 0.75rem;
  margin-bottom: 6px;
  z-index: 10;
}
.info-icon:hover::after,
.info-icon:focus::after,
.info-icon:active::after {
  opacity: 1;
}
/* End Cook Mode Switch */

/* https://wpdiscuz.com Adjustments */
#wpd-post-rating .wpd-rating-wrap .wpd-rating-value {
    border: 0px dashed #777777;
    display: none;
}

#wpd-post-rating .wpd-rating-wrap .wpd-rating-right {
    display: none;
}

#wpd-post-rating .wpd-rating-wrap .wpd-rating-left {
    display: none;
}

#wpd-post-rating .wpd-rating-wrap .wpd-rating-value {
    height: 40px;
    width: 40px;
}

#wpd-post-rating {
    margin-top: 0px;
    margin-bottom: 0px;
}

#wpdcom .wpd-thread-head .wpd-thread-info {
    border-bottom: 2px solid #0F3855;
}
#wpdcom .wpd-prim-button {
    background-color: #0F3855;
    color: #FFFFFF;
    font-weight: 700;
}
#wpdcom .wpd-second-button, #wpdcom .wpd-prim-button {
    border-radius: 0px;
}
.discussion-header {
    color: #0F3855;
}

#wpdcom.wpdiscuz_no_avatar .wpd-form .wpdiscuz-textarea-wrap.wpd-txt textarea {
    color: #0F3855;
}
#wpdcom .wpd-blog-administrator .wpd-comment-label {
    background-color: #0F3855;
}
#wpdcom .wpd-blog-administrator .wpd-comment-author, #wpdcom .wpd-blog-administrator .wpd-comment-author a {
    color: #0F3855;
}
#wpd-post-rating .wpd-rating-wrap .wpd-rating-title {
    display: none;
}

#wpdcom .wpd-thread-head .wpd-thread-info {
    color: #0f3855;
}

.scroll-to-discussion-btn {
    display: block;
    margin: 0px auto; /* Centers the button under the stars */
    padding: 0px 10px;
    font-size: 18px;
    color: #0F3855 !important;
	background-color: #fff !important;
    border: 1;
    border-radius: 0px;
    text-align: center;
    transition: background-color 0.3s ease;
    text-transform: none; /* Ensures text is not all caps */
    text-decoration: underline;
}

.scroll-to-discussion-btn:hover {
    background-color: #fff !important;
    color: #0F3855 !important;
}
@media (max-width: 768px) {
.comments-area{width:80%;}
}
/* END https://wpdiscuz.com Adjustments */
.wprm-recipe-rating .wprm-recipe-rating-details {
    font-size: 18px;
    color: #0F3855;
    font-family: 'BrandonGrotesque', sans-serif !important;
    font-weight: 400;
    font-style: normal;
    line-height: 1.3;
}


/* WISHLIST LOGIN STYLE FOR TEMPLATE-07 */
/* General layout for the login page */
body.login {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0px !important;
    background: #ffffff !important;
}

/* Center and style the login form container */
body.login div#login {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
}

/* Login form adjustments */
body.login div#login form#loginform {
    width: 100% !important;
    max-width: 400px !important;
    padding: 2px !important;
    background: none !important;
    border: 0 !important;
    margin: 0 !important;
}

/* Input field text */
body.login div#login form#loginform input[type="text"],
body.login div#login form#loginform input[type="password"] {
    width: calc(100% - 10px) !important;
    padding: 10px !important;
    margin-bottom: 5px !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
}

/* Style the login button */
body.login div#login form#loginform p.submit input#wp-submit {
    display: block !important;
    width: 100% !important;
    padding: 13px 36px !important;
    background: #0F3855 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    text-align: center !important;
    margin: 10px 0 !important;
}

body.login div#login form#loginform p.submit input#wp-submit:hover {
    background-color: #093147 !important;
}

/* Hide unnecessary Elementor sections */
body.login .elementor-190 .elementor-element.elementor-element-0a0ccf7,
body.login .elementor-190 .elementor-element.elementor-element-a4f78ef,
body.login .elementor-190 .elementor-element.elementor-element-dcd936d,
body.login .elementor-190 .elementor-element.elementor-element-89c82bc {
    display: none !important;
}

/* Social icon size */
body.login .elementor.elementor-11484 .elementor-icon {
    font-size: 24px !important;
    color: #ffffff !important;
}

.elementor-190 .elementor-element.elementor-element-7538951 .elementor-social-icon i {
    color: #0E3857 !important;
    font-size: 18px !important;
}

/* Footer alignment */
body.login .elementor.elementor-11484 .elementor-element-ba45aa8 {
    text-align: center !important;
}

body.login .elementor.elementor-11484 {
    display: none !important;
}


/* END WISHLIST LOGIN STYLE FOR TEMPLATE-07 */


/* 404 page not found style 404.php */
.not-found-page {
    text-align: center;
    max-width: 600px;
    margin: 10% auto; /* Centers vertically with some spacing */
    padding-bottom: 50px; /* Adds space before the footer */
}

.not-found-page h1 {
    font-size: 2rem;
    margin-bottom: 10px;
}

.not-found-page p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.not-found-page .back-home {
    display: inline-block;
    padding: 10px 20px;
    background-color: #0073aa; /* WordPress blue */
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.3s ease;
}

.not-found-page .back-home:hover {
    background-color: #005177; /* Darker blue */
}
/* 404 style End


/* Install App CSS */
#install-button {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 10px 20px;
    background: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    z-index: 9999; /* Ensures it's on top */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
  }

/* End Install App CSS */


/* ------------------------------------------ */
/* PPP My Meals Manager Styles.               */
/* ------------------------------------------ */

/* Container */
.ppp-my-meals-manager-wrapper {
  display: flex;
  gap: 32px;
  margin: 0;
}

/* Sidebar */
.ppp-my-meals-manager-sidebar {
  width: 333px;
}

/* Tabs */
.ppp-my-meals-manager-tabs {
  border: .5px solid #3B5D7D;
  overflow: hidden;
  margin-bottom: 24px;
  width: 333px;
  margin-left: 0px !important;
}

.ppp-my-meals-manager-tab {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #fff;
  cursor: pointer;
  font-weight: 300;
  font-size: 24px;
  color: #000;
  border-bottom: .5px solid #3B5D7D;
}

.ppp-my-meals-manager-tab:last-child {
  border-bottom: none;
}

.ppp-my-meals-manager-tab--active {
  background: #f0f4f8;
  font-weight: 400;
}

/* “Create Saved List” */
.ppp-my-meals-manager-create-list {
  display: block;
  width: 100%;
  padding: 20px 0;
  margin-bottom: 0px;
  font-weight: 450;
  font-size: 15px;
  background: #0f3855;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  border-radius: 0;
}

.ppp-my-meals-manager-create-list:hover {
  background: #0d3150;
}

/* Saved-lists <select> */
.ppp-my-meals-manager-saved-lists {
  width: 333px;
  padding: 10px 12px;
  font-weight: 300;
  font-size: 24px;
  color: #000;
  border: .5px solid #3B5D7D;
  margin-bottom: 24px;
}

/* Main content wrapper */
.ppp-my-meals-manager-content {
  flex: 1;
}

/* Header: title + sort */
.ppp-my-meals-manager-content__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.ppp-my-meals-manager-content__title {
  color: #0f3855;
  margin: 0;
  font-weight: 450;
  font-size: 24px;
}

/* Sort select */
#ppp-sort-select {
  width: 228px;
}
.ppp-my-meals-manager-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ppp-my-meals-manager-sort label {
  font-weight: 300;
  font-size: 17px;
  color: #0f3855;
}
.ppp-my-meals-manager-sort select {
  border: none;
  border-radius: 4px;
  color: #0f3855;
  font-weight: 450;
  font-size: 17px;
  text-align: center;
}

/* Recipes Grid */
.ppp-my-meals-manager-grid {
  display: grid;
  grid-template-columns: repeat(3, 250px);
  gap: 32px;
}

/* Recipe Card */
.ppp-my-meals-manager-card {
  position: relative;
  width: 250px;
  height: 365px; /* 332px; */
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 48px;
}
.ppp-my-meals-manager-card__img {
  width: 250px;
  height: 187px !important;
  object-fit: cover;
}
.ppp-my-meals-manager-card h4 {
  margin: 12px 8px 8px;
  color: #0f3855;
  font-weight: 450;
  font-size: 17.62px;
  text-align: center;
}

.ppp-my-meals-manager-card__title-link {
  color: #0f3855 !important;
  text-decoration: none;
}
/* ———————————————————————————————————————
   Keywords under recipe cards
   ——————————————————————————————————————— */
.ppp-my-meals-manager-card__keywords .keyword-boxlinks a {
  font-weight: 400 !important;           /* valid weight */
  font-size: 11px !important;             /* round to whole px */
  line-height: 100% !important;
  letter-spacing: 0 !important;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0px; /* 0% won’t show an underline */
  color: #0F3855 !important;
}

/* “Add to Shopping List” */
.ppp-my-meals-manager-card__btn {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 48px;
  background: #0f3855;
  color: #fff !important;
  font-weight: 450;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 16px;
  font-style: normal;
  line-height: 18px;
  letter-spacing: 1.87px;
}
.ppp-my-meals-manager-card__btn:hover {
  background: #0d3150;
}

/* Pagination */
.ppp-my-meals-manager-pagination {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 32px;
}
.ppp-my-meals-manager-pagination button {
  margin: 0 8px;
  padding: 6px 10px;
  border: 1px solid #d1d1d1;
  background: #fff;
  color: #0f3855;
  border-radius: 4px;
  cursor: pointer;
}
.ppp-my-meals-manager-pagination button:hover {
  background: #f0f4f8;
}

/* Favorite toggle (card) */
.ppp-my-meals-manager-card__fav-toggle {
  position: absolute;
  top: 8px; right: 8px;
  width: 24px; height: 24px;
}
.ppp-my-meals-manager-card__fav-toggle .ppp-fav-icon {
  width: 100%; height: 100%;
  object-fit: contain;
}

/* Recipe-page heart toggle */
.ppp-recipe-img-with-fav,
.wprm-recipe-media {
  position: relative;
}
.ppp-fav-icon-wrap {
  position: absolute;
  top: 8px; right: 8px;
  width: 24px; height: 24px;
  z-index: 10;
}
.ppp-fav-icon-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
  cursor: pointer;
}

/* --------------------------------------------
   Saved Lists Accordion (correct, single block)
   -------------------------------------------- */

/* Container for the toggle */
.ppp-my-meals-manager-saved-lists-accordion {
  margin-bottom: 24px;
}

/* “My Saved Lists (N)” button — same as tabs */
.ppp-my-meals-manager-saved-lists-accordion .ppp-saved-lists-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 333px;
  background: #fff;
  border: .5px solid #3B5D7D;
  border-bottom: none;
  padding: 12px 16px;
  font-size: 24px;
  font-weight: 300;
  color: #000;
  cursor: pointer;
  border-radius: 0;
  text-transform: capitalize
}

.ppp-my-meals-manager-sidebar .ppp-saved-lists-items li.active {
  background: #D9D9D98C !important;
  font-weight: 400 !important;
}

.ppp-my-meals-manager-saved-lists-accordion .ppp-saved-lists-toggle:hover {
  background: #f0f4f8;
}
.ppp-my-meals-manager-saved-lists-accordion.expanded .ppp-saved-lists-toggle {
  background: #f0f4f8;
  font-weight: 400;
}

/* Arrow on the right */
.ppp-my-meals-manager-saved-lists-accordion .ppp-saved-lists-arrow {
  display: inline-block;
  width: 0; height: 0;
  margin-right: 8px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #0F3855;
  transition: transform .2s ease;
}
.ppp-my-meals-manager-saved-lists-accordion.expanded .ppp-saved-lists-arrow {
  transform: rotate(90deg);
}

/* The dropdown */
/* Saved-lists dropdown: start collapsed */
.ppp-my-meals-manager-saved-lists-accordion .ppp-saved-lists-items {
  list-style: none;
  margin: 0;
  padding: 0;
  border: .5px solid #3B5D7D;
  border-top: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}

/* When expanded: allow scrolling through ~4 items */
.ppp-my-meals-manager-saved-lists-accordion.expanded .ppp-saved-lists-items {
  max-height: 225px;    /* height for ~4 rows */
  overflow-y: auto;
}

/* Each list row */
.ppp-my-meals-manager-saved-lists-accordion
  .ppp-saved-lists-items li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #fff;
  border-bottom: .5px solid #3B5D7D;
  cursor: pointer;
}
.ppp-my-meals-manager-saved-lists-accordion
  .ppp-saved-lists-items li:hover {
  background: #f5f8fa;
}

/* Name + count bubble */
.ppp-my-meals-manager-saved-lists-accordion
  .ppp-saved-list-name {
  font-size: 24px;
  font-weight: 300;
  color: #000;
  display: flex;
  align-items: center;
}
.ppp-my-meals-manager-saved-lists-accordion
  .ppp-saved-list-count {
  margin-left: .5em;
  font-size: .875rem;
  color: #6c757d;
}

/* Edit-icon on the right */
.ppp-my-meals-manager-saved-lists-accordion
  .ppp-saved-list-edit {
  width: 16px;
  height: 16px;
  object-fit: contain;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

/* --------------------------------------------
   PPP My Meals Manager — Saved-List Editor Modal
   -------------------------------------------- */

/* hide/show */
#ppp-saved-list-modal.ppp-modal.hidden {
  display: none;
}
#ppp-saved-list-modal.ppp-modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 99999;
  font-family: inherit;
}

/* backdrop */
#ppp-saved-list-modal .ppp-modal-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
}

/* frame */
#ppp-saved-list-modal .ppp-modal-content {
  position: relative;
  width: 90%; max-width: 500px;
  margin: 5% auto;
  background: #fff;
  border-radius: 0 !important;
  overflow: hidden;
}

/* header */
#ppp-saved-list-modal .ppp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
}

/* title */
#ppp-saved-list-modal .ppp-modal-title {
  flex: 1;
  margin: 0;
  font-size: 24px;
  font-weight: 450;
  color: #0f3855;
}

/* delete-list button (add an element with this id in your header) */
#ppp-saved-list-modal #ppp-modal-delete-list {
  background: none;
  border: none;
  padding: 0;
  margin-right: 4px;
    width: 14.04px;
    height: 21.04px;
  cursor: pointer;
  object-fit: contain;
}

/* close “×” */
#ppp-saved-list-modal .ppp-modal-close {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
    width: 23.04px;
    height: 23.04px;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
#ppp-saved-list-modal .ppp-modal-close:hover {
  color: #0d3150 !important;
  background: none !important;
}
/* body */
#ppp-saved-list-modal .ppp-modal-body {
  padding: 16px;
}

/* search box */
#ppp-saved-list-modal #ppp-list-search {
  width: 100%;
  padding: 8px 12px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

/* recipe list */
#ppp-saved-list-modal .ppp-modal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 200px;
  overflow-y: auto;
}
#ppp-saved-list-modal .ppp-modal-list li {
  display: flex;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}
#ppp-saved-list-modal .ppp-modal-list li input[type="checkbox"] {
  width: 16px; height: 16px;
  cursor: pointer;
}
#ppp-saved-list-modal .ppp-modal-list li label {
  margin-left: 8px;
  flex: 1;
  font-size: 1rem;
  color: #0f3855;
}

/* “More results…” link (if you add one) */
#ppp-saved-list-modal #ppp-modal-more-results {
  display: block;
  text-align: center;
  margin: 12px 0;
  color: #0f3855;
  text-decoration: none;
  font-size: 1rem;
}

/* Add Recipes button */
#ppp-saved-list-modal #ppp-modal-add-recipes {
  display: block;
  width: 100%;
  padding: 16px 0;
  margin-top: 12px;
  background: #0f3855;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-align: center;
}
#ppp-saved-list-modal #ppp-modal-add-recipes:hover {
  background: #0d3150;
}

/* end PPP My Meals Manager — Saved-List Editor Modal  CURRENTLY NOT USED*/

/* ───────────────────────────────────────────────────────────────
   PPP My Meals Manager — Save-to-List Modal (The PLUS Sign)
   ─────────────────────────────────────────────────────────────── */
/* hide when “.hidden” */
#ppp-save-to-list-modal.ppp-modal.hidden {
  display: none;
}

/* full-screen container */
#ppp-save-to-list-modal.ppp-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  font-family: inherit;
}

/* backdrop */
#ppp-save-to-list-modal .ppp-modal-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
}

/* centered content box */
#ppp-save-to-list-modal .ppp-modal-content {
  position: relative;
  width: 90%;
  max-width: 500px;
  margin: 5% auto;
  background: #fff;
  overflow: hidden;
}

/* header */
#ppp-save-to-list-modal .ppp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
}

/* title */
#ppp-save-to-list-modal .ppp-modal-title {
  flex: 1;
  margin: 0;
  font-size: 24px;
  font-weight: 450;
  color: #0f3855;
}

/* close button */
#ppp-save-to-list-modal .ppp-modal-close {
  background: none;
  border: none;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
#ppp-save-to-list-modal .ppp-modal-close:hover {
  color: #0d3150 !important;
}

/* list */
#ppp-save-to-list-modal .ppp-modal-list {
  list-style: none !important;
  margin: 5% 5% 5% 5%;
  padding: 0;
  max-height: 300px;
  overflow-y: auto;
}
/* Remove bullets from PPP modal lists */
#ppp-save-to-list-modal .ppp-modal-list,
#ppp-saved-list-modal .ppp-modal-list {
  list-style: none !important;
}

#ppp-save-to-list-modal .ppp-modal-list li,
#ppp-saved-list-modal .ppp-modal-list li {
  list-style: none !important;
}

#ppp-save-to-list-modal .ppp-modal-list li + li {
  margin-top: 8px;
}
#ppp-save-to-list-modal .ppp-modal-list li button {
  width: 100%;
  text-align: left;
  padding: 8px;
  background: #f0f4f8;
  border: none;
  cursor: pointer;
  font-size: 16px;
}
#ppp-save-to-list-modal .ppp-modal-list li button:hover {
  background: #e0e8f0;
}
/* End PPP My Meals Manager — Save-to-List Modal  */

/* ─────────────────────────────────────────────
   “Create New List” Modal (copy of Save-to-List)
   ───────────────────────────────────────────── */

/* hide when “.hidden” */
#ppp-create-list-modal.ppp-modal.hidden {
  display: none;
}

/* full-screen container */
#ppp-create-list-modal.ppp-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  font-family: inherit;
}

/* backdrop */
#ppp-create-list-modal .ppp-modal-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
}

/* centered content box */
#ppp-create-list-modal .ppp-modal-content {
  position: relative;
  width: 90%;
  max-width: 500px;
  margin: 5% auto;
  background: #fff;
  overflow: hidden;
}

/* header */
#ppp-create-list-modal .ppp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
}

/* title */
#ppp-create-list-modal .ppp-modal-title {
  flex: 1;
  margin: 0;
  font-size: 24px;
  font-weight: 450;
  color: #0f3855;
}

/* close button */
#ppp-create-list-modal .ppp-modal-close {
  background: none;
  border: none;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
#ppp-create-list-modal .ppp-modal-close:hover {
  color: #0d3150 !important;
}

/* body */
#ppp-create-list-modal .ppp-modal-body {
  padding: 16px;
}

/* text input */
#ppp-create-list-modal #ppp-new-list-name {
  width: 100%;
  padding: 8px 12px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

/* confirm button */
#ppp-create-list-modal #ppp-create-list-confirm {
  /*
  display: block;
  width: 100%;
  padding: 16px 0;
  background: #0f3855;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  text-align: center;
  */
  display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
  margin: 1rem auto;
}
#ppp-create-list-modal #ppp-create-list-confirm:hover {
  background: #0d3150;
}
/* 
   PPP My Meals Manager — Create-List “Done” Button
*/
#ppp-create-list-modal #ppp-create-list-done {
  /*
  display: block;
  width: 100%;
  padding: 16px 0;
  margin-top: 1rem;
  background: #0f3855;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  text-align: center;
  */
      display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
  margin: 1rem auto;
}
#ppp-create-list-modal #ppp-create-list-done:hover {
  background: #0d3150;
}
/* End PPP My Meals Manager — Create New List Modal */

/* ───────────────────────────────────────────
   PPP My Meals Manager — Create-List Modal
   ─────────────────────────────────────────── */
/* hide when “.hidden” */
#ppp-create-list-modal.ppp-modal.hidden {
  display: none;
}
/* full-screen container */
#ppp-create-list-modal.ppp-modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 99999;
  font-family: inherit;
}
/* backdrop */
#ppp-create-list-modal .ppp-modal-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
}
/* centered box */
#ppp-create-list-modal .ppp-modal-content {
  position: relative;
  width: 90%; max-width: 400px;
  margin: 5% auto;
  background: #fff;
  overflow: hidden;
}
#ppp-create-list-modal .ppp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
}
#ppp-create-list-modal .ppp-modal-title {
  margin: 0;
  font-size: 24px;
  font-weight: 450;
  color: #0f3855;
}
#ppp-create-list-modal .ppp-modal-close {
  background: none;
  border: none;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
#ppp-create-list-modal .ppp-modal-body {
  padding: 16px;
}
#ppp-new-list-name {
  width: 100%;
  padding: 8px 12px;
  margin-bottom: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}
.ppp-modal-error {
  color: #d00;
  margin-bottom: 8px;
  min-height: 1em;
}
#ppp-create-list-confirm {
  display: block;
  width: 100%;
  padding: 16px 0;
  background: #0f3855;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  text-align: center;
}
#ppp-create-list-confirm:hover {
  background: #0d3150;
}
/* end PPP My Meals Manager — Create-List Modal */

/* page-header title button */
.ppp-my-meals-manager-content__title .ppp-page-edit-list {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: #0f3855;
  font-weight: 450;
  font-size: 24px;
  cursor: pointer;
  text-align: left;
}

/* trash icon in header */
/* page-header title button */
.ppp-my-meals-manager-content__title .ppp-page-edit-list {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: #0f3855;
  font-weight: 450;
  font-size: 24px;
  cursor: pointer;
  text-align: left;
}

/* trash icon in header CURRENTLY REMOVED */
.ppp-my-meals-manager-content__title .ppp-page-delete-list {
  width: 23px;
  height: 23px;
  object-fit: contain;
  margin-left: 8px;
  vertical-align: middle;
  cursor: pointer;
}
.ppp-my-meals-manager-content__title .ppp-page-delete-list:hover {
  opacity: 0.8;
}

/* prepend a little pencil */
.ppp-page-list-title {
  cursor: text;
  display: inline-block;
  vertical-align: middle;
}
/*
.ppp-page-list-title::before {
  content: "✏️";            
  display: inline-block;
  margin-right: 6px;
  vertical-align: top;
  font-size: 12px;           
  color: #0F3855;
}*/

.ppp-page-list-title::before {
  display: inline-block;
  content: "";
  width: 24px;
  height: 24px;
  margin-right: 6px;
  margin-bottom: 6px;
  vertical-align: middle;
  background-image: url("/wp-content/uploads/2025/07/Pencil-Edit-Icon.png");
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- carve out the same 56px icon-slot on the right for all three --- */
.ppp-my-meals-manager-tab[data-view="favorites"],
.ppp-my-meals-manager-tab[data-view="shopped"],
.ppp-my-meals-manager-create-list {
  position: relative;
  padding-right: 56px;  /* 16px gutter + 24px icon + 16px gutter */
}

/* --- Favorites heart --- */
.ppp-my-meals-manager-tab[data-view="favorites"]::after {
  content: "";
  position: absolute;
  top: 50%;  right: 16px;
  width: 24px;  height: 24px;
  transform: translateY(-50%);
  background: url("/wp-content/uploads/2025/07/Heart-Icon-Blue-Unselected.png")
              no-repeat center/contain;
}

/* --- Shopped “>” arrow — mirror the exact heart slot --- */
.ppp-my-meals-manager-tab[data-view="shopped"]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 23px;
  transform: translateY(-50%);
  display: inline-block;
  width: 0;
  height: 0;
  border-top:    5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left:   5px solid #0F3855;
}


/* --- Create-list “+” --- */
.ppp-my-meals-manager-create-list::after {
  content: "+";
  position: absolute;
  top: 50%;  right: 20px;
  transform: translateY(-50%);
  font-size: 24px;
  line-height: 1;
  color: #fff;
}
/* ───────────────────────────────────────────────────────────────
   PPP My Meals Manager — Remove-Confirm Modal
   ──────────────────────────────────────────────────────────────── */
/* ─────── Remove-Confirm Modal ─────── */
#ppp-remove-confirm-modal.ppp-modal.hidden {
  display: none;
}
#ppp-remove-confirm-modal.ppp-modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 99999;
  font-family: inherit;
}
#ppp-remove-confirm-modal .ppp-modal-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
}
#ppp-remove-confirm-modal .ppp-modal-content {
  position: relative;
  width: 90%; max-width: 500px;
  margin: 5% auto;
  background: #fff;
  overflow: hidden;
}
#ppp-remove-confirm-modal .ppp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
}
#ppp-remove-confirm-modal .ppp-modal-title {
  flex: 1;
  margin: 0;
  font-size: 24px;
  font-weight: 450;
  color: #0f3855;
}
#ppp-remove-confirm-modal .ppp-modal-close {
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
}
#ppp-remove-confirm-modal .ppp-modal-body {
  padding: 16px;
}
#ppp-remove-confirm-modal .ppp-modal-footer {
  display: flex;
  gap: 8px;
  padding: 16px;
}
#ppp-remove-confirm-modal .ppp-btn {
  flex: 1;
    display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
}
#ppp-remove-confirm, #ppp-remove-cancel { 
  display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
 }
#ppp-remove-confirm { 
  background: #0F3856; 
  color: #fff; 
  display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
}
#ppp-remove-cancel { background: #0F3856; color: #fff; }
#ppp-remove-confirm:hover { background: #c9302c; }
#ppp-remove-cancel:hover { background: #5a6268; }

/* ─── Delete-List Confirm Modal ─── */
#ppp-delete-list-confirm-modal.ppp-modal.hidden { display: none; }
#ppp-delete-list-confirm-modal.ppp-modal {
  position: fixed; top:0; left:0;
  width:100%; height:100%; z-index:99999;
}
#ppp-delete-list-confirm-modal .ppp-modal-backdrop {
  position:absolute; top:0; left:0; width:100%; height:100%;
  background:rgba(0,0,0,0.5);
}
#ppp-delete-list-confirm-modal .ppp-modal-content {
  position:relative;
  width:90%; max-width:500px;
  margin:5% auto; background:#fff;
}
#ppp-delete-list-confirm-modal .ppp-modal-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid #ddd;
}
#ppp-delete-list-confirm-modal .ppp-modal-title {
  margin:0; font-size:24px; font-weight:450; color:#0f3855;
}
#ppp-delete-list-confirm-modal .ppp-modal-close {
  background:none; border:none; font-size:1.25rem; cursor:pointer;
}
#ppp-delete-list-confirm-modal .ppp-modal-body {
  padding:16px;
}
#ppp-delete-list-confirm-modal .ppp-modal-footer {
  display:flex; gap:8px; padding:16px;
}
#ppp-remove-confirm-modal .ppp-btn {
    flex: 1;
    border: 0px solid;
    border-radius: 0px;
}

#ppp-delete-list-confirm {
  display: block;
  color: #fff; 
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px; width: 100%;
}
#ppp-delete-list-cancel {
  display: block;
  color: #fff; 
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px; width: 100%;
}
#ppp-delete-list-confirm:hover { background:#c9302c; }
#ppp-delete-list-cancel:hover { background:#5a6268; }


  /* Hide the trash/delete icon on each card for Desktop 
  .ppp-my-meals-manager-card__delete {
     display: none !important; 
  }*/
/* ───────────────────────────────────────────────────────────────
   Desktop: trash-can in top-left of each card’s image
   ─────────────────────────────────────────────────────────────── */

.ppp-my-meals-manager-card__delete {
  position: absolute;
  top: 4px;
  left: 8px;
  width: 35px;

  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  z-index: 10;
}

.ppp-my-meals-manager-card__delete img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Desktop: place plus just left of the heart */
.ppp-my-meals-manager-card__add {
  position: absolute;
  top: 8px;
  right: 36px;  
  left: auto;
  width: 24px;
  height: 24px;
  cursor: pointer;
  z-index: 10;
}
.ppp-my-meals-manager-card__add .ppp-add-icon {
  width: 100%;
  height: 100%;
  display: block;
}
/* ─────────────────────────────────────────────────────────────────────────
   PPP My Meals Manager — MOBILE LAYOUT
   ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    /* Sidebar + content full-width, stacked */
    .ppp-my-meals-manager-wrapper {
        flex-direction: column !important;
        gap: 16px !important;
    }
    .ppp-my-meals-manager-sidebar,
    .ppp-my-meals-manager-content {
        width: 100% !important;
    }

    /* Make tabs, buttons, search & sort full-width */
    .ppp-my-meals-manager-tabs,
    .ppp-my-meals-manager-create-list,
    .ppp-my-meals-manager-saved-lists,
    .ppp-my-meals-manager-saved-lists-accordion .ppp-saved-lists-toggle,
    #ppp-list-search,
    #ppp-sort-select {
        width: 100% !important;
    }

    /* Push “Sort by:” under the heading */
    .ppp-my-meals-manager-content__header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    /* One-column list of cards */
    .ppp-my-meals-manager-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        margin-top: 0px !important;
    }

    /* Each card = 341×122, 2-col CSS grid */
    .ppp-my-meals-manager-card {
        display: grid !important;
        grid-template-columns: 163px auto !important;
        grid-template-rows: 24px 23px 24px auto !important; /* heart, title, keywords, button */
        grid-row-gap: 4px !important;    
        grid-column-gap: 8px !important;
        /* width: 341px !important; */
        width: 100% !important;
        height: 122px !important;
        margin: 0 auto 10px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        position: relative !important;
        align-content: start !important;
    }

    /* Thumbnail = left column, spans 3 rows */
    .ppp-my-meals-manager-card__img {
        grid-column: 1;
        grid-row: 1 / span 4;
        width: 163px !important;
        height: 122px !important;
        object-fit: cover !important;
        border-radius: 0px !important;
    }

    /* Heart icon over image’s top-right */
    .ppp-my-meals-manager-card__fav-toggle {
        position: relative !important;
        grid-column: 1;
        grid-row: 1;
        right: 0;
        top: 0;
        justify-self: end !important;
        margin: 0px 2px 0 0 !important;
        width: 24px !important;
        height: 24px !important;
    }
    
    .ppp-my-meals-manager-card h4 a {
        /* font-size: 13.39px !important; */
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #0F3855 !important;
    }
    /* Title in top row of right column */
    .ppp-my-meals-manager-card h4 {
        grid-column: 2;
        grid-row: 2;
        margin: 0px 2.6px 0px 0px !important; 
        line-height: 1 !important;
        text-align: left !important;
        padding-bottom: 0px;
        min-height: 100%;
    }

    /* Keywords in middle row, just under title */
    .ppp-my-meals-manager-card__keywords {
        grid-column: 2;
        grid-row: 3;
        margin: 0 0 4px !important;
        text-align: left !important;
    }
    .ppp-my-meals-manager-card__keywords .keyword-boxlinks a {
        /*font-size: 8.7px !important; */
        font-size: 10px !important;
        color: #0F3855 !important;
        }

    /* Button in bottom row, fixed 154×36 */
    .ppp-my-meals-manager-card__btn {
        grid-column: 2;
        grid-row: 4;
        align-self: end !important;
        justify-self: start !important;
        width: 154px !important;
        height: 36px !important;
        padding: 0 !important; 
        font-size: 9px !important;
        font-weight: 420 !important;
        line-height: 36px !important;
        text-align: center !important;
    }
    /* Trash-can delete icon */
    .ppp-my-meals-manager-card__delete {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        margin: 0 5px 10px 0px !important;
        width: 24px !important;
        height: 24px !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
        top: 0;
        left: 0;  
    }
    /* Hide the trash/delete icon on each card 
    .ppp-my-meals-manager-card__delete {
        display: none !important; 
    }*/
    .ppp-my-meals-manager-card__rating-placeholder {
        justify-content: left !important;
        grid-column: 2 !important;
        grid-row: 3;
        position: relative !important;
    }
    .ppp-my-meals-manager-wrapper .ppp-star {
        width: 14px !important;
        height: 14px !important;
    }

    .keyword-boxlinks, .keyword-boxlinks a {
        text-decoration: none !important;
        text-decoration-thickness: 0px !important;
    }
    .ppp-my-meals-manager-card__add  {
        position: relative !important;
        grid-column: 1;
        grid-row: 1;
        right: 24px;
        top: 0;
        justify-self: end !important;
        margin: 0px 2px 0 0 !important;
        width: 24px !important;
        height: 24px !important;
    }
    /* Make the LINK the grid item that spans the left column */
    .ppp-my-meals-manager-card__img-link {
      grid-column: 1;
      grid-row: 1 / span 4;
      display: block;
      width: 163px !important;
      height: 122px !important;
    }

    /* Make the IMG fill the link */
    .ppp-my-meals-manager-card__img-link > .ppp-my-meals-manager-card__img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important; /* avoid baseline gaps */
    }

    /* old grid placement on the IMG itself, neutralize */
    .ppp-my-meals-manager-card > .ppp-my-meals-manager-card__img {
      grid-column: auto;
      grid-row: auto;
    }

    /* Keep overlay controls above the image/link for taps */
    .ppp-my-meals-manager-card__fav-toggle,
    .ppp-my-meals-manager-card__add,
    .ppp-my-meals-manager-card__delete {
      z-index: 2 !important;
    }
}
/* center the “Add All” button and give it the PPP look */
.ppp-add-all-wrapper {
  text-align: center;
  margin-top: 24px;
}

#ppp-my-meals-add-all-shopping-list {
  /*
  background: #0f3855;
  color: #fff !important;
  padding: 12px 24px;
  border: none;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  font-size: 1rem;
  border-radius: 0;
  */
  display: block;
  width: 300px;
  padding: 15px 17px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
  margin: 1rem auto;
}

#ppp-my-meals-add-all-shopping-list:hover {
  background: #0d3150 !important;
}
/* End PPP My Meals Manager Styles */


/* ==== PPP CUSTOM-3 TEMPLATE STYLES v3.0 ==== */


/* hide the default “5 stars” text */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-rating .wprm-recipe-rating-details {
  display: none;
}

/* full-width flex container, centering stars + count */
.wprm-recipe-template-ppp-custom-3 .wprm-rating-container {
  display: flex;               /* use full flex row */
  justify-content: center;     /* center horizontally */
  align-items: center;         /* center vertically */
  width: 100%;                 /* take full width of parent */
  margin: 24px 0;              /* vertical spacing */
  gap: 8px;                    /* space between stars & count */
}

/* remove any extra margins on the star block */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-rating {
  margin: 0;
  line-height: 1.5;
}

.wprm-recipe-template-ppp-custom-3 .wprm-user-rating.wprm-user-rating-allowed .wprm-rating-star {
  padding-right: 7px;
}

/* style & center the “(20 ratings)” text */
.wprm-recipe-template-ppp-custom-3 .rating-count {
  align-self: end;
  line-height: 1.5;
  color: #0F3855;
  text-align: center;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 14.754px;
  font-weight: 390;
  cursor: pointer;
  /* text-decoration: underline; */
}

/* ─── CUSTOM‑3 keyword strip (links + commas) ───────────────────── */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords,
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords a,
.wprm-recipe-template-ppp-custom-3 .keyword-boxlinks-divider {
  color: #FFF !important;
  text-align: center;
  font-family: "Brandon Grotesque", sans-serif;
  font-size: 24px !important;
  font-style: normal;
  font-weight: 390;
  line-height: 18px;                /* 75% of 24 */
  text-decoration-line: none !important;
  text-decoration-style: solid !important;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto !important;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* remove hyperlink underline hover colour‑shift */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords a:hover {
  color: #FFF;
}

/* ─── CUSTOM‑3 top‑area Add‑to‑List button ─────────────────────── */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-add-to-shopping {
  display: block;
  width: 300px;
  /* height: 44px; */
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;

  background: #FFF;
  color: #0F3856;
  text-align: center;

  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px; /* 105.882% */
  letter-spacing: 1.87px;
  text-transform: uppercase;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-add-to-shopping-blue {
  display: block;
  width: 300px;
  /* height: 44px; */
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;

  background: #0F3856;
  color: #FFF !important;
  text-align: center;

  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px; /* 105.882% */
  letter-spacing: 1.87px;
  text-transform: uppercase;
}

/* retain pointer cursor for the anchor version (link inside <span>) */
.wprm-recipe-template-ppp-custom-3 a.ppp-custom-3-add-to-shopping {
  text-decoration: none;
}

/* ── Center the header “ADD TO SHOPPING LIST” button ───────────── */
.wprm-recipe-template-ppp-custom-3
.ppp-custom-3-hero-content
.hide-printpage-add-to-shopping-list-button {
  text-align: center; /* fallback for inline contents */
}

.wprm-recipe-template-ppp-custom-3
.ppp-custom-3-hero-content
.add-to-shoppinglist-recipe-btn {
  margin-left: auto;
  margin-right: auto; /* horizontally center */
}

.wprm-recipe-template-ppp-custom-3
.ppp-my-meals-manager-card__fav-toggle {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
}

.wprm-recipe-template-ppp-custom-3 {
  margin: 0 auto;
  max-width: 1180px;
  box-sizing: border-box;
  /*font-family: %wprm_main_font_family%;
  color: %wprm_main_text%;*/
}

/* Hero header */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-header {
  position: relative;
  width: 100%;
}

/* Hero image */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-image {
  position: relative;
  width: 100%;
  height: 350px;
  overflow: hidden;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Action icons */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-actions {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  gap: 12px;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-fav-wrap {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-fav-checkbox {
  display: none;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-heart-icon {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: #0F3855;
  stroke-width: 2;
  transition: fill .2s, stroke .2s;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-fav-checkbox:checked + .ppp-custom-3-heart-icon .ppp-custom-3-heart-full {
  fill: #e1b87f;
  stroke: #e1b87f;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-fav-checkbox:checked + .ppp-custom-3-heart-icon .ppp-custom-3-heart-empty {
  display: none;
}

/* Hero content */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-content {
  background-color: #0e3857;
  color: #fff;
  padding: 24px 40px;
  box-sizing: border-box;
}

/* Recipe title override */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-content h1 {
  color: #FFF;
  text-align: center;
  font-size: 45px;
  font-style: normal;
  font-weight: 420 !important;
  line-height: normal;
  letter-spacing: 1px;
  margin: 0;
  padding-bottom: 8px;
  text-transform: lowercase;
}

.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords {
  margin-bottom: 16px;
  font-size: 14px;
  text-decoration: underline;
  align-content: center;
}

/* Rating row */
.wprm-recipe-template-ppp-custom-3 .wprm-rating-container {
  margin: 24px 0;
  text-align: center;
}

/* Body */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-body-container {
  padding: 0 40px 40px;
}

/* =========================================================
   META ROW (Prep/Cook/Servings/Calories/Net Carbs)
   - Fix label colors (all gray)
   - Align label bottoms and value tops
   - Prevent mobile scrollbar by letting cards shrink
   ========================================================= */

/* Meta container (desktop defaults) */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Meta cards */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-block-container {
  width: 152px;
  height: 96px;
  border: 1px solid #F2F2F3;
  background: #FFF;
  box-shadow: 0px 2px 48px 0px rgba(0, 0, 0, 0.04);
  text-align: center;
  padding: 10px;
  box-sizing: border-box;

  /* keep fixed card sizing on desktop */
  flex: 0 0 152px;

  /* two-row layout: label row + value row */
  display: grid;
  grid-template-rows: 22px 1fr;
  row-gap: 6px;
  justify-items: center;
  align-items: stretch;
}

/* Labels (ALL labels incl. Net Carbs) */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details-label {
  color: #717A78;
  text-align: center;
  font-family: "Brandon Grotesque";
  font-size: 15px;
  font-style: normal;
  font-weight: 390;
  line-height: normal;
  letter-spacing: 1px;

  /* allow wrap on small widths (Prep Time / Net Carbs) */
  white-space: normal;
}

/* Bottom-align label text inside the label row */
.wprm-recipe-template-ppp-custom-3
.wprm-recipe-meta-container
.wprm-recipe-block-container
> .wprm-recipe-details-label {
  align-self: end;
  margin: 0;
}

/* Top-align the value block inside the value row */
.wprm-recipe-template-ppp-custom-3
.wprm-recipe-meta-container
.wprm-recipe-block-container
> :not(.wprm-recipe-details-label) {
  align-self: start;
  margin: 0;
}

/* Values (numbers + units + nutrition values + servings link) */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details-unit,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-nutrition,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-servings-link {
  color: #202322;
  text-align: center;
  font-family: "Brandon Grotesque";
  font-size: 20px;
  font-style: normal;
  font-weight: 420;
  line-height: normal;
  letter-spacing: 1px;
  text-decoration: none;
}

/* Make prep/cook show as stacked value (25 / mins) consistently */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-time {
  text-align: center;
}
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-time .wprm-recipe-details,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-time .wprm-recipe-details-unit {
  display: block;
}

/* Summary */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-summary {
  color: #000;
  text-align: center;
  font-family: "Inria Sans";
  font-size: 23px;
  font-style: normal;
  font-weight: 300;
  line-height: 32px; /* 139.13% */
}

.wprm-recipe-template-ppp-custom-3 .wprm-block-text-uppercase {
  color: var(--Color, #0F3855);
  font-size: 29px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 20px;
}

.wprm-recipe-template-ppp-custom-3 .wprm-decoration-line {
  display: none;
}

.wprm-recipe-template-ppp-custom-3 .wprm-block-text-uppercase {
  text-transform: lowercase !important;
}

/* Sections */

/* Recipe Ingredients & Instructions */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-ingredients,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-instructions {
  margin: 32px 0 16px;
  color: #000;
  font-family: "Brandon Grotesque";
  font-size: 20px;
  font-style: normal;
  font-weight: 390;
  line-height: normal;
  letter-spacing: 0.707px;
}

.wprm-recipe-template-ppp-custom-3 .wprm-recipe-ingredients h3,
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-instructions h3 {
  font-size: 20px;
  margin-bottom: 12px;
  text-transform: uppercase;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 4px;
}

/* Print */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-print {
  display: block;
  width: 300px;
  height: 44px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;

  background: #0F3856;
  color: #FFF;
  text-align: center;

  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 1.7; /* 105.882% */
  letter-spacing: 1.87px;
  text-transform: uppercase;
}

/* Keep the grid’s .__add class from hijacking the inline Save-It CTA */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-save-it.ppp-my-meals-manager-card__add {
  /* reset the card-grid positioning */
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;

  /* allow it to size itself inline */
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;

  /* keep the pointer cursor */
  cursor: pointer;
}

/* Footer rating */
.wprm-recipe-template-ppp-custom-3 .wprm-recipe-body-container .wprm-rating-container:last-child {
  display: none;
  margin-top: 40px;
}

/* ── EXTRA ACTIONS CTA ROW (Save It / Rate It / Review It) ───── */
.wprm-recipe-template-ppp-custom-3 .ppp-custom-3-cta-row {
  display: flex;
  justify-content: center;
  align-items: flex-end;   /* align labels at bottom of icons */
  gap: 0;                  /* we handle spacing via divider margins */
  margin: 24px 0 32px;     /* add some breathing room */
}

/* each icon + label block */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* icon sizing */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-save-it img,
.wprm-recipe-template-ppp-custom-3 .ppp-cta-review-it img {
  width: 57.143px;
  height: 57.143px;
}
.wprm-recipe-template-ppp-custom-3 .ppp-cta-rate-it img {
  width: 125px;
}

/* label styling */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-item span {
  margin-top: 8px;
  color: #0F3855;
  font-size: 24.242px;
  font-style: normal;
  font-weight: 450;
  line-height: 31.169px;
}

/* vertical divider between items */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-divider {
  width: 1px;
  height: 103px;
  background-color: #e0e0e0;
  margin: 0 32px;           /* increase gutter between icons */
}

/* ensure Review It cursor hints interactivity */
.wprm-recipe-template-ppp-custom-3 .ppp-cta-review-it {
  cursor: pointer;
}

/* ───── Favourite‑heart icon size ───── */
.wprm-recipe-template-ppp-custom-3 .ppp-fav-icon {
  width: 56px;
  height: 56px;
}

.wprm-recipe-template-ppp-custom-3 .ppp-my-meals-manager-card__fav-toggle {
  width: 56px;
  height: 56px;
}

.wprm-recipe-template-ppp-custom-3 .wprm-recipe-instructions-container .wprm-recipe-instruction-text {
  color: #000;
  font-family: "Brandon Grotesque";
  font-size: 20px;
  font-style: normal;
  font-weight: 390;
  line-height: normal;
}

.wprm-recipe-template-ppp-custom-3 .wprm-recipe-ingredient-group {
  color: #000;
  font-size: 20px;
  font-style: normal;
  font-weight: 390;
  line-height: normal;
  letter-spacing: 0.707px;
}

.wprm-recipe-template-ppp-custom-3 .wprm-recipe-instruction-group {
  color: #000;
  font-size: 20px;
  font-style: normal;
  font-weight: 390;
  line-height: normal;
  letter-spacing: 0.707px;
}

#comments {
  margin: 0px auto !important;
}

.page-id-4843 .content article.entry {
  margin-bottom: 0px;
}

/* Responsive */
@media (max-width: 768px) {
  .wprm-recipe-template-ppp-custom-3 {
    padding: 0 0px;
  }

  /* ————————————————————————————————
    Hero image & content
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-image {
    position: relative;  /* positioning context for the heart */
    height: 200px;
  }
  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-image img {
    object-position: bottom;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-content {
    padding: 16px;
    text-align: center;
  }
  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-content h1 {
    font-size: 24px;
  }

  /* ————————————————————————————————
    Heart toggle: force into top-right of the image
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .ppp-my-meals-manager-card__fav-toggle {
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    z-index: 2 !important;
    margin: 0 !important;
    transform: none !important;
    width: 56px !important;
    padding: 0 !important;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords,
  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-keywords a,
  .wprm-recipe-template-ppp-custom-3 .keyword-boxlinks-divider {
    font-size: 12px !important;
  }

  /* ————————————————————————————————
    Add-to-Shopping button
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-add-to-shopping,
  .wprm-recipe-template-ppp-custom-3 a.ppp-custom-3-add-to-shopping {
    text-align: center;
    font-family: "Brandon Grotesque";
    font-size: 12px;
    font-style: normal;
    font-weight: 450;
    line-height: 18px; /* 150% */
    letter-spacing: 1.32px;
    text-transform: uppercase;
    max-width: 200px;
    box-sizing: border-box;
    padding: 10px;
  }

  .hide-printpage-add-to-shopping-list-button,
  a#add-to-list {
    color: var(--Color, #0F3855);
    text-align: center;
    font-family: "Brandon Grotesque";
    font-size: 12px !important;
    font-style: normal;
    font-weight: 450 !important;
    line-height: 18px; /* 150% */
    letter-spacing: 1.32px;
    text-transform: uppercase;
    max-width: 200px;
    box-sizing: border-box;
    padding: 10px 10px 10px 10px;
  }

  /* force the link itself to shrink-wrap and sit in the middle */
  .wprm-recipe-template-ppp-custom-3
  .ppp-custom-3-hero-content
  .hide-printpage-add-to-shopping-list-button
  > a {
    display: inline-block !important;
    margin: 0 auto !important;
  }

  /* ————————————————————————————————
    Body container padding
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-body-container {
    padding: 0 16px 40px;
    padding-bottom: 0px;
  }

  /* ————————————————————————————————
    save it rate it review it
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .ppp-cta-item span {
    font-size: 14px;
    line-height: 1.2;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-cta-row {
    margin: 0px 0px 20px;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-cta-divider {
    height: 82px;
    margin: 0 12px;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-cta-save-it img,
  .wprm-recipe-template-ppp-custom-3 .ppp-cta-review-it img {
    width: 45px;
    height: 45px;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-cta-rate-it img {
    width: 100px;
  }

  .read-more-link {
    margin-top: 0px;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-rating-container {
    margin: 8px 0;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-summary {
    margin: 0 auto 0px;
    font-size: 14px;
  }

  /* ————————————————————————————————
    META ROW (mobile fixes)
    - no horizontal scroll
    - label bottoms align
    - values align
    ———————————————————————————————— */
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container {
    gap: 4px;
    overflow-x: hidden;
    justify-content: space-between;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-block-container {
    height: 75px;

    /* allow the 5 cards to shrink to fit (removes scroll) */
    flex: 1 1 0;
    width: auto;
    min-width: 0;

    /* reduce padding to help fit */
    padding: 6px;

    /* give label row room for 2-line “Net Carbs” */
    grid-template-rows: 28px 1fr;
    row-gap: 4px;
  }

  /* labels: requested mobile size */
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details-label {
    font-size: 12px;
    line-height: 14px;
  }

  /* values: mobile sizing (including servings link) */
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details,
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-details-unit,
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-nutrition,
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-meta-container .wprm-recipe-servings-link {
    font-size: 14px;
    line-height: 16px;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-ingredients,
  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-instructions {
    font-size: 14px;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-body-container .wprm-spacer {
    display: none !important;
  }

  .hide-printpage-add-to-shopping-list-button {
    padding-bottom: 28px;
  }

  .wprm-recipe-template-ppp-custom-3 .wprm-recipe-instructions-container .wprm-recipe-instruction-text {
    font-size: 14px;
    padding-bottom: 0px;
  }

  .wprm-recipe-template-ppp-custom-3 .ppp-custom-3-hero-content .hide-printpage-add-to-shopping-list-button {
    padding-bottom: 0px;
  }

  .wprm-recipe-template-ppp-custom-3 .toggle-container {
    padding-bottom: 20px;
  }
}



/* PPP Standard Size Add To Cart Style Buttons */
#ppp-standard-button-style-blue {
    display: block;
    width: 300px;
    /* height: 44px; */
    padding: 15px 36px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;

    background: #0F3856;
    color: #FFF;
    text-align: center;

    font-size: 17px;
    font-style: normal;
    font-weight: 450 !important;
    line-height: 18px; /* 105.882% */
    letter-spacing: 1.87px;
    text-transform: uppercase;
}
/* ────────────────────────────────────────────────────────────────
   PPP My Meals ★ star sizing, spacing & colors
   ──────────────────────────────────────────────────────────────── */


.ppp-my-meals-manager-wrapper .ppp-my-meals-manager-card__rating-placeholder {
  position: absolute;
  bottom: calc(48px + 10px); /* button height (48px) + 10px gap */
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;   /* center the row of stars */
  pointer-events: none;      /* let clicks pass through if needed */
}
/* base star styles */
.ppp-my-meals-manager-wrapper .ppp-star {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: bottom;
  margin-right: 4px;  /* gap between stars */
  overflow: visible;  /* reset for full/empty */
}

/* full star: solid gold fill */
.ppp-my-meals-manager-wrapper .ppp-star--full {
  fill: rgb(225, 184, 127);
  stroke: none;
}

/* empty star: gray outline only */
.ppp-my-meals-manager-wrapper .ppp-star--empty {
  fill: none;
  stroke: #ccc;
}

/* half star: show left half only */
.ppp-my-meals-manager-wrapper .ppp-star--half {
  /* originally 16px wide; we crop to 8px so only the left half shows */
  transform: scaleX(-1);
  overflow: hidden;
  fill: rgb(225, 184, 127);
  stroke: none;
}

/* the wrapper stays relative so absolute children are positioned against it */
#ppp-search-bar-wrapper {
  position: relative;
  width: 333px;
  /* allow the dropdown to overflow past the wrapper’s bottom edge */
  overflow: visible;
}


/* Strip native checkbox, remove transform & force 12×12px square */
#ppp-search-results input.ppp-search-add-checkbox {
  -webkit-appearance: none !important;
  appearance: none !important;
  transform: none !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border: 1px solid #0F3855 !important;
  border-radius: 0 !important;
  background-color: #fff !important;
  position: relative !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

/* Outline on focus (optional) */
#ppp-search-results input.ppp-search-add-checkbox:focus {
  outline: none !important;
  border-color: #333 !important;
}

/* Checked state: fill blue */
#ppp-search-results input.ppp-search-add-checkbox:checked {
  background-color: #0F3855 !important;
  border-color: #0F3855 !important;
}

/* Draw white tick in the box */
#ppp-search-results input.ppp-search-add-checkbox:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 1px !important;
  left: 6px !important;
  width: 3px !important;
  height: 8px !important;
  border: solid #fff !important;
  border-width: 0 1px 1px 0 !important;
  transform: rotate(45deg) !important;
  box-sizing: content-box !important;
}

/* Disabled (checked or not): blue background */
#ppp-search-results input.ppp-search-add-checkbox:disabled {
  background-color: #0F3855 !important;
  border-color: #0F3855 !important;
  cursor: not-allowed !important;
}

/* absolutely‐position the <ul> so it floats over everything below */
#ppp-search-results {
  position: absolute;
  top: 100%;       /* sit immediately below the input */
  left: 0;
  right: 0;
  max-height: 300px;
  min-height: 300px;
  margin: 0;
  padding: 0;
  padding-right: 6px;
  padding-left: 6px;
  list-style: none;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ccc;
  border-top: 0px;
  border-bottom: 0px;
  z-index: 1000;   /* stack above cards */
  display: none;   /* we already show() this in JS */
  overscroll-behavior: contain;
}
#ppp-search-results img {
    border-radius: 5px;
}

/* absolutely‐position the footer in that same overlay */
#ppp-search-footer {
  position: absolute;
  /* pin it immediately under the bottom of the <ul> – 
     since <ul> is max-height:300px, bottom of UL = top + 300px */
  top: calc(100% + 300px);
  left: 0;
  right: 0;
  height: 32px;
  padding: 4px 8px;
  line-height: 24px;
  box-sizing: border-box;
  background: #fff;
  text-align: center;
  font-size: 12px;
  color: #0F3855;
  z-index: 1001;
  display: none;   
  border: #C4C4C4 solid 1px;
  font-weight: 420;
}
#ppp-search-input {
  border-radius: 0px;
  border-color: #C4C4C4;
}

#ppp-search-input:focus {
  outline: none;            /* remove blue glow / default outline */
  box-shadow: none;         /* remove Bootstrap/etc. focus ring if present */
  border-color: #C4C4C4;
}
.ppp-saved-list-delete {
  width: 35px;
}

.ppp-my-meals-manager-search_card__keywords, .keyword-boxlinks, .keyword-boxlinks a {
    font-size: 10px !important;
    color: #0F3855 !important;
    text-decoration: none !important;
    text-decoration-thickness: 0px !important;
}
.ppp-my-meals-manager-search_card__keywords, .keyword-boxlinks-divider {
    font-size: 10px !important;
    color: #0F3855 !important;
    text-decoration: none !important;
    text-decoration-thickness: 0px !important;
}

.ppp-search-placeholder {

  color: #999;
  font-size: 14px;

}
/* End PPP My Meals Manager Styles */

/* NEW Recipe Box Page Styles */
#recipe-box-pg-blurb p {
  color: #fff !important;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 390;
  line-height: 28px; /* 140% */
}
#recipe-box-pg-recipe-title h2 {
  color: #FFF;
  text-align: center;
  font-size: 45px;
  font-style: normal;
  font-weight: 420;
  line-height: normal;
  letter-spacing: 1px;
}
#recipe-box-pg-week-title h2 {
  color: #FFF;
  text-align: center;
  font-size: 26px;
  font-style: normal;
  font-weight: 420;
  line-height: normal;
}
#recipe-box-pg-week-recipe-list {
  color: #0F3855;
  font-size: 18px;
  font-style: normal;
  font-weight: 420;
  line-height: 23px; /* 176.923% */
  letter-spacing: 1px;
}
#recipe-box-pg-week-recipe-list li {
  line-height: 23px;
}

#recipe-box-pg-week-recipe-list ul li span::after {
  content: " >";
  color: #0F3855;
  margin-left: 4px;
}

#recipe-box-pg-week-recipe-image img {
  width: 365px;
  height: 120px;
  flex-shrink: 0;
}
#recipe-box-pg-week-recipe-card-header {  
  width: 365px;
  height: 59px;
  flex-shrink: 0;
  border-radius: 8px 8px 0px 0px;
  box-shadow: 1px 3px 4px 0px rgba(0, 0, 0, 0.10);
}

#recipe-box-pg-week-recipe-card-row {
  width: 100%;
}

#recipe-box-pg-week-recipe-card-row 
  .elementor-element.e-con-full.e-flex.e-con.e-child {
  display: flex;
  align-items: center;
  border-radius: 10px 10px 0 0;
  border: 1px solid #F2F2F3;
  background: #FFF;
  width: 380px;
  height: 100%;
  flex-shrink: 0;
  padding-top: 7px;
}
/*
.add_week_to_cart_button {
  padding: 8px 16px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  background-color: #0e3857;
  display: inline-block;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 0;
  letter-spacing: 0.05em;
}
  */
.add_week_to_cart_button {
  display: block;
  width: 300px;
  padding: 15px 36px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #0F3856;
  color: #ffffff !important;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 450 !important;
  line-height: 18px;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  border: 0px solid;
  border-radius: 0px;
}


/* Make the fixed-width cards collapse to 100% on mobile */
@media (max-width: 767px) {
  #recipe-box-pg-week-recipe-card-row
    .elementor-element.e-con-full.e-flex.e-con.e-child {
    width: 100% !important;      /* fill the viewport */
    max-width: 327px;            /* but never grow past the design size */
    margin: 1rem auto 0;         /* center each card and give a bit of bottom spacing */
    box-sizing: border-box;      /* include padding/border in that width */
  }
  #recipe-box-pg-week-recipe-card-row.e-con>.e-con-inner {
    gap: 0px;
  }
  #recipe-box-pg-week-recipe-list .elementor-widget-container {
    margin: 10px 0 20px;
  }

  #recipe-box-pg-blurb p {
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 390;
    line-height: 25px; /* 156.25% */
  }
  #recipe-box-pg-recipe-title h2 {
    color: #FFF;
    text-align: center;
    font-size: 29px;
    font-style: normal;
    font-weight: 420;
    line-height: normal;
    letter-spacing: 1px;
  }  
  #recipe-box-pg-week-recipe-card-header {
      width: 311px;
  }
  #recipe-box-pg-week-recipe-image img {
      width: 311px;
  }
  #recipe-box-pg-week-recipe-list {
      font-size: 16px;
  }
}

/* Tablet: keep 3 per row, just shrink cards so they fit */
@media (min-width: 768px) and (max-width: 1025px) {
  /* Let the column containers actually shrink (prevents overflow) */
  #recipe-box-pg-week-recipe-card-row .e-con,
  #recipe-box-pg-week-recipe-card-row .e-con > .e-con-inner,
  #recipe-box-pg-week-recipe-card-row .elementor-element {
    min-width: 0 !important;
    box-sizing: border-box;
  }

  /* The card itself: stop being 380px fixed; fill the column fluidly */
  #recipe-box-pg-week-recipe-card-row
    .elementor-element.e-con-full.e-flex.e-con.e-child {
    width: 100% !important;       /* fill whatever width the 1/3 column gives it */
    max-width: 100% !important;
    flex: 1 1 auto !important;    /* allow shrinking */
    flex-shrink: 1 !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* Kill the inner fixed pixel widths so nothing overflows */
  #recipe-box-pg-week-recipe-card-header,
  #recipe-box-pg-week-recipe-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  /* Button should adapt to the column too */
  .add_week_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
  }

  /* Optional: tighten gaps so 3 columns fit comfortably */
  #recipe-box-pg-week-recipe-card-row.e-con > .e-con-inner {
    gap: 16px !important;  /* lower than desktop */
  }
  #recipe-box-pg-week-recipe-card-row .elementor-element.e-con-full.e-flex.e-con.e-child {
      padding-left: 7px;
      padding-right: 7px;
  }

}
/* END New Recipe Box Page Styles */


/* ===========================
   PPP Header Search Overlay
   =========================== */

#ppp-hso-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 99999;
  display: none;
}
#ppp-hso-backdrop.ppp-hso-show { display: block; }

/* Panel / Header */
.ppp-hso-panel {
  position: absolute;
  left: 50%;
  top: 6vh;
  transform: translateX(-50%);
  width: min(500px, 92vw);
  height: 88vh;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ppp-hso-header {
  display:flex;
  align-items:center; /* centers the X vertically */
  gap:12px;
  padding:16px 7px 8px 20px;
  border-bottom: 1px solid #eee;
}
.ppp-hso-title {
  font: 600 18px/1.2 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:#0e3857;
  margin-right: auto;
}
#ppp-hso-backdrop .ppp-hso-close {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background: transparent; /* no hover effect wanted */
  color:#0e3857;
  width: 32px;
  height: 32px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 20px;
  line-height: 1;
  border-radius: 50%;
  cursor: pointer;
}
#ppp-hso-backdrop .ppp-hso-close:hover,
#ppp-hso-backdrop .ppp-hso-close:focus { background: transparent; }

/* Controls */
.ppp-hso-controls {
  display:flex;
  flex-direction: column;
  gap:8px;
  padding: 12px 16px;
  border-bottom: 1px solid #f2f2f2;
}
.ppp-hso-searchwrap { position: relative; }
.ppp-hso-select,
.ppp-hso-input {
  height: 38px;
  border:1px solid #dcdcdc;
  border-radius: 8px;
  padding: 6px 10px;
  font: 400 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  width: 100%;
  box-sizing: border-box;
}
.ppp-hso-searchwrap .ppp-hso-input { padding-right: 30px; } /* room for icon */
.ppp-hso-search-icon {
  position:absolute;
  right:8px;
  top:50%;
  transform: translateY(-50%);
  pointer-events:none;
}

/* Inline Create List panel */
.ppp-hso-createlist {
  display:none;
  padding: 12px;
  border:1px solid #e7eef5;
  border-radius: 8px;
  background:#f9fbfd;
  gap:8px;
}
.ppp-hso-cl-row {
  display:flex;
  gap:8px;
  align-items:center;
}
.ppp-hso-cl-actions {
  display:flex;
  gap:8px;
  margin-top:8px;
}
.ppp-hso-error {
  color:#b00020;
  font-size:12px;
  margin-top:6px;
}

/* Results */
.ppp-hso-body {
  display:flex;
  flex-direction: column;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
}
.ppp-hso-results {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
.ppp-hso-results li {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-bottom: 1px solid #f3f3f3;
}
.ppp-hso-thumb {
  width:64px;
  height:48px;
  object-fit: cover;
  flex: 0 0 auto;
  border-radius: 6px;
  background:#f6f6f6;
}
.ppp-hso-main { flex: 1 1 auto; min-width: 0; }
.ppp-hso-titlelink {
  font-size: 14px;
  font-weight: 500;
  color:#0F3855;
  text-decoration:none;
  display:block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ppp-hso-keywords { color:#5b7184; font-size: 12px; margin-top: 2px; max-height: 34px; overflow: hidden; }

/* Hide add checkbox when no list selected */
#ppp-hso-backdrop[data-list-selected="0"] .ppp-hso-addwrap { display: none; }

.ppp-hso-addwrap {
    padding-right: 10px;
}

.ppp-hso-footer {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content: flex-end;
  padding: 8px 14px;
  color:#5b7184;
  font-size: 12px;
  border-top: 1px solid #f2f2f2;
}
.ppp-hso-loader { text-align:center; color:#666; padding:8px; }
.ppp-hso-empty { padding: 16px; color:#5b7184; font-size: 14px; }
#ppp-hso-sentinel { height: 1px; }

/* Responsive tweaks */
@media (max-width: 540px) {
  .ppp-hso-cl-row { flex-direction: column; align-items: stretch; }
  .ppp-hso-cl-actions { flex-direction: column; }
}

/* Instacart cancel button – white background, PPP blue text */
.btn.btn-secondary.instacart-confirm-cancel {
  background-color: #ffffff;
  color: #0e3857 !important;
  border-color: #0e3857;
}

/* Optional hover/focus/active states */
.btn.btn-secondary.instacart-confirm-cancel:hover,
.btn.btn-secondary.instacart-confirm-cancel:focus,
.btn.btn-secondary.instacart-confirm-cancel:active {
  background-color: #f5f5f5;
  color: #0e3857 !important;
  border-color: #0e3857;
}

/* ---------------------------------
   BEGIN: PPP Shopping Mode Styles
   --------------------------------- */

/* In-Store Mode button */
/* replaced by below styles on June 5, 2024 --
#open-shopping-mode,
a#open-shopping-mode.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  background: #F7941D;            
  border: 1px solid #F7941D;
  color: #fff !important;
  text-transform: uppercase;       
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  border-radius: 0;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .06s ease, background-color .12s ease, box-shadow .12s ease;
}
#open-shopping-mode:hover { background: #e67f00; border-color: #e67f00; }
#open-shopping-mode:active { transform: translateY(1px); }
-- */

/* In-Store Mode button – match store select / checkout sizing */
#open-shopping-mode,
a#open-shopping-mode.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 179px;          /* desktop width (matches store select) */
  height: 40px;
  padding: 0;            /* override .btn padding */
  line-height: 1;        /* rely purely on flex centering */
  gap: 8px;
  flex-shrink: 0;
  background: var(--Color, #0F3855);
  color: #FFFFFF;
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
}

/* Mobile tweaks – match 150px store select width */
@media (max-width: 768px) {
  #open-shopping-mode,
  a#open-shopping-mode.btn {
    width: 150px;          /* same as mobile store select */
    font-size: 12px;
    padding: 0;            /* keep padding zero on mobile too */
    line-height: 1;
  }

  #ppp-shopping-mode .ppp-sm-add-btn {
    font-size: 14px !important;
    padding: 0 12px !important;
    height: 33px !important;
  }
}

.ppp-shopping-mode { max-width:820px; margin:0 auto; padding:16px; }

/* Header and title */
.ppp-sm-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; }
.ppp-sm-header h1 { color:#20405d; font-weight:700; font-size:34px; line-height:1.15; margin:0; }
.ppp-sm-titlewrap { display:flex; flex-direction:column; gap:4px; }
.ppp-sm-subtitle { margin:0; color:#5f7486; font-size:14px; line-height:1.3; }
@media (max-width:768px){ .ppp-sm-titlewrap{ align-items:center; text-align:center; } }

/* Meta line  */
.ppp-sm-meta {
  font-size:12px; color:#5f7486; display:flex; gap:16px; margin-bottom:6px;
  width:100%; justify-content:center; align-items:center; text-align:center;
}
.ppp-sm-retailer { display:none !important; }

/* Add Custom Items card */
#ppp-shopping-mode .ppp-sm-add {
  display:block; width:100%; margin-top:8px;
  background:#fff; border:1px solid #EDEDED; box-shadow:6px 6px 60px 0 rgba(0,0,0,.04);
  border-radius:8px; padding:12px;
}
#ppp-shopping-mode .ppp-sm-add::after { content:""; display:block; clear:both; }
#ppp-shopping-mode .ppp-sm-add-head {
  display:block; width:100%; margin:0 0 4px 0; padding:0 0 2px 0; border-bottom:1px solid #EDEDED;
}
#ppp-shopping-mode .ppp-sm-add-head h2 { margin:0; font-size:20px; font-weight:700; color:#20405d; line-height:1.2; }
#ppp-shopping-mode .ppp-sm-add-sub { margin:2px 0 0 0; font-size:13px; color:#5f7486; }

/* Add form grid: Name | Qty | Unit | Group | ADD */
/* Category select: native dropdown, no caret, same text color, no focus ring */
#ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group{
  height: 100%;             /* match the wrapper height so it's not taller */
  padding: 0 8px;
  border: 1px solid #EDEDED;
  border-radius: 6px;
  font-size: 13px;
  color: #9fa3bc;
  background: #fff;
  min-width: 0;
  box-sizing: border-box;

  /* remove UA caret across engines */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none !important;

  /* keep border consistent even when focused */
  outline: none !important;
  box-shadow: none !important;
}

/* older Edge/IE caret */
#ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group::-ms-expand{ display:none; }

/* guard against theme focus styles */
#ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group:focus,
#ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group:focus-visible,
#ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group:focus-within{
  border-color:#EDEDED !important;
  outline:none !important;
  box-shadow:none !important;
}

/* Ensure the Category wrapper matches the input height */
#ppp-shopping-mode .ppp-sm-selectwrap {
  position: relative;
  height: 38px;
}

/* Caret positioning for the custom select */
#ppp-shopping-mode .ppp-sm-selectwrap .ppp-sm-caret {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

#ppp-shopping-mode .ppp-sm-add-form {
  display: grid;
  width: 100%;
  margin: 0;
  gap: 6px;  /* slightly tighter spacing between fields */

  /* Columns: Item | Qty | Unit | Category | Add */
  grid-template-columns:
    minmax(340px, 3fr)   /* Item: noticeably wider */
    minmax(5ch, 0.7fr)   /* Qty */
    minmax(6ch, 0.9fr)   /* Unit */
    minmax(110px, 1.1fr) /* Category: a bit narrower */
    auto;                /* Add button */
    
  align-items: center;
}
#ppp-shopping-mode .ppp-sm-add-form input {
  height:38px; padding:0 10px; border:1px solid #EDEDED; border-radius:6px;
  font-size:14px; color:#20405d; background:#fff; min-width:0;
}
#ppp-shopping-mode .ppp-sm-add-form input::placeholder{ color:#9aa8b3; }
#ppp-shopping-mode .ppp-sm-add-btn{
  height:36px; padding:0 14px; white-space:nowrap;
  background:#0f3855; color:#fff !important; font-weight:450; text-transform:uppercase;
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  font-size:16px; line-height:18px; letter-spacing:1.87px; border:none; border-radius:0; cursor:pointer;
}
#ppp-shopping-mode .ppp-sm-add-btn:hover{ background:#0d3150; }
#ppp-shopping-mode .ppp-sm-add-btn:disabled{ opacity:.6; cursor:not-allowed; }

/* Toolbar under Add — single line even on mobile */
#ppp-shopping-mode .ppp-sm-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 10px; margin:10px 0 8px; background:#f8fafb; border:1px solid #e9eef2; border-radius:8px;
  flex-wrap:nowrap; white-space:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
#ppp-shopping-mode .ppp-sm-toolbar::-webkit-scrollbar{ display:none; }
#ppp-shopping-mode .ppp-sm-toolbar-actions{ display:inline-flex; align-items:center; gap:8px; }
#ppp-shopping-mode .ppp-sm-count{ color:#5f7486; font-size:13px; line-height:1.2; }

/* Subtle link-style buttons (Print/Reset) */
#ppp-shopping-mode .ppp-link-btn{
  background:transparent; color:#0f3855;
  border:1px solid #dbe2e8; border-radius:0; padding:6px 10px;
  font-size:13px; line-height:1.2; cursor:pointer; white-space:nowrap;
}
#ppp-shopping-mode .ppp-link-btn:hover{ background:#eef3f7; border-color:#cfd9e1; }
#ppp-shopping-mode .ppp-link-btn:active{ background:#e6eef4; }

/* Toggle switch */
#ppp-shopping-mode .ppp-toggle{ display:inline-flex; align-items:center; gap:8px; user-select:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
#ppp-shopping-mode .ppp-toggle input{ appearance:none; position:absolute; inset:0; width:0; height:0; opacity:0; }
#ppp-shopping-mode .ppp-toggle .ppp-toggle-ui{
  width:38px; height:22px; border-radius:999px; background:#e8edf2;
  position:relative; transition:background 160ms ease; box-shadow:inset 0 0 0 1px #d6dee6;
}
#ppp-shopping-mode .ppp-toggle .ppp-toggle-ui::after{
  content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 1px 1px rgba(0,0,0,.08); transition:transform 160ms ease;
}
#ppp-shopping-mode .ppp-toggle input:checked + .ppp-toggle-ui{ background:#0F3855; box-shadow:inset 0 0 0 1px #0F3855; }
#ppp-shopping-mode .ppp-toggle input:checked + .ppp-toggle-ui::after{ transform:translateX(16px); }
#ppp-shopping-mode .ppp-toggle .ppp-toggle-text{ color:#5f7486; font-size:13px; line-height:1.2; white-space:nowrap; }

/* Group headings */
.ppp-sm-group{ margin:16px 0; }
.ppp-sm-group-title{
  font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:6px; color:#20405d;
}

/* Reset list bullets/indent */
#ppp-shopping-mode .ppp-sm-list,
#ppp-shopping-mode .ppp-sm-group > ul{ list-style:none; margin-left:0; padding-left:0; text-indent:0; }
#ppp-shopping-mode .ppp-sm-group > ul > li{ margin-left:0; padding-left:10px; }
#ppp-shopping-mode .ppp-sm-list ul li::marker{ content:""; }
#ppp-shopping-mode .ppp-sm-list ul li::before{ content:none !important; }

/* Item row */
.ppp-sm-item{
  padding:10px 12px; border:1px solid #e6e6e6; border-radius:8px; margin-bottom:8px; position:relative;
}
.ppp-sm-item > label{
  display:flex; align-items:center; width:100%; gap:8px; cursor:pointer; user-select:none; position:relative;
  -webkit-tap-highlight-color:transparent;
}

/* Checkbox look (screen) */
#ppp-shopping-mode .ppp-sm-cb{
  width:24px; height:24px; margin-right:12px; flex-shrink:0;
  appearance:none; border:none; background:transparent; cursor:pointer;
  position:relative; outline:none; box-shadow:none; -webkit-tap-highlight-color:transparent;
}
#ppp-shopping-mode .ppp-sm-cb::before{
  content:""; display:block; width:24px; height:24px; border-radius:50%;
  border:1px solid #BEBFC0; box-sizing:border-box; background:#fff;
}
#ppp-shopping-mode .ppp-sm-cb:active::before{ transform:scale(.96); box-shadow:0 0 0 3px rgba(15,56,85,.12); }
#ppp-shopping-mode .ppp-sm-cb:checked::before{ background-color:#0F3855; border-color:#0F3855; }
#ppp-shopping-mode .ppp-sm-cb:checked::after{
  content:''; position:absolute; left:3px; top:1px; width:20px; height:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M10.7287 4.9469L5.78181 9.89383L3.5332 7.64522' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-size:contain;
}

/* Name & qty */
.ppp-sm-name, .ppp-sm-qty{ color:#20405d; font-size:16px; font-weight:500; }
.ppp-sm-name{ margin-right:8px; }
.ppp-sm-qty{ margin-left:auto; }

/* Always hide notes (desktop & mobile) */
.ppp-sm-notes { display:none !important; }

/* Checked visual */
#ppp-shopping-mode .ppp-sm-item.is-checked{
  background: linear-gradient(180deg, #F4F4F4 0%, #EDEDED 60%, #E6E6E6 100%);
  border-color: #E6E6E6;
}
#ppp-shopping-mode .ppp-sm-item.is-checked .ppp-sm-name,
#ppp-shopping-mode .ppp-sm-item.is-checked .ppp-sm-qty{
  color: #B9C3CA;               
}

/* Neutralize the old per-span styling */
#ppp-shopping-mode .ppp-sm-cb:checked ~ .ppp-sm-name,
#ppp-shopping-mode .ppp-sm-cb:checked ~ .ppp-sm-qty{
  text-decoration: none;
  opacity: 1;
}

/* Remove the legacy strike-through */
#ppp-shopping-mode .ppp-sm-item > label{ position:relative; }
@supports(selector(:has(*))){
  #ppp-shopping-mode .ppp-sm-item > label::after{ content: none !important; }
  #ppp-shopping-mode .ppp-sm-item > label:has(.ppp-sm-cb:checked)::after{ content: none !important; }
}

/* Delete × (screen only; hidden on print) */
#ppp-shopping-mode .ppp-sm-del{
  --del-size:28px; inline-size:var(--del-size); block-size:var(--del-size);
  display:inline-grid; place-items:center; margin-left:8px; padding:0;
  border:1px solid #e9eef2; border-radius:999px; background:transparent; color:#5f7486;
  font-size:16px; font-weight:600; line-height:1; cursor:pointer; flex-shrink:0;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease, transform .06s ease, box-shadow .15s ease;
}
#ppp-shopping-mode .ppp-sm-del:hover{ background:#fbeaea; border-color:#f2c7c7; color:#c04444; }
#ppp-shopping-mode .ppp-sm-del:active{ transform:translateY(1px); background:#f4dede; }
#ppp-shopping-mode .ppp-sm-del:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(15,56,85,.18); }
@media (max-width:768px){
  #ppp-shopping-mode .ppp-sm-del{ --del-size:26px; font-size:15px; margin-left:6px; }
}

/* Mobile layout for add form */
/* Mobile layout for add form */
@media (max-width:768px){
  #ppp-shopping-mode .ppp-sm-add{
    padding:10px;
    margin-top:10px;
  }

  #ppp-shopping-mode .ppp-sm-add-head{
    margin-bottom:6px;
    padding-bottom:2px;
    text-align:center;
  }

  #ppp-shopping-mode .ppp-sm-add-head h2{
    font-size:18px;
  }

  /* Grid: Item | Qty | Unit | Category | Add (mobile) */
  #ppp-shopping-mode .ppp-sm-add-form{
    grid-template-columns:
      minmax(0, 7.5fr)   /* Item: still the hero */
      3ch                /* Qty */
      4ch                /* Unit */
      minmax(0, 6.5fr)   /* Category: smaller than Item, but enough to show the word */
      minmax(62px, auto);/* Add button */

    gap:4px;
    align-items:center;
  }

  #ppp-shopping-mode #ppp-sm-add-name,
  #ppp-shopping-mode #ppp-sm-add-group{
    min-width:0;
  }

  #ppp-shopping-mode #ppp-sm-add-amount,
  #ppp-shopping-mode #ppp-sm-add-unit{
    padding-inline:6px;
    text-align:center;
  }

  /* Inputs: 34px tall on mobile */
  #ppp-shopping-mode .ppp-sm-add-form input{
    height:34px;
    font-size:13px;
    padding:0 8px;
  }

  /* Make Category match input height on mobile */
  #ppp-shopping-mode .ppp-sm-selectwrap{
    height:34px;           /* match input height */
  }

  #ppp-shopping-mode .ppp-sm-add-form select#ppp-sm-add-group{
    height:100%;           
    font-size:12px;        
    padding:0 6px;
    line-height:1.2;
  }

  /* Force toolbar to remain single line with smaller text on mobile */
  #ppp-shopping-mode .ppp-sm-toolbar { gap:6px; }
  #ppp-shopping-mode .ppp-sm-count,
  #ppp-shopping-mode .ppp-sm-toggle .ppp-toggle-text,
  #ppp-shopping-mode .ppp-link-btn { font-size:12px; }
}

/* Mobile header tweaks */
@media (max-width:768px){
  .ppp-sm-header{ flex-direction:column; align-items:center; gap:10px; }
  .ppp-sm-header h1{ font-size:28px; text-align:center; }
  .ppp-sm-name, .ppp-sm-qty{ font-size:15px; }
}
/* PRINT-ONLY header  */
#ppp-shopping-mode .ppp-print-header{
  display:none;
  align-items:flex-start;
  gap:12px;
  margin:0 0 8px 0;
  padding:0 0 6px 0;
  border-bottom:1px solid #E0E0E0;
}
#ppp-shopping-mode .ppp-print-logo{ max-height:42px; width:auto; }
#ppp-shopping-mode .ppp-print-headtext h2{ margin:0; color:#20405d; font-size:22px; line-height:1.2; }

/* Hidden on screen */
.ppp-print-only { display: none; }

/* SCREEN: bullet-proof bullet reset */
#ppp-shopping-mode .ppp-sm-group > ul,
#ppp-shopping-mode .ppp-sm-group > ul li{
  list-style: none !important;
}
#ppp-shopping-mode .ppp-sm-group > ul{
  margin-left: 0 !important;
  padding-left: 0 !important;
}
#ppp-shopping-mode .ppp-sm-list ul li::marker{ content: none !important; }
/* === PRINT: wide content, first/other page margins, bigger checkbox, inline qty+name === */
@media print {

  /* Default for ALL pages (other than :first) — give extra top margin where no banner shows */
  @page {
    size: auto;
    margin: 0.35in 0.10in 0.25in 0.10in; /* top right bottom left (bottom trimmed slightly) */
  }

  /* FIRST page keeps the tighter top margin for the banner */
  @page :first {
    margin: 0.10in 0.10in 0.25in 0.10in;
  }

  /* Do not gray rows on paper; keep original colors for legibility */
  #ppp-shopping-mode .ppp-sm-item.is-checked{
    background: transparent !important;
    border-color: #e6e6e6 !important;
  }
  #ppp-shopping-mode .ppp-sm-item.is-checked .ppp-sm-name,
  #ppp-shopping-mode .ppp-sm-item.is-checked .ppp-sm-qty{
    color: #20405d !important;
  }

  html, body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Hide WP chrome on ANY page that contains #ppp-shopping-mode */
  html:has(#ppp-shopping-mode) #wpadminbar,
  html:has(#ppp-shopping-mode) .site-header,
  html:has(#ppp-shopping-mode) .site-tagline {
    display:none !important;
  }

  /* Only print area */
  html, body { margin:0 !important; padding:0 !important; height:auto !important; }
  body *{ visibility:hidden !important; }
  #ppp-shopping-mode, #ppp-shopping-mode *{ visibility:visible !important; }

  /* Base width for all browsers (Safari-safe) */
  #ppp-shopping-mode{
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Chrome (and friends) — wide breakout (JS should add .ppp-print-chrome on <html>) */
  html.ppp-print-chrome #ppp-shopping-mode{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }

  /* Header image: full width (first page only) */
  #ppp-shopping-mode .ppp-print-header{
    display:block !important;
    border:none !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    page-break-after:avoid; break-after:avoid;
  }
  #ppp-shopping-mode .ppp-print-header > img,
  #ppp-shopping-mode .ppp-print-banner,
  #ppp-shopping-mode .ppp-print-logo{
    display:block !important;
    width: 100% !important;
    max-width:none !important;
    height:auto !important;
    margin: 0 0 8mm 0 !important; 
  }

  /* Hide on-screen UI */
  #ppp-shopping-mode .ppp-sm-header,
  #ppp-shopping-mode .ppp-sm-meta,
  #ppp-shopping-mode .ppp-sm-add,
  #ppp-shopping-mode .ppp-sm-toolbar { display:none !important; }

  /* List columns + inner padding that aligns with footer text */
  /* Chrome / non-Safari multicol layout */
  html:not(.ppp-print-safari-singlecol) #ppp-shopping-mode .ppp-sm-list{
    -webkit-column-count:2; column-count:2;
    -webkit-column-gap:10mm; column-gap:10mm;
    -webkit-column-fill:balance; column-fill:balance;

    width: 100% !important;
    margin: 0 !important;
    padding-left:14mm !important;
    padding-right:14mm !important;

    page-break-before:avoid; break-before:avoid;

    /* keep the content out of the footer area (trimmed to reduce blank last page) */
    padding-bottom: 0 !important;
  }

  html:not(.ppp-print-safari-singlecol) #ppp-shopping-mode .ppp-sm-group{
    -webkit-column-break-inside:auto !important;
    break-inside:auto !important;
    page-break-inside:auto !important;
    margin:0 0 2mm 0; 
    padding:0;
  }

  #ppp-shopping-mode .ppp-sm-group-title,
  #ppp-shopping-mode .ppp-sm-name,
  #ppp-shopping-mode .ppp-sm-qty{
    font-size:18pt !important; font-weight:300;
  }
  #ppp-shopping-mode .ppp-sm-group-title{
    font-weight:500 !important; color:#000 !important;
    text-transform:none !important;
    margin:0 0 1mm 0 !important;
    border:none !important;
    page-break-after:avoid; break-after:avoid-column;
    padding:0.2mm 20px !important;
    font-size:20pt !important;
  }

  /* Rows */
  #ppp-shopping-mode .ppp-sm-item{
    border:none !important; box-shadow:none !important;
    padding:0.2mm 20px !important; 
    margin:0 !important;
    -webkit-column-break-inside:avoid; break-inside:avoid; page-break-inside:avoid;
  }

  #ppp-shopping-mode .ppp-sm-item > label{
    /* keep grid for checkbox alignment but make qty+name read like one string */
    display:grid !important;
    grid-template-columns: auto max-content 1fr; /* cb | qty | name */
    grid-template-areas: "cb qty name";
    align-items:center;
    column-gap: 0 !important; 
    line-height: 1.02 !important;  
    margin:0 !important; padding:0 !important;

    /* extra protection against line splitting */
    -webkit-column-break-inside:avoid;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  /* >>> BIG NATIVE CHECKBOX (same as your original) <<< */
  #ppp-shopping-mode .ppp-sm-cb{
    grid-area: cb;
    appearance:auto !important;
    -webkit-appearance:checkbox !important;
    width:auto !important;
    height:auto !important;
    transform: scale(1.35);  
    transform-origin: left center;
    margin:0 3mm 0 0 !important;  
    position:static !important;
    box-shadow:none !important;
    background:transparent !important;
    border:initial !important;
  }
  #ppp-shopping-mode .ppp-sm-cb::before,
  #ppp-shopping-mode .ppp-sm-cb::after,
  #ppp-shopping-mode .ppp-sm-item > label::after{
    content:none !important;
  }

  /* Qty + Name as one sentence */
  #ppp-shopping-mode .ppp-sm-qty{
    grid-area: qty;
    display:inline !important;
    text-align:left;
    font-weight:300 !important; color:#000 !important;
    line-height:1.02 !important; margin:0 !important;
    white-space:nowrap;
    margin-right: .2em !important;        
  }
  #ppp-shopping-mode .ppp-sm-name{
    grid-area: name;
    display:inline !important;
    color:#000 !important; line-height:1.02 !important;
    margin:0 !important; white-space:nowrap; overflow:visible; word-break:normal; hyphens:none;
  }

  /* Footer: margin boxes + closer rule */
  @page {
    @bottom-left {
      content: "grocery list";
      font-weight: 400; font-size: 10pt; color: #0F3855;
      margin-left: 14mm;
      width: calc(100% - 28mm);
    }
    @bottom-right {
      content: counter(page);
      font-weight: 400; font-size: 10pt; color: #0F3855;
      margin-right: 14mm;
      width: calc(100% - 28mm);
    }
    @bottom-center {
      content:"";
      margin-left:14mm;                 
      margin-right:14mm;
      height:0;
      border-top:.5px solid #0F3855;  
      width: calc(100% - 28mm);
      /* fail-safe for engines that ignore borders on margin boxes */
      background: linear-gradient(#0F3855,#0F3855) left top / 100% .5px no-repeat;
    }
  }

  /* === PRINT: Rules  === */

  #ppp-shopping-mode .ppp-print-footer{
    position: fixed;
    bottom: 0 !important;                 
    left: 0.10in !important;
    right: 0.10in !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: .4px solid #0F3855 !important;
    background: transparent !important;
    z-index: 1;
    pointer-events: none;
  }

  /* hide the DOM-based rule everywhere */
  #ppp-shopping-mode .ppp-print-footer { display:none !important; }

  #ppp-shopping-mode .ppp-print-header + .ppp-sm-list{
    padding-bottom: 6mm !important;
  }

  /* Remove old spacer that can create a blank extra page */
  #ppp-shopping-mode .ppp-sm-list::after{
    content: none !important;
    display: none !important;
    height: 0 !important;
  }

  .ppp-print-only { display: block !important; }

  /* Keep the header with its first line */
  #ppp-shopping-mode .ppp-print-only .ppp-sm-group-title{
    font-weight: 500 !important;
    color: #000 !important;
    text-transform: none !important;
    margin: 0 0 2mm 0 !important;
    border: none !important;
    page-break-after: avoid; break-after: avoid-column;
    padding: 0.2mm 20px !important; 
    font-size: 20pt !important;    
  }

  /* Lines list reset */
  #ppp-shopping-mode .ppp-print-lines{
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #ppp-shopping-mode .ppp-print-line{
    border-bottom: 1px solid #C9D3DA; 
    height: 10mm;                   
    margin: 0 0 5mm 0;                 
    padding: 0 20px;                   
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Hide delete + notes in ALL browsers when printing */
  #ppp-shopping-mode .ppp-sm-del,
  #ppp-shopping-mode .ppp-sm-notes{ display:none !important; }

  /* === SAFARI PRINT: 2 columns via flex (only when html has .ppp-print-safari-singlecol) === */

  /* Smaller font for Safari print */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-group-title,
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-name,
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-qty {
    font-size: 12pt !important;
  }

  /* List: flex 2 columns (this is the layout that used to give you 2 columns) */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-list{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;

    width: 100% !important;
    margin: 0 !important;

    padding-left: 14mm !important;
    padding-right: 14mm !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* Each group takes half the width (two “columns”) */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-group{
    width: 50% !important;
    box-sizing: border-box !important;
    padding-right: 10mm !important;  /* visual column gap */
    padding-left: 0 !important;
    margin: 0 0 2mm 0 !important;

    page-break-inside: avoid !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
  }

  /* Items inside Safari print */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-item{
    border: none !important;
    box-shadow: none !important;
    padding: 0.2mm 20px !important;
    margin: 0 !important;

    page-break-inside: avoid !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
  }

  /* “Other” write-in group acts like a normal group in the flex layout */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-print-only{
    display: block !important;
    width: 50% !important;
    box-sizing: border-box !important;
    padding-right: 10mm !important;
  }

  /* Safari: allow breaking inside groups/items to avoid trailing blank pages */
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-group,
  html.ppp-print-safari-singlecol #ppp-shopping-mode .ppp-sm-item{
    page-break-inside: auto !important;
    break-inside: auto !important;
    -webkit-column-break-inside: auto !important;
  }
}

/* Icon-only toolbar button (Print) */
#ppp-shopping-mode .ppp-link-btn.ppp-link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 6px;           /* a little tighter around the icon */
  line-height: 1;
}

#ppp-shopping-mode .ppp-link-btn.ppp-link-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* ===============================
   PPP Styling for Intro.js Tour
   =============================== */

/* Highlight box around the element */
.introjs-helperLayer {
  padding: 0 !important;              /* prevents the consistent down/right offset */
  box-sizing: border-box !important;
  border-radius: 10px !important;
  outline: 3px solid #f7941d !important;
  outline-offset: 4px !important;     /* replaces the old padding:4px feel */
  background: transparent !important; /* IMPORTANT: don't cover the highlighted text */
}

/* Tour 1 (Desktop): stop hover lift/glow while tour active */
body.ppp-intro-tour-active .recipe-box:hover,
body.ppp-intro-tour-active .recipe-box:hover * {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Tooltip container – modal style */
.introjs-tooltip {
  background: #ffffff !important;
  border-radius: 4px !important;
  padding: 18px 22px 16px !important;
  max-width: 320px !important;
  border: 1px solid #d6d6d6 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
  font-family: inherit !important;
  position: relative;
  z-index: 1000000 !important;
}

/* "Tour" header at top of popup */
.introjs-tooltip::before {
  content: 'Tour';
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #0e3857;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e5e5e5;
}

/* Tooltip text */
.introjs-tooltiptext {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #0e3857 !important;
  word-wrap: break-word;
}

/* Hide Intro.js built-in header & skip link – we use our own button row */
.introjs-tooltip-header,
.introjs-skipbutton {
  display: none !important;
}

/* Buttons container — ALWAYS left button left, right button right */
.introjs-tooltipbuttons {
  margin-top: 14px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;

  width: 100% !important;
}

/* Kill floats that can break alignment */
.introjs-tooltipbuttons a.introjs-button {
  float: none !important;
}

/* Make the right-side button hug the right edge */
.introjs-tooltipbuttons a.introjs-button:last-child {
  margin-left: auto !important;
}

/* Base button style */
.introjs-button {
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* Back button */
.introjs-prevbutton {
  background: #e6e6e6 !important;
  color: #333 !important;
  border: 1px solid #d0d0d0 !important;
}

/* Quit Tour button (injected) */
/* button replaced:
.introjs-button.ppp-quit-tour-btn {
  background: #e6e6e6 !important;
  color: #000 !important;
  border: 1px solid #d0d0d0 !important;
}
*/

/* Quit Tour should look like underlined text (not a button) */
.introjs-button.ppp-quit-tour-btn {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  box-shadow: none !important;
  text-shadow: none !important;

  color: #0f3855 !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

.introjs-button.ppp-quit-tour-btn:hover,
.introjs-button.ppp-quit-tour-btn:focus {
  background: transparent !important;
  filter: none !important;
}



/* Done button when used as Quit Tour */
.introjs-donebutton {
  background: #f7941d !important;
  color: #ffffff !important;
}

/* If the done button text is "Quit Tour", force grey style too.
   (CSS can't read button text reliably, so the JS safety also in place.)
*/

/* Next buttons */
.introjs-nextbutton {
  background: #f7941d !important;
  color: #ffffff !important;
}

/* Arrow styling */
.introjs-arrow {
  border: none !important;
}

.introjs-arrow.bottom {
  border-top: 10px solid #ffffff !important;
}

.introjs-arrow.top {
  border-bottom: 10px solid #ffffff !important;
}

html.ppp-intro-tour-active,
body.ppp-intro-tour-active {
  overflow-x: hidden !important;
}

/* Ensure overlay is always above page content, but below the tooltip */
.introjs-overlay {
  z-index: 999998 !important;
}
.introjs-helperLayer {
  z-index: 999999 !important;
}

@media (max-width: 768px) {
  .introjs-tooltip {
    max-width: calc(100vw - 24px) !important;
  }
}

/* ==========================
   PPP Floating Tour Launcher
   ========================== */

#ppp-tour-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 0;
  background: #0f3855;
  color: #fff;
  cursor: pointer;
  z-index: 2147483000;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);

  /* Perfect centering */
  display: flex;
  align-items: center;
  justify-content: center;
}

#ppp-tour-launcher span {
  font-weight: 900;
  font-size: 24px;
  line-height: 1;
  transform: translateY(-1px); /* tiny optical tweak */
}

#ppp-tour-launcher:hover {
  filter: brightness(1.05);
}

#ppp-tour-launcher-panel {
  position: fixed;
  right: 18px;
  bottom: 82px;
  width: 260px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 10px;
  z-index: 2147483001;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

#ppp-tour-launcher-panel .ppp-tour-panel-title {
  font-weight: 800;
  font-size: 14px;
  color: #0f3855;
  margin: 2px 4px 8px;
}

#ppp-tour-launcher-panel .ppp-tour-panel-btn {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 10px 10px;
  margin: 6px 0;
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
}

#ppp-tour-launcher-panel .ppp-tour-panel-btn[data-tour="tour1"] {
  background: #f7941d;
  color: #fff;
}

#ppp-tour-launcher-panel .ppp-tour-panel-btn[data-tour="tour2"] {
  background: #e6e6e6;
  color: #0f3855;
}

#ppp-tour-launcher-panel .ppp-tour-panel-link {
  display: block;
  margin: 8px 2px 2px;
  padding: 10px 10px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  color: #0f3855;
  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
  text-align: center;
}

#ppp-tour-launcher-panel .ppp-tour-panel-link:hover {
  filter: brightness(0.98);
}

@media (max-width: 768px) {
  #ppp-tour-launcher {
    right: 14px;
    bottom: 14px;
  }
  #ppp-tour-launcher-panel {
    right: 14px;
    bottom: 78px;
    width: calc(100vw - 28px);
    max-width: 320px;
  }
}

/* =========================================================
   PPP LOGIN PAGE (STRICTLY SCOPED TO .ppp-login-page)
   - Uses .ppp-login-page-btn (NOT .ppp-btn)
   - Fixes remember/forgot row per Figma
   - Centers login button in left column
   ========================================================= */

.ppp-login-page{
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ---------------------------
   Visibility (Desktop vs Tablet/Mobile)
   --------------------------- */
.ppp-login-page .ppp-login-desktop{ display:flex; }
.ppp-login-page .ppp-login-mobile{ display:none; }

@media (max-width: 1024px){
  .ppp-login-page .ppp-login-desktop{ display:none !important; }
  .ppp-login-page .ppp-login-mobile{ display:block !important; }
}

/* ---------------------------
   Desktop layout (Figma sizing)
   --------------------------- */
@media (min-width: 1025px){

  .ppp-login-page .ppp-login-desktop{
    display:flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  .ppp-login-page .ppp-login-left{
    width: 693px !important;
    flex: 0 0 693px !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding: 60px 30px;
    box-sizing: border-box;
  }

  .ppp-login-page .ppp-login-right{
    width: 733px !important;
    height: 771px !important;
    flex: 0 0 733px !important;
    padding: 0 !important;
    box-sizing: border-box;

    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    display:flex;
    align-items:center;
    justify-content:center;
  }

  .ppp-login-page .ppp-signup-card{
    width: 481px !important;
    height: 566px !important;
    max-width: none !important;
    padding: 48px 52px;
    box-sizing: border-box;

    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,0.18);

    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }

  .ppp-login-page .ppp-login-page-btn-signup{
    margin-top: auto !important;
  }
}

/* ---------------------------
   Tablet/Mobile layout (stacked)
   --------------------------- */
@media (max-width: 1024px){

  .ppp-login-page .ppp-login-mobile-form{
    padding: 28px 18px 12px 18px;
    text-align:center;
  }

  .ppp-login-page .ppp-login-mobile-signup-bg{
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    padding:38px 18px;
  }

  .ppp-login-page .ppp-signup-card{
    width:100%;
    max-width:520px;
    margin: 0 auto;
    padding:34px 26px;
    box-sizing: border-box;

    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,0.18);

    display:flex;
    flex-direction:column;
  }
}

/* ---------------------------
   Typography (desktop Figma)
   --------------------------- */
@media (min-width: 1025px){

  .ppp-login-page .ppp-login-title,
  .ppp-login-page .ppp-signup-title{
    font-weight: 420;
    font-size: 33.82px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    margin: 0 0 22px 0;
  }

  .ppp-login-page .ppp-login-title{
    margin: 0 0 30px 0;
  }

  .ppp-login-page .ppp-signup-bullets,
  .ppp-login-page .ppp-signup-bullets li{
    font-weight: 390;
    font-size: 19.73px;
    line-height: 28px;
    letter-spacing: 0;
    color: #666;
  }

  .ppp-login-page .ppp-signup-bullets{
    margin: 0 0 28px 0;
    padding-left: 22px;
  }

  .ppp-login-page .ppp-signup-bullets li{
    margin: 0 0 18px 0;
  }

  .ppp-login-page label,
  .ppp-login-page input[type="text"],
  .ppp-login-page input[type="email"],
  .ppp-login-page input[type="password"]{
    font-weight: 390;
    font-size: 20.34px;
    line-height: 1;
    letter-spacing: 0;
  }
}

/* ---------------------------
   Inputs
   --------------------------- */
@media (min-width: 1025px){
  .ppp-login-page input[type="text"],
  .ppp-login-page input[type="email"],
  .ppp-login-page input[type="password"]{
    width: 450px !important;
    max-width: 450px !important;
    height: 71.18643951416016px !important;

    border-style: solid !important;
    border-color: #d9d9d9 !important;
    border-width: 1.27px !important;
    border-radius: 0 !important;

    box-sizing: border-box !important;
    box-shadow: none !important;
    background: #fff !important;

    padding: 0 14px !important;
  }
}

@media (max-width: 1024px){
  .ppp-login-page input[type="text"],
  .ppp-login-page input[type="email"],
  .ppp-login-page input[type="password"]{
    width: 100% !important;
    max-width: 520px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 0 !important;
    padding: 14px 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }
}

/* ---------------------------
   Remember / Forgot row (Figma)
   - Remember left, Forgot right
   - Same style; forgot underlined
   - Also changes link text to "Forgot your password"
   --------------------------- */

/* Convert the WLM row into a flex row */
.ppp-login-page .wlm3-form-group-remember,
.ppp-login-page .rememberme,
.ppp-login-page p.forgetmenot{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 450px !important;         /* match inputs on desktop */
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure remember block stays left */
.ppp-login-page .wlm3-form-group-remember label,
.ppp-login-page p.forgetmenot label{
  margin: 0 !important;
}

/* Right-align the "forgot" link */
.ppp-login-page .wlm3-form-group-remember a,
.ppp-login-page a.lost-password,
.ppp-login-page a.lostpassword,
.ppp-login-page a[href*="lostpassword"],
.ppp-login-page a[href*="lost-password"]{
  margin-left: auto !important;
  text-decoration: underline !important;
}

/* Match "remember me" style */
.ppp-login-page .wlm3-form-group-remember,
.ppp-login-page .wlm3-form-group-remember * ,
.ppp-login-page p.forgetmenot,
.ppp-login-page p.forgetmenot *{
  font-weight: 390 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #666 !important;
}

/* Force link label text to "Forgot your password" */
.ppp-login-page a[href*="lostpassword"]{
  font-size: 14px !important;
}

/* If WLM outputs "Lost your password?" as link text, replace visually */
.ppp-login-page a[href*="lostpassword"]{
  position: relative;
  font-size: 0 !important; /* hide original text visually */
}
.ppp-login-page a[href*="lostpassword"]::after{
  content: "Forgot your password";
  font-size: 14px;
  font-weight: 390;
  color: #666;
  text-decoration: underline;
}

/* ---------------------------
   Buttons (ONLY for login page)
   - Centers login submit
   - Square corners
   --------------------------- */

/* Base for both signup anchor + WLM submit */
.ppp-login-page .ppp-login-page-btn,
.ppp-login-page input[type="submit"],
.ppp-login-page button[type="submit"],
.ppp-login-page .wlm3-btn,
.ppp-login-page #wp-submit{
  background: rgba(15, 56, 85, 1) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  margin-left: auto !important;
  margin-right: auto !important;
}

/* Anchor signup button */
.ppp-login-page .ppp-login-page-btn{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

/* Desktop buttons (slightly smaller than your earlier Figma size) */
@media (min-width: 1025px){

  .ppp-login-page .ppp-login-page-btn,
  .ppp-login-page input[type="submit"],
  .ppp-login-page button[type="submit"],
  .ppp-login-page .wlm3-btn,
  .ppp-login-page #wp-submit{
    width: 240px !important;
    height: 72px !important;

    font-weight: 450 !important;
    font-size: 26px !important;
    letter-spacing: 0 !important;
    text-align: center !important;

    cursor: pointer !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  /* Center submit text vertically */
  .ppp-login-page input[type="submit"],
  .ppp-login-page #wp-submit,
  .ppp-login-page .wlm3-btn{
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 72px !important;
    display: inline-block !important;
  }

  /* Anchor centers via flex */
  .ppp-login-page .ppp-login-page-btn{
    line-height: 1 !important;
  }

  /* Center login button wrapper */
  .ppp-login-page p.submit{
    text-align: center !important;
    margin: 18px 0 0 0 !important;
  }
}

/* Mobile/Tablet buttons */
@media (max-width: 1024px){
  .ppp-login-page .ppp-login-page-btn,
  .ppp-login-page input[type="submit"],
  .ppp-login-page button[type="submit"],
  .ppp-login-page .wlm3-btn,
  .ppp-login-page #wp-submit{
    width: 240px !important;
    height: 64px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .ppp-login-page input[type="submit"],
  .ppp-login-page #wp-submit,
  .ppp-login-page .wlm3-btn{
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 64px !important;
  }
}

/* Hover */
.ppp-login-page .ppp-login-page-btn:hover,
.ppp-login-page input[type="submit"]:hover,
.ppp-login-page button[type="submit"]:hover,
.ppp-login-page .wlm3-btn:hover,
.ppp-login-page #wp-submit:hover{
  background: #093147 !important;
}
