/* Judith Hobson production additions. The original Cloud home CSS remains in main.css. */

:root{
  --jh-light:#e6e6e6;
  --jh-surface:#f5f5f5;
  --jh-dark:#575757;
  --jh-darker:#333;
  --jh-text:#111827;
  --jh-radius:30px;
}

/* WordPress / Elementor isolation */
#jh-main{min-height:20vh}
#jh-main .elementor a{color:inherit}
#jh-main .elementor-button,
.jh-elementor-form .elementor-button{background:#575757!important;color:#fff!important;border-color:#575757!important}
#jh-main .elementor-field,
.jh-elementor-form .elementor-field{accent-color:#575757!important}
.jh-elementor-form .elementor-field:focus{border-color:#777!important;box-shadow:0 0 0 2px rgba(87,87,87,.12)!important}
.jh-elementor-form .elementor-message{font-family:var(--font-poppins)}

/* Inner-page header: same UI, normal document flow. */
.jh-header--inner{
  position:relative;
  top:0;
  background:#e6e6e6;
  min-height:94px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(0,0,0,.02);
}
.jh-header--inner .jh-header__nav{width:100%}
.jh-header--inner .jh-header__logo{width:86px;height:86px}
@media (min-width:1024px){
  .jh-header--inner{min-height:108px}
  .jh-header--inner .jh-header__logo{width:106px;height:106px}
}
@media (max-width:767px){
  .jh-header--inner{min-height:78px;padding:0 14px}
  .jh-header--inner .jh-header__logo{width:66px;height:66px}
  .jh-btn-admin{display:none}
}

/* Shared inner-page shell */
.jh-inner-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}
@media(max-width:767px){.jh-inner-shell{width:min(100% - 28px,1280px)}}
.jh-dark-button{display:inline-flex;align-items:center;justify-content:center;background:#050505;color:#fff!important;text-decoration:none;border-radius:6px;padding:10px 18px;font:600 15px/1 var(--font-poppins);transition:.2s ease}
.jh-dark-button:hover{background:#333;transform:translateY(-1px)}

/* About page */
.jh-inner-about{background:#e6e6e6;padding:66px 0 90px}
.jh-inner-about__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:70px;align-items:center}
.jh-inner-about__copy h1{font-family:var(--font-anton);font-size:clamp(52px,6vw,86px);line-height:.98;letter-spacing:.025em;margin:0 0 26px;color:#050505}
.jh-inner-about__text{font-size:15px;line-height:1.65;color:#1f2937;max-width:650px}
.jh-inner-about__text p{margin:0 0 24px}
.jh-inner-about__portrait{position:relative;min-height:570px;display:flex;align-items:center;justify-content:center}
.jh-inner-about__circle{position:absolute;width:min(520px,95%);aspect-ratio:1;border-radius:50%;background:#5a5a5a}
.jh-inner-about__portrait img{position:relative;z-index:1;width:min(520px,95%);height:570px;object-fit:contain;object-position:center bottom}
.jh-platforms{background:#fff;padding:72px 0 54px;overflow:hidden}
.jh-platforms h2{font-family:var(--font-anton);font-size:clamp(34px,4vw,58px);text-align:center;color:#929292;letter-spacing:.025em;margin:0 0 30px}
.jh-platforms__marquee{width:100%;overflow:hidden;padding:18px 0}
.jh-platforms__track{display:flex;align-items:center;gap:70px;width:max-content;will-change:transform}
.jh-platforms__logo{display:flex;align-items:center;justify-content:center;width:180px;height:72px;flex:none}
.jh-platforms__logo img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:900px){
  .jh-inner-about{padding:42px 0 60px}
  .jh-inner-about__grid{grid-template-columns:1fr;gap:32px}
  .jh-inner-about__copy{text-align:center}
  .jh-inner-about__text{margin-inline:auto;text-align:left}
  .jh-inner-about__portrait{min-height:430px;order:-1}
  .jh-inner-about__circle{width:min(390px,92%)}
  .jh-inner-about__portrait img{width:min(390px,92%);height:430px}
  .jh-platforms{padding:50px 0 34px}
  .jh-platforms__track{gap:36px}
  .jh-platforms__logo{width:130px;height:54px}
}

/* Contact page */
.jh-contact-page{background:#fff;padding:86px 0 120px;min-height:720px}
.jh-contact-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:52px;align-items:center}
.jh-contact-page__art{min-height:600px;display:flex;align-items:center;justify-content:flex-start;overflow:visible}
.jh-contact-page__art img{width:min(760px,125%);max-width:none;transform:translateX(-13%);filter:drop-shadow(0 24px 22px rgba(0,0,0,.08))}
.jh-contact-card{background:linear-gradient(135deg,#e9e9e9,#f8f8f8);padding:38px 34px;border-radius:17px;box-shadow:0 10px 36px rgba(0,0,0,.08)}
.jh-contact-card h1{font-family:var(--font-anton);font-size:clamp(48px,5vw,72px);line-height:1;margin:0 0 25px;letter-spacing:.025em}
.jh-form-success{background:#e8f7eb;color:#176b2c;padding:12px 14px;border-radius:8px;margin-bottom:16px;font-family:var(--font-poppins)}
.jh-native-form{display:grid;gap:18px;font-family:var(--font-poppins)}
.jh-native-form label{display:grid;gap:8px;font-size:14px;color:#333}
.jh-native-form input,.jh-native-form textarea{width:100%;border:1px solid #ddd;background:#fff;border-radius:7px;padding:14px 15px;font:400 15px/1.45 var(--font-poppins);color:#222;outline:none;transition:.2s ease}
.jh-native-form textarea{resize:vertical;min-height:150px}
.jh-native-form input:focus,.jh-native-form textarea:focus{border-color:#777;box-shadow:0 0 0 3px rgba(87,87,87,.1)}
.jh-native-form button{border:0;border-radius:7px;background:#575757;color:#fff;padding:14px 22px;font:600 16px/1 var(--font-poppins);transition:.2s ease}
.jh-native-form button:hover{background:#333}
@media(max-width:900px){
  .jh-contact-page{padding:45px 0 70px}
  .jh-contact-page__grid{grid-template-columns:1fr;gap:10px}
  .jh-contact-page__art{min-height:auto;justify-content:center}
  .jh-contact-page__art img{width:min(680px,120%);transform:none}
  .jh-contact-card{width:min(100%,650px);margin-inline:auto}
}
@media(max-width:560px){
  .jh-contact-page{padding-top:24px}
  .jh-contact-page__art img{width:125%;margin-left:-12%}
  .jh-contact-card{padding:27px 19px;border-radius:13px}
  .jh-contact-card h1{font-size:48px;text-align:center}
}

/* Footer native / Elementor form normalization */
.jh-footer .jh-native-form--compact{display:block}
.jh-footer .jh-native-form--compact textarea,
.jh-footer .elementor-field-textual{width:100%;border:0!important;border-radius:10px!important;background:#d9d9d9!important;padding:14px!important;font:400 13px/1.45 var(--font-poppins)!important;color:#333!important;min-height:95px}
.jh-footer .jh-native-form--compact button,
.jh-footer .elementor-button{width:100%;margin-top:13px;border:0;border-radius:10px!important;background:#333!important;padding:12px 20px!important;font:700 12px/1 var(--font-poppins)!important;text-transform:uppercase;letter-spacing:.04em;color:#fff!important}
.jh-footer .elementor-field-group{margin-bottom:10px!important}
.jh-footer .elementor-form-fields-wrapper{display:block!important}

/* Blog */
.jh-blog-hero{background-color:#cfcfcf;background-size:cover;background-position:center;padding:72px 0 92px;text-align:center;color:#fff}
.jh-blog-hero h1{font-family:var(--font-anton);font-size:clamp(58px,7vw,96px);letter-spacing:.04em;margin:0 0 7px;text-shadow:0 2px 8px rgba(0,0,0,.1)}
.jh-blog-hero p{margin:0;font:400 clamp(16px,2vw,24px)/1.4 var(--font-poppins)}
.jh-blog-index{padding:92px 0 130px;background:#fff;min-height:560px}
.jh-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.jh-blog-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 9px 28px rgba(0,0,0,.12);border:1px solid #eee}
.jh-blog-card__image{display:block;aspect-ratio:1.8;overflow:hidden;background:#ddd}
.jh-blog-card__image img{width:100%;height:100%;object-fit:cover}
.jh-blog-card__body{padding:20px 20px 24px}
.jh-blog-card__meta{display:flex;justify-content:space-between;gap:15px;color:#667085;font:400 13px/1.4 var(--font-poppins)}
.jh-blog-card h2{font-family:var(--font-anton);font-size:28px;letter-spacing:.02em;margin:16px 0 8px}
.jh-blog-card h2 a{text-decoration:none}
.jh-blog-card p{font:400 14px/1.55 var(--font-poppins);color:#344054;margin:0 0 14px}
.jh-blog-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
.jh-blog-card__tags a{background:#eef0f3;color:#667085;text-decoration:none;border-radius:999px;padding:4px 8px;font:400 11px/1.2 var(--font-poppins)}
.jh-single-post-hero{background:#e6e6e6;text-align:center;padding:66px 0 80px}
.jh-single-post-hero h1{font-family:var(--font-anton);font-size:clamp(46px,6vw,78px);line-height:1.05;letter-spacing:.025em;margin:0 0 18px}
.jh-single-post-hero__meta{display:flex;justify-content:center;gap:32px;color:#667085;font:400 14px/1.4 var(--font-poppins)}
.jh-single-post-hero__tags{display:flex;justify-content:center;gap:8px;margin-top:20px}
.jh-single-post-hero__tags a{background:#e0e2e5;border-radius:999px;padding:5px 10px;color:#586174;text-decoration:none;font:400 12px/1.2 var(--font-poppins)}
.jh-single-post{padding:72px 0 115px;background:#fff}
.jh-single-post__image{display:flex;justify-content:center;margin-bottom:45px}
.jh-single-post__image img{width:auto;max-width:min(760px,100%);max-height:950px;object-fit:contain;border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.jh-single-post__content{font:400 16px/1.75 var(--font-poppins);color:#253047}
.jh-single-post__content>*{max-width:100%}
.jh-back-button{margin-top:40px}
@media(max-width:900px){.jh-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .jh-blog-hero{padding:52px 0 66px}
  .jh-blog-index{padding:55px 0 80px}
  .jh-blog-grid{grid-template-columns:1fr}
  .jh-single-post-hero{padding:48px 0 58px}
  .jh-single-post-hero__meta{gap:12px;flex-wrap:wrap}
  .jh-single-post{padding:48px 0 78px}
}

/* Product page */
.jh-product-main{background:#f7f7f7;padding:60px 0 90px;position:relative}
.jh-product-main__grid{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr);gap:90px;align-items:center;position:relative}
.jh-product-main__visual{min-height:590px;position:relative;display:flex;align-items:center;justify-content:center}
.jh-product-main__circle{position:absolute;width:450px;height:450px;border-radius:50%;background:#575757;left:3%;bottom:4%}
.jh-product-main__visual>img{position:relative;z-index:1;width:auto;max-width:420px;max-height:560px;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(0,0,0,.18))}
.jh-product-main__content{padding-right:55px}
.jh-product-main__content h1{font-family:var(--font-anton);font-size:clamp(55px,6vw,88px);line-height:.98;letter-spacing:.025em;text-transform:uppercase;color:#4f4f4f;margin:0 0 10px;max-width:720px}
.jh-product-author{font:500 20px/1.35 var(--font-poppins);color:#667085;margin:0 0 24px}
.jh-product-summary{font:400 16px/1.55 var(--font-poppins);color:#4b5563;max-width:620px}
.jh-product-summary p{margin:0 0 15px}
.jh-product-purchase{margin-top:26px;max-width:630px}
.jh-product-purchase .price{font:700 22px/1.2 var(--font-barlow);color:#333}
.jh-product-purchase .variations{width:100%;border:0;margin:0 0 15px}
.jh-product-purchase .variations th,.jh-product-purchase .variations td{display:block;padding:0;text-align:left;background:none;border:0}
.jh-product-purchase .variations label{font:700 17px/1.4 Georgia,serif;color:#575757;display:block;margin-bottom:10px}
.jh-product-purchase .variations select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.jh-variation-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}
.jh-variation-pill{border:1px solid #aab0ba;background:#fff;border-radius:999px;padding:9px 15px;color:#374151;font:500 13px/1 var(--font-poppins)}
.jh-variation-pill.is-active{background:#575757;color:#fff;border-color:#575757}
.jh-product-purchase .reset_variations{font:500 12px/1 var(--font-poppins);color:#777;margin:6px 0 12px;display:inline-block}
.jh-product-purchase .single_variation_wrap{margin-top:10px}
.jh-product-purchase .woocommerce-variation-description{font:400 13px/1.5 var(--font-poppins);color:#667085}
.jh-product-purchase .woocommerce-variation-price{margin:8px 0 14px}
.jh-product-purchase form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.jh-product-purchase form.variations_form{display:block}
.jh-product-purchase .woocommerce-variation-add-to-cart{display:flex!important;gap:12px;align-items:center;flex-wrap:wrap}
.jh-product-purchase .quantity .qty{height:48px;width:72px;border:1px solid #d0d5dd;border-radius:999px;text-align:center;font:600 15px var(--font-poppins)}
.jh-product-purchase .single_add_to_cart_button{flex:1;min-width:220px;border:0!important;border-radius:999px!important;background:#575757!important;color:#fff!important;padding:15px 28px!important;font:600 15px/1 var(--font-poppins)!important;opacity:1!important}
.jh-product-purchase .single_add_to_cart_button:hover{background:#333!important}
.jh-book-selector{position:absolute;right:-105px;top:0;width:88px;background:#fff;border:1px solid #b8b8b8;border-radius:5px;padding:10px 9px;box-shadow:0 6px 17px rgba(0,0,0,.08);font:600 11px/1.3 Georgia,serif}
.jh-book-selector strong{display:block;margin-bottom:8px}
.jh-book-selector a{display:block;border:2px solid transparent;border-radius:5px;padding:3px;margin-top:7px}
.jh-book-selector a.is-active{border-color:#575757}
.jh-book-selector img{width:100%;aspect-ratio:.72;object-fit:cover;border-radius:3px}

.jh-product-about{background-color:#d5d5d5;background-size:cover;background-position:center;padding:68px 0 88px;position:relative;overflow:hidden;min-height:470px}
.jh-product-about .jh-inner-shell{position:relative;min-height:320px}
.jh-product-about__copy{position:relative;z-index:2;text-align:center;max-width:760px;margin-inline:auto}
.jh-product-about__copy h2{font-family:var(--font-anton);font-size:clamp(55px,6vw,88px);line-height:1;color:#fff;letter-spacing:.03em;margin:0 0 22px;text-shadow:0 3px 10px rgba(0,0,0,.08)}
.jh-product-about__copy p{font:400 17px/1.6 var(--font-poppins);color:#566074;margin:0}
.jh-product-about__book{position:absolute;right:-170px;top:-80px;width:580px;height:580px;object-fit:contain;transform:rotate(5deg);filter:drop-shadow(0 20px 18px rgba(0,0,0,.16))}
.jh-product-hands{height:400px;background:#fff;position:relative;overflow:visible}
.jh-product-hands__left,.jh-product-hands__right{position:absolute;object-fit:contain;z-index:3;pointer-events:none}
.jh-product-hands__left{width:700px;height:780px;left:-90px;top:-270px}
.jh-product-hands__right{width:780px;height:780px;right:-70px;top:-245px}
.jh-key-things{background:#fff;padding:25px 0 90px}
.jh-key-things__panel{width:min(920px,calc(100% - 42px));min-height:420px;margin-inline:auto;border-radius:20px;background:#cfcfcf;display:grid;grid-template-columns:1fr .9fr;gap:35px;padding:65px 58px;box-shadow:0 12px 33px rgba(0,0,0,.12);overflow:hidden}
.jh-key-things__copy h2{font-family:var(--font-anton);font-size:58px;color:#fff;letter-spacing:.03em;margin:0 0 24px}
.jh-key-things__copy ul{padding-left:20px;margin:0;color:#f3f3f3;font:400 15px/1.65 var(--font-poppins)}
.jh-key-things__copy li{margin-bottom:17px}
.jh-key-things__image{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);border-radius:14px;padding:15px}
.jh-key-things__image img{width:100%;height:100%;max-height:330px;object-fit:contain;opacity:.75}
@media(max-width:1180px){.jh-book-selector{right:10px;top:10px}.jh-product-main__content{padding-right:90px}}
@media(max-width:900px){
  .jh-product-main{padding:35px 0 65px}
  .jh-product-main__grid{grid-template-columns:1fr;gap:28px}
  .jh-product-main__visual{min-height:450px}
  .jh-product-main__circle{width:350px;height:350px;left:50%;transform:translateX(-50%)}
  .jh-product-main__visual>img{max-width:330px;max-height:430px}
  .jh-product-main__content{padding:0;text-align:center}
  .jh-product-summary{margin-inline:auto;text-align:left}
  .jh-product-purchase{margin-inline:auto;text-align:left}
  .jh-book-selector{position:static;grid-column:1;display:flex;align-items:center;gap:8px;width:auto;overflow:auto;margin-top:2px}
  .jh-book-selector strong{white-space:nowrap;margin:0 6px 0 0}
  .jh-book-selector a{width:58px;flex:none;margin:0}
  .jh-product-about__book{opacity:.24;right:-120px}
  .jh-product-hands{height:300px;overflow:hidden}
  .jh-product-hands__left{width:520px;height:560px;left:-150px;top:-160px}
  .jh-product-hands__right{width:560px;height:560px;right:-180px;top:-145px}
  .jh-key-things__panel{grid-template-columns:1fr;padding:45px 34px}
}
@media(max-width:560px){
  .jh-product-main__visual{min-height:370px}
  .jh-product-main__circle{width:290px;height:290px}
  .jh-product-main__visual>img{max-width:270px;max-height:350px}
  .jh-product-main__content h1{font-size:48px}
  .jh-product-author{font-size:16px}
  .jh-product-summary{font-size:14px}
  .jh-variation-pills{gap:6px}
  .jh-variation-pill{font-size:11px;padding:8px 10px}
  .jh-product-purchase .single_add_to_cart_button{min-width:170px}
  .jh-product-about{padding:55px 0 65px;min-height:390px}
  .jh-product-about__copy p{font-size:14px}
  .jh-product-about__book{width:400px;height:400px;right:-170px;top:-40px}
  .jh-product-hands{height:245px}
  .jh-product-hands__left{width:390px;height:420px;left:-145px;top:-105px}
  .jh-product-hands__right{width:410px;height:410px;right:-170px;top:-95px}
  .jh-key-things{padding-top:0}
  .jh-key-things__panel{width:calc(100% - 24px);padding:36px 22px}
  .jh-key-things__copy h2{font-size:47px}
}

/* Cart drawer */
.jh-cart-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:79;opacity:0;visibility:hidden;transition:.25s ease}
.jh-cart-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(430px,92vw);background:#fff;z-index:80;transform:translateX(102%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-18px 0 45px rgba(0,0,0,.18);display:flex;flex-direction:column}
body.jh-cart-open{overflow:hidden}
body.jh-cart-open .jh-cart-drawer-overlay{opacity:1;visibility:visible}
body.jh-cart-open .jh-cart-drawer{transform:translateX(0)}
.jh-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:25px 24px;border-bottom:1px solid #ececec}
.jh-cart-drawer__head h2{font-family:var(--font-anton);font-size:36px;letter-spacing:.025em;margin:0}
.jh-cart-drawer__head button{border:0;background:transparent;font-size:36px;line-height:1;color:#333}
.jh-cart-drawer__content{padding:20px 24px;overflow:auto;flex:1;font-family:var(--font-poppins)}
.jh-cart-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.jh-cart-drawer .woocommerce-mini-cart-item{position:relative;display:grid;grid-template-columns:74px 1fr;gap:14px;padding:0 25px 18px 0;margin:0 0 18px;border-bottom:1px solid #eee}
.jh-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){font-size:14px;font-weight:600;text-decoration:none}
.jh-cart-drawer .woocommerce-mini-cart-item img{float:none;width:74px;height:96px;object-fit:cover;margin:0;grid-row:1/3}
.jh-cart-drawer .woocommerce-mini-cart-item .remove{position:absolute;right:0;top:0;color:#777!important;font-size:22px;text-decoration:none}
.jh-cart-drawer .quantity{font-size:13px;color:#667085}
.jh-cart-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding-top:12px;font-size:16px}
.jh-cart-drawer .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jh-cart-drawer .button{display:flex;justify-content:center;background:#575757!important;color:#fff!important;border-radius:999px!important;padding:12px!important;text-decoration:none!important;font-size:13px!important}
.jh-cart-drawer .checkout{background:#222!important}

/* WooCommerce cart, checkout and account — classic shortcodes */
.jh-commerce-page{background:#f5f5f5;padding:55px 0 100px;min-height:650px}
.jh-commerce-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.jh-commerce-shell>h1{font-family:var(--font-anton);font-size:clamp(48px,6vw,76px);letter-spacing:.025em;margin:0 0 30px;text-align:center}
.jh-commerce-page .woocommerce{font-family:var(--font-poppins);color:#344054}
.jh-commerce-page .woocommerce-notices-wrapper>*{border-top-color:#575757!important;background:#fff;border-radius:9px}
.jh-commerce-page table.shop_table{border:0!important;border-radius:16px!important;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.07);overflow:hidden;border-collapse:separate!important}
.jh-commerce-page table.shop_table th{background:#ececec;padding:16px!important;color:#222}
.jh-commerce-page table.shop_table td{padding:17px!important;border-color:#ececec!important}
.jh-commerce-page table.shop_table img{width:75px!important;height:96px!important;object-fit:cover}
.jh-commerce-page .quantity .qty{height:44px;border:1px solid #d0d5dd;border-radius:999px}
.jh-commerce-page .button,.jh-commerce-page button.button,.jh-commerce-page a.button{background:#575757!important;color:#fff!important;border-radius:999px!important;padding:13px 22px!important;font-weight:600!important}
.jh-commerce-page .button:hover{background:#333!important}
.jh-commerce-page .coupon{display:flex!important;gap:8px}
.jh-commerce-page .coupon input{width:170px!important;border:1px solid #d0d5dd!important;border-radius:999px!important;padding:11px 15px!important}
.jh-commerce-page .cart-collaterals .cart_totals,.jh-commerce-page .woocommerce-checkout-review-order,.jh-commerce-page .woocommerce-billing-fields,.jh-commerce-page .woocommerce-additional-fields,.jh-commerce-page .woocommerce-form-login,.jh-commerce-page .woocommerce-form-coupon{background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(0,0,0,.07)}
.jh-commerce-page .cart_totals h2,.jh-commerce-page .woocommerce-billing-fields h3,.jh-commerce-page #order_review_heading{font-family:var(--font-anton);font-size:36px;letter-spacing:.02em}
.jh-commerce-page form .form-row input.input-text,.jh-commerce-page form .form-row textarea,.jh-commerce-page .select2-container--default .select2-selection--single{border:1px solid #d0d5dd!important;border-radius:8px!important;background:#fff!important;padding:12px 13px!important;min-height:48px;font-family:var(--font-poppins)}
.jh-commerce-page .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:22px;padding:0}
.jh-commerce-page #payment{background:#e9e9e9!important;border-radius:15px!important}
.jh-commerce-page #payment div.payment_box{background:#fff!important}
.jh-commerce-page #payment div.payment_box:before{border-bottom-color:#fff!important}
.jh-commerce-page .woocommerce-checkout{display:grid;grid-template-columns:1.12fr .88fr;gap:30px;align-items:start}
.jh-commerce-page .woocommerce-checkout>#customer_details{grid-column:1}
.jh-commerce-page .woocommerce-checkout>#order_review_heading,.jh-commerce-page .woocommerce-checkout>#order_review{grid-column:2}
.jh-commerce-page .woocommerce-checkout>#order_review_heading{margin:0;background:#fff;padding:23px 24px 0;border-radius:16px 16px 0 0}
.jh-commerce-page .woocommerce-checkout>#order_review{margin-top:-30px;padding-top:72px}
@media(max-width:850px){
  .jh-commerce-page .woocommerce-checkout{display:block}
  .jh-commerce-page .woocommerce-checkout>#order_review_heading{margin-top:28px}
  .jh-commerce-page .woocommerce-checkout>#order_review{margin-top:-30px}
}
@media(max-width:600px){
  .jh-commerce-page{padding:35px 0 70px}
  .jh-commerce-shell{width:calc(100% - 22px)}
  .jh-commerce-page table.shop_table_responsive tr{background:#fff;margin-bottom:14px;border-radius:12px;padding:8px;box-shadow:0 5px 18px rgba(0,0,0,.06)}
  .jh-commerce-page table.shop_table_responsive tr td{padding:12px!important}
  .jh-commerce-page .coupon{display:grid!important}
  .jh-commerce-page .coupon input{width:100%!important}
}

/* Shop/archive fallback */
.jh-commerce-page .products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:30px 0!important}
.jh-commerce-page .products:before,.jh-commerce-page .products:after{display:none!important}
.jh-commerce-page .products .product{width:auto!important;margin:0!important;background:#fff;border-radius:14px;padding:20px;text-align:center;box-shadow:0 7px 22px rgba(0,0,0,.08)}
.jh-commerce-page .products .product img{height:340px!important;object-fit:contain;margin-bottom:16px!important}
.jh-commerce-page .woocommerce-loop-product__title{font-family:var(--font-anton)!important;font-size:28px!important;color:#222}
@media(max-width:850px){.jh-commerce-page .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.jh-commerce-page .products{grid-template-columns:1fr}}

/* Generic fallback page */
.jh-system-page{padding:80px 0 120px;background:#f5f5f5;text-align:center;min-height:500px}
.jh-system-page h1{font-family:var(--font-anton);font-size:70px;margin:0 0 20px}

/* Performance: only animate transform/opacity, and stop decorative loops off mobile. */
.jh-hero__portrait img,.jh-about__image-wrap img,.jh-bookabout__image-box img,.jh-hands img{content-visibility:auto}
@media(max-width:767px){
  .animate-float,.animate-float-slow,.animate-float-fast,.animate-book-hinge-left,.animate-book-hinge-right{animation-duration:7s!important}
}
@media(prefers-reduced-motion:reduce){
  .jh-platforms__track{animation:none!important}
}

.jh-cart-count.is-empty{display:none!important}
.single-post .jh-header--inner,.blog .jh-header--inner,.single-product .jh-header--inner,.post-type-archive-product .jh-header--inner,.page-template-page-books .jh-header--inner{background:#fff}

/* ========================================================================
   ALL BOOKS — approved exact child-theme product layout (v2.0.1)
   This block is intentionally isolated under .judy-books-page so the
   already-approved Home, header, footer, Blog, About and Contact remain
   untouched.
   ===================================================================== */
.judy-books-page{min-height:100vh;background:#fff;overflow-x:clip;font-family:var(--font-poppins)}
.judy-books-page .judy-shell{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.judy-book-panel{display:none}
.judy-book-panel.is-active{display:block}
.judy-book-selector{position:fixed;top:86px;right:16px;z-index:95;padding:13px 11px;background:#fff;border:1px solid #b9b9b9;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);font-family:Georgia,"Times New Roman",serif}
.judy-book-selector h3{margin:0 0 9px;color:#333;font-size:12px;line-height:1.2;white-space:nowrap}
.judy-book-selector>div{display:flex;flex-direction:column;gap:8px}
.judy-book-select{width:54px;height:67px;padding:2px;border:2px solid transparent;border-radius:5px;background:#f1f1f1;overflow:hidden;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.judy-book-select:hover{transform:translateY(-2px)}
.judy-book-select.is-active{border-color:#575757;box-shadow:0 7px 15px rgba(0,0,0,.16)}
.judy-book-select img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}

.judy-book-hero-section{padding:92px 0 82px;background:#f8f9fa}
.judy-book-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.judy-book-cover-stage{position:relative;height:520px;display:flex;align-items:center;justify-content:center;transform:translateX(42px)}
.judy-cover-circle{position:absolute;width:350px;height:350px;border-radius:50%;background:#575757;box-shadow:0 10px 20px rgba(0,0,0,.12);transform:translate(-130px,40px)}
.judy-main-book-cover{position:relative;z-index:1;width:270px;height:390px;object-fit:contain;transform:translate(-76px,-6px);filter:drop-shadow(0 18px 18px rgba(0,0,0,.22));animation:judyExactFloat 3s ease-in-out infinite}
.judy-main-book-cover--portrait{object-fit:contain}
.judy-book-details{font-family:var(--font-poppins);padding-right:45px}
.judy-book-details h1{font-family:var(--font-anton);font-weight:400;font-size:clamp(50px,5vw,78px);line-height:.98;letter-spacing:.025em;text-transform:uppercase;color:#4f4f4f;margin:0 0 12px;max-width:590px}
.judy-book-author{font-size:18px;font-weight:600;color:#666;margin:0 0 22px}
.judy-book-description{max-width:555px;color:#4f5969;font-size:15px;line-height:1.6;margin:0 0 25px}
.judy-book-description p{margin:0}
.judy-format-selector{max-width:565px}
.judy-format-selector h3{font:700 17px/1.4 Georgia,"Times New Roman",serif;color:#5b5b5b;margin:0 0 12px}
.judy-format-buttons{display:flex;flex-wrap:wrap;gap:8px}
.judy-format-button{appearance:none;padding:9px 14px;border:1.5px solid #cbd0d8;border-radius:999px;background:#fff;color:#374151;font:600 11px/1.15 var(--font-poppins);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.judy-format-button:hover{border-color:#575757;transform:translateY(-1px)}
.judy-format-button.is-active{border-color:#575757;background:#575757;color:#fff}
.judy-format-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px;padding:10px 8px}
.judy-format-summary strong{display:block;color:#253044;font-size:13px;line-height:1.4}
.judy-format-summary small{display:block;color:#4b5563;font-size:11px;line-height:1.45;margin-top:2px}
.judy-selected-price{font:400 24px/1 var(--font-anton);color:#575757;white-space:nowrap}
.judy-add-to-cart{width:100%;margin-top:7px;padding:13px 24px;border:0;border-radius:999px;background:#575757;color:#fff;font:600 14px/1 var(--font-poppins);cursor:pointer;transition:background .2s,transform .2s}
.judy-add-to-cart:hover{background:#3f3f3f;transform:translateY(-1px)}
.judy-add-to-cart:disabled{opacity:.55;cursor:not-allowed;transform:none}
.judy-cart-message{min-height:18px;margin-top:7px;font-size:12px;color:#166534}
.judy-cart-message.is-error{color:#b91c1c}

.judy-about-book-section{position:relative;min-height:430px;padding:66px 0 80px;background:#dcdcdc url('../images/about-book.svg') center/cover no-repeat;overflow:hidden}
.judy-about-book-section .judy-shell{position:relative;min-height:300px}
.judy-about-book-copy{position:relative;z-index:2;text-align:center;max-width:750px;margin:0 auto}
.judy-about-book-copy h2{font-family:var(--font-anton);font-weight:400;font-size:clamp(52px,5.5vw,76px);line-height:1;color:#fff;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 3px 3px rgba(0,0,0,.12);margin:0 0 20px}
.judy-about-book-copy p{margin:0 auto;font-size:16px;line-height:1.62;color:#4b5563;max-width:680px}
.judy-about-book-art{position:absolute;top:-65px;right:-160px;width:520px;height:520px;z-index:1}
.judy-about-book-art img{width:100%;height:100%;object-fit:contain;transform:rotate(6deg);filter:drop-shadow(0 20px 18px rgba(0,0,0,.15));animation:judyExactFloat 3s ease-in-out infinite}

.judy-hands-stage{position:relative;height:360px;background:#fff;overflow:visible}
.judy-left-hand,.judy-right-hand{position:absolute;z-index:2;pointer-events:none}
.judy-left-hand img,.judy-right-hand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 17px rgba(0,0,0,.12))}
.judy-left-hand img{animation:judyExactHingeLeft 4s ease-in-out infinite;transform-origin:left center}
.judy-right-hand img{animation:judyExactHingeRight 4s ease-in-out infinite;transform-origin:right center}
.judy-hands-stage--1 .judy-left-hand,.judy-hands-stage--2 .judy-left-hand,.judy-hands-stage--3 .judy-left-hand,.judy-hands-stage--4 .judy-left-hand{left:-18px;bottom:-205px;width:650px;height:800px}
.judy-hands-stage--1 .judy-right-hand,.judy-hands-stage--2 .judy-right-hand,.judy-hands-stage--3 .judy-right-hand,.judy-hands-stage--4 .judy-right-hand{right:-20px;bottom:-180px;width:720px;height:730px}

.judy-key-things-section{padding:64px 0 38px;background:#fff;overflow:hidden}
.judy-key-card{position:relative;z-index:10;display:grid;grid-template-columns:1fr .95fr;gap:55px;align-items:center;min-height:410px;padding:58px;border-radius:22px;background:#c8c8c8;box-shadow:0 18px 45px rgba(0,0,0,.18);overflow:hidden}
.judy-key-copy h2{font-family:var(--font-anton);font-weight:400;font-size:clamp(50px,5vw,66px);line-height:1;color:#fff;letter-spacing:.03em;margin:0 0 28px}
.judy-key-copy ul{list-style:none;margin:0;padding:0}
.judy-key-copy li{display:flex;align-items:flex-start;gap:14px;margin-bottom:17px}
.judy-key-copy li>span{flex:0 0 5px;width:5px;height:5px;margin-top:10px;border-radius:50%;background:#f0f0f0}
.judy-key-copy p{margin:0;color:#f3f3f3;font-size:14px;line-height:1.65}
.judy-key-image{display:flex;align-items:center;justify-content:center}
.judy-book-stack{position:relative;width:100%;max-width:430px;height:330px;padding:24px;background:rgba(255,255,255,.15);border-radius:14px}
.judy-book-stack img{position:absolute;inset:22px;width:calc(100% - 44px);height:calc(100% - 44px);object-fit:contain;transform-origin:center left;transform:translateX(calc(var(--stack-index) * 23px)) scale(calc(.76 + var(--stack-index) * .08));z-index:var(--stack-index);animation:judyExactFloat 3s ease-in-out infinite}

.judy-animate{opacity:0;transition:opacity .75s ease-out,transform .75s ease-out}
.judy-from-left{transform:translateX(-70px)}
.judy-from-right{transform:translateX(70px)}
.judy-from-up{transform:translateY(38px)}
.judy-animate.is-visible{opacity:1;transform:translate(0,0)}
@keyframes judyExactFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes judyExactHingeLeft{0%,100%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(2deg) translateY(-10px)}}
@keyframes judyExactHingeRight{0%,100%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-10px)}}

@media(max-width:1180px){
  .judy-book-selector{right:8px}
  .judy-book-details{padding-right:70px}
  .judy-book-cover-stage{transform:translateX(20px)}
  .judy-about-book-art{right:-210px;opacity:.72}
}
@media(max-width:900px){
  .judy-books-page .judy-shell{width:min(760px,calc(100% - 40px))}
  .judy-book-selector{top:100px;right:8px;padding:8px}
  .judy-book-selector h3{display:none}
  .judy-book-selector>div{gap:6px}
  .judy-book-select{width:44px;height:57px}
  .judy-book-hero-section{padding:112px 0 72px}
  .judy-book-hero-grid{grid-template-columns:1fr;gap:18px}
  .judy-book-cover-stage{height:430px;transform:none}
  .judy-cover-circle{width:310px;height:310px;transform:translate(-100px,35px)}
  .judy-main-book-cover{width:235px;height:345px;transform:translate(-55px,-3px)}
  .judy-book-details{padding:0 45px;text-align:center}
  .judy-book-details h1{margin-inline:auto}
  .judy-book-description,.judy-format-selector{margin-inline:auto}
  .judy-format-buttons{justify-content:center}
  .judy-about-book-art{right:-155px;width:430px;height:430px;opacity:.32}
  .judy-hands-stage{height:295px;overflow:hidden}
  .judy-hands-stage--1 .judy-left-hand,.judy-hands-stage--2 .judy-left-hand,.judy-hands-stage--3 .judy-left-hand,.judy-hands-stage--4 .judy-left-hand{left:-120px;bottom:-155px;width:500px;height:590px}
  .judy-hands-stage--1 .judy-right-hand,.judy-hands-stage--2 .judy-right-hand,.judy-hands-stage--3 .judy-right-hand,.judy-hands-stage--4 .judy-right-hand{right:-150px;bottom:-140px;width:540px;height:550px}
  .judy-key-card{grid-template-columns:1fr;padding:48px 38px}
  .judy-key-image{justify-content:center}
}
@media(max-width:600px){
  .judy-books-page .judy-shell{width:calc(100% - 28px)}
  .judy-book-selector{top:82px;right:5px}
  .judy-book-select{width:39px;height:51px}
  .judy-book-hero-section{padding:90px 0 55px}
  .judy-book-cover-stage{height:345px}
  .judy-cover-circle{width:245px;height:245px;transform:translate(-73px,26px)}
  .judy-main-book-cover{width:185px;height:275px;transform:translate(-42px,0)}
  .judy-book-details{padding:0 22px}
  .judy-book-details h1{font-size:42px}
  .judy-book-author{font-size:16px}
  .judy-book-description{font-size:14px;line-height:1.58}
  .judy-format-buttons{gap:6px}
  .judy-format-button{font-size:10px;padding:8px 10px}
  .judy-format-summary{align-items:flex-start;padding-inline:2px}
  .judy-selected-price{font-size:22px}
  .judy-about-book-section{min-height:380px;padding:52px 0 58px}
  .judy-about-book-copy h2{font-size:47px}
  .judy-about-book-copy p{font-size:13px;line-height:1.55;padding:0 10px}
  .judy-about-book-art{right:-170px;top:-15px;width:330px;height:330px;opacity:.22}
  .judy-hands-stage{height:235px}
  .judy-hands-stage--1 .judy-left-hand,.judy-hands-stage--2 .judy-left-hand,.judy-hands-stage--3 .judy-left-hand,.judy-hands-stage--4 .judy-left-hand{left:-93px;bottom:-110px;width:340px;height:420px}
  .judy-hands-stage--1 .judy-right-hand,.judy-hands-stage--2 .judy-right-hand,.judy-hands-stage--3 .judy-right-hand,.judy-hands-stage--4 .judy-right-hand{right:-110px;bottom:-102px;width:365px;height:380px}
  .judy-key-things-section{padding:42px 0 24px}
  .judy-key-card{padding:34px 22px;gap:25px;border-radius:18px}
  .judy-key-copy h2{font-size:46px}
  .judy-key-copy p{font-size:13px}
  .judy-book-stack{height:270px}
}
@media(prefers-reduced-motion:reduce){
  .judy-animate,.judy-main-book-cover,.judy-about-book-art img,.judy-left-hand img,.judy-right-hand img,.judy-book-stack img{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;translate:none!important}
}


/* ========================================================================
   v2.0.3 — narrowly scoped final fixes
   1) Desktop/laptop checkout alignment
   2) Remove the stray black line above the header logo
   3) Home carousel covers are intentionally non-clickable (markup change)
   No other page or component is altered.
   ===================================================================== */

/* The old off-screen skip link left a thin black edge at the top of the page.
   Keep it fully accessible, but hide it with a transform until keyboard focus. */
.skip-link{
  top:0!important;
  left:8px;
  transform:translateY(-160%);
  transition:transform .2s ease!important;
}
.skip-link:focus{
  top:0!important;
  transform:translateY(0);
}
.jh-header__logo,
.jh-header__logo:focus,
.jh-header__logo img{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Laptop checkout: customer information on the left, order summary aligned
   at the top on the right. The customer column spans both grid rows so the
   order card can no longer be pushed far down by the billing form height. */
@media (min-width:851px) and (max-width:1199px){
  .jh-commerce-page form.woocommerce-checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:26px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details{
    display:block!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    min-width:0;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-1,
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-2{
    float:none!important;
    width:100%!important;
    margin:0!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-2{
    margin-top:24px!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#order_review_heading{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    padding:23px 24px 10px!important;
    border-radius:16px 16px 0 0!important;
    box-shadow:0 8px 28px rgba(0,0,0,.07);
  }
  .jh-commerce-page form.woocommerce-checkout>#order_review{
    grid-column:2!important;
    grid-row:2!important;
    margin:0!important;
    padding-top:14px!important;
    border-radius:0 0 16px 16px!important;
    box-shadow:0 12px 28px rgba(0,0,0,.07);
  }
}

/* Wide desktop checkout: three clean columns, matching the intended visual
   hierarchy—Billing, Additional Information, and Your Order—all top aligned. */
@media (min-width:1200px){
  .jh-commerce-page form.woocommerce-checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(380px,1.22fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:28px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details{
    display:contents!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-1,
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-2{
    float:none!important;
    width:auto!important;
    min-width:0;
    margin:0!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-1{
    grid-column:1!important;
    grid-row:1 / span 2!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#customer_details>.col-2{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }
  .jh-commerce-page form.woocommerce-checkout>#order_review_heading{
    grid-column:3!important;
    grid-row:1!important;
    margin:0!important;
    padding:23px 24px 10px!important;
    border-radius:16px 16px 0 0!important;
    box-shadow:0 8px 28px rgba(0,0,0,.07);
  }
  .jh-commerce-page form.woocommerce-checkout>#order_review{
    grid-column:3!important;
    grid-row:2!important;
    margin:0!important;
    padding-top:14px!important;
    border-radius:0 0 16px 16px!important;
    box-shadow:0 12px 28px rgba(0,0,0,.07);
  }
}
