/* ==========================================================================
   IMELDA'S SHOES — Home page  (PSD → pixel-perfect build, ported to WordPress)
   Design baseline: 1440px desktop  |  content column: 1120px centered
   Fonts: Gill Sans family (body/headings), Swiss 721 BT (header/logo)
   Brand: purple #541096 / #510998 · lilac #faf2fc · accent #d8acf5
   ========================================================================== */

:root{
    --purple:#1f3b90;
    --purple2:#1f3b90;
    --lilac:#faf2fc;
    --lilac-accent:#ffffff;
    --gray:#e8e7e8;
    --dark:#33333b;
    --ink:#000;

    --gill:"Gill Sans","Gill Sans MT","Gill Sans Nova","Mulish",Calibri,"Trebuchet MS","Segoe UI",sans-serif;
    --swiss:"Swiss 721 BT","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:var(--gill);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}

.wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
.section{width:100%;}

/* ---------- HEADER ---------- */
.header{background:#fff;height:112px;display:flex;align-items:center;
  justify-content:space-between;padding:0 50px;position:sticky;top:0;z-index:50;
  box-shadow:0 1px 0 rgba(0,0,0,.06);}
.brand{display:flex;align-items:center;gap:14px;}
.brand img{width:130px;height:auto;}
.brand .name{font-family:var(--swiss);font-weight:700;font-size:48px;
  letter-spacing:.5px;color:var(--dark);text-transform:uppercase;
  font-stretch:condensed;}
.nav{display:flex;align-items:center;gap:34px;}
.nav a {
    font-family: var(--swiss);
    font-size: 22px;
    letter-spacing: 1px;
    color: var(--dark);
    text-transform: uppercase;

    display: inline-block;
    border-bottom: 3px solid transparent;
    padding-bottom: 5px;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease;
}

.nav a:hover {
    color: var(--dark);
    transform: translateY(-5px);
    border-bottom-color: #1f3b90;
}
.header-right{display:flex;align-items:center;gap:18px;}
.cart{width:42px;height:auto;}
.burger{display:none;font-size:30px;color:var(--dark);cursor:pointer;line-height:1;
  background:none;border:none;}

/* WordPress nav menu items reset (so wp_nav_menu <ul>/<li> match the flat <a> design) */
.nav ul{list-style:none;display:flex;align-items:center;gap:34px;margin:0;padding:0;}
.nav li{margin:0;padding:0;}

/* ---------- HERO ---------- */
.hero{position:relative;height:672px;background:url("../home/hero-bg.png") center/cover no-repeat #b99a4e;overflow:visible;z-index:1;}
.hero .flag{position:absolute;top:0;left:0;width:528px;max-width:40%;}
/* Hero copy block (H1 + subheading), left-aligned over the photo. */
.hero .hero-copy{position:absolute;left:max(calc((100% - 1120px)/2 + 107px),24px);top:92px;
  max-width:min(56%,640px);z-index:3;}
.hero .h1{margin:0;font-family:var(--gill);font-style:italic;font-weight:400;
  font-size:clamp(52px,6.2vw,88px);line-height:.98;
  color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.hero .hero-subheading{margin:.55em 0 0;font-family:var(--gill);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.5vw,36px);line-height:1.08;
  color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);}
/* Print moved up so it is fully visible on the home screen (PSD). */
.hero .girl{position:absolute;right:max(calc((100% - 1120px)/2 + 4px),18px);top:40px;
  width:370px;box-shadow:0 6px 24px rgba(0,0,0,.35);}
/* Sticker reduced ~10% (207→186) + moved up, attached to the print's bottom-right corner (PSD). */
.hero .hlogo{position:absolute;right:44px;bottom:30px;width:186px;z-index:5;}

/* ---------- generic ---------- */
.center-head{text-align:center;font-weight:700;}
.sec-pad{padding:70px 0;}

/* ---------- SECTION 1 ---------- */
.s1{background:var(--gray);}
.s1 .intro{font-size:36px;font-weight:700;text-align:center;line-height:1.28;
  color:#000;padding:56px 0 46px;}
.s1 .row{display:flex;gap:56px;align-items:flex-start;padding-bottom:70px;}
.s1 .row img{width:554px;flex:0 0 554px;}
.s1 .copy{font-size:22px;font-weight:700;line-height:1.32;color:#000;}
.s1 .copy .big{display:block;margin:14px 0;font-size:24px;}

/* ---------- SECTION 2 ---------- */
.s2{background:#fff;padding:60px 0 0;}
.quote{font-family:var(--gill);font-weight:800;font-style:italic;font-size:46px;
  line-height:1.22;text-align:center;color:#541096;max-width:960px;
  margin:0 auto 50px;-webkit-text-stroke:.4px currentColor;}
.photo-grid{display:grid;grid-template-columns:452px 315px 306px;gap:12px;
  justify-content:center;align-items:start;margin-bottom:46px;}
.photo-grid .tall{grid-row:span 2;position:relative;}
.photo-grid .cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);
  color:#fff;font-style:italic;font-size:24px;line-height:1.25;padding:12px 16px;text-align:center;}
.photo-grid .wide{grid-column:2 / span 2;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:10px 0 70px;}
.two-col h3{font-size:30px;font-weight:700;margin-bottom:12px;}
.two-col p{font-size:18px;line-height:1.5;}
.s2 .two-col h3,.s2 .two-col p{color:var(--dark);}

/* ---------- SECTION 3 (dark) ---------- */
.s3{background:var(--dark);color:#fff;padding:64px 0 70px;}
.s3 .intro{font-size:36px;font-weight:700;text-align:center;line-height:1.3;
  color:#fff;margin-bottom:40px;}
.s3 .grid{display:grid;grid-template-columns:456px 321px 304px;gap:12px;
  justify-content:center;align-items:start;margin-bottom:40px;}
.s3 .artist{grid-row:span 2;position:relative;}
.s3 .artist .logo{position:absolute;top:0;left:20px;width:190px;}
.s3 .cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);
  color:#fff;font-style:italic;font-size:18px;line-height:1.25;padding:10px 14px;text-align:center;}
.s3 .imelda-ag{grid-column:2 / span 2;position:relative;}
.s3 .two-col h3,.s3 .two-col p{color:#fff;}

/* ---------- SECTION 4 (purple) ---------- */
.s4{background:var(--purple);color:#fff;padding:60px 0 40px;text-align:center;}
.s4 .head{font-weight:800;font-style:italic;font-size:36px;line-height:1.3;
  max-width:900px;margin:0 auto 44px;}
.s4 .shoes{display:flex;justify-content:center;gap:80px;flex-wrap:wrap;}
.s4 .shoes figure{width:466px;max-width:100%;}
.s4 .shoes img{width:100%;background:#fff;}
.s4 .shoes figcaption{font-style:italic;font-size:34px;margin-top:18px;}
.dots{font-size:46px;letter-spacing:14px;margin-top:34px;opacity:.9;}

/* ---------- SECTION 5 (lilac) ---------- */
.s5{background:var(--lilac);padding:60px 0 70px;}
.s5 .head{font-weight:800;font-style:italic;font-size:42px;line-height:1.25;
  text-align:center;color:var(--purple2);max-width:1000px;margin:0 auto 50px;}
.s5 .row{display:flex;gap:70px;align-items:flex-start;}
.s5 .pic{position:relative;flex:0 0 574px;}
.s5 .pic .price{position:absolute;left:47px;bottom:17px;background:rgba(255,255,255,.9);
  padding:10px 18px;text-align:center;}
.s5 .pic .price b{display:block;font-size:26px;font-weight:700;color:#1b191e;line-height:1.2;}
.s5 .info h3{font-size:30px;font-weight:700;color:#040101;margin:22px 0 6px;}
.s5 .info h3:first-child{margin-top:0;}
.s5 .info p{font-size:18px;line-height:1.5;color:#222;}
/* Padding nudged (more top, less bottom) so the italic label sits VISUALLY centred,
   per "move text down to centre". Clear hover change per "apply a mouse over change". */
.btn{display:inline-block;background:var(--purple);color:#fff;font-family:var(--gill);
  font-weight:700;font-style:italic;font-size:24px;padding:20px 40px 14px;border:none;
  cursor:pointer;letter-spacing:.5px;text-transform:uppercase;line-height:1;
  transition:background .18s,transform .18s,box-shadow .18s;}
.btn:hover{background:#3a0870;transform:translateY(-2px);box-shadow:0 6px 18px rgba(84,16,150,.35);}
.btn-wrap{text-align:center;margin-top:44px;}

/* ---------- SECTION 6 ---------- */
.s6{background:#fff;padding:60px 0 70px;}
.s6 .intro{font-size:36px;font-weight:700;text-align:center;line-height:1.3;
  color:#000;margin-bottom:44px;}
.s6 .grid{display:grid;grid-template-columns:453px 653px;gap:12px;justify-content:center;
  align-items:start;margin-bottom:44px;}
.s6 .sp{position:relative;}
.s6 .sp .logo{position:absolute;left:14px;bottom:0;width:224px;}
.s6 .rightcol{display:grid;grid-template-columns:1fr;gap:12px;}
.s6 .rightcol .btm{display:grid;grid-template-columns:311px 314px;gap:12px;}
.s6 .two-col h3,.s6 .two-col p{color:var(--dark);}

/* ---------- SECTION 7 ---------- */
.s7{background:var(--lilac);text-align:center;padding:56px 0 64px;}
.s7 .bfly{width:130px;margin:0 auto 22px;}
.s7 .head{font-size:36px;font-weight:700;color:var(--purple);line-height:1.25;
  margin-bottom:8px;}
.s7 .sub{font-size:20px;color:var(--purple);line-height:1.4;max-width:760px;margin:0 auto 30px;}

/* ---------- FOOTER ---------- */
.footer{background:#33333b;color:#fff;padding:70px 0 40px;}
.footer .cols{display:grid;grid-template-columns:250px 1fr 1fr 1fr;gap:36px;align-items:start;}
.footer .imelda img{width:217px;}
.footer .imelda .q{font-style:italic;font-weight:600;font-size:18px;line-height:1.2;
  margin-top:16px;}
.footer h4{font-family:var(--gill);font-weight:700;font-size:20px;color:var(--lilac-accent);
  margin-bottom:8px;}
.footer p,.footer label{font-size:16px;line-height:1.3;color:#fff;}
.footer .col-form label{display:block;margin-bottom:12px;}
.footer input[type=email]{width:100%;max-width:270px;padding:12px;border:none;
  font-family:var(--gill);font-size:16px;color:#333;}
.footer .signup{display:block;width:100%;max-width:270px;background:var(--purple);color:#fff;border:none;
  padding:12px 26px;margin-top:10px;font-family:var(--gill);font-weight:700;font-style:italic;
  font-size:20px;cursor:pointer;}
.footer .signup:hover{background:#42097a;}
.footer .contact{color:var(--lilac-accent);font-weight:700;font-size:20px;margin-top:26px;}
.footer .contact a{color:var(--lilac-accent);font-weight:400;}
/* Brand-coloured social icons (PSD) */
.footer .socials{display:flex;gap:14px;margin-top:16px;}
.footer .socials-mobile{display:none;}
.footer .socials a{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;transition:opacity .15s;}
.footer .socials a:hover{opacity:.85;}
.footer .socials a svg{width:30px;height:30px;fill:#fff;display:block;}
.footer .socials .ic-fb{background:#1877f2;}
.footer .socials .ic-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);}
.footer .socials .ic-tt{background:#000;border:1px solid #333;}
/* reCAPTCHA placeholder — visual only; wire to a real reCAPTCHA plugin to function */
.footer .recaptcha{display:flex;align-items:center;gap:10px;width:100%;max-width:270px;height:60px;
  margin-top:14px;padding:0 12px;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:3px;
  box-shadow:0 1px 2px rgba(0,0,0,.1);}
.footer .recaptcha .cb{width:24px;height:24px;background:#fff;border:2px solid #c1c1c1;border-radius:2px;flex:0 0 auto;}
.footer .recaptcha .rc-label{color:#222;font-size:14px;flex:1;}
.footer .recaptcha .rc-logo{color:#7a7a7a;font-size:10px;line-height:1.1;text-align:center;display:flex;flex-direction:column;}
.footer .recaptcha .rc-logo small{font-size:8px;}
.footer .col-form .legal{font-size:15px;line-height:1.7;color:#e9e9e9;margin-top:26px;}

/* ==========================================================================
   WOOCOMMERCE — Shop grid + Single product (matched to PSD)
   ========================================================================== */
.wc .wc-wrap{padding-top:20px;padding-bottom:70px;}
.wc .woocommerce{max-width:1120px;margin:0 auto;}

/* ---- Shop grid ---- */
.wc-wrap ul.products{display:grid !important;grid-template-columns:repeat(3,1fr);gap:26px;
  list-style:none;margin:30px 0 0 !important;padding:0;}
.wc-wrap ul.products::before,.wc-wrap ul.products::after{display:none !important;}
.wc-wrap ul.products li.product{width:auto !important;float:none !important;margin:0 !important;}
.im-card{background:var(--im-card-bg,#ececec);text-align:left;display:flex;flex-direction:column;height:100%;}
/* PSD (5 SHOES_SHOP_DESKTOP.psd): card 353px wide, inner column 301px → 26px of
   card padding each side (7.35% of the card). The SAME padding applies to the
   image, the description, the meta lines and both buttons, so every edge lines
   up with the product image. Overrides WooCommerce's own li.product padding —
   specificity must beat `.wc-wrap ul.products li.product`. */
.wc-wrap ul.products li.product.im-card{padding:25px 25px 26px !important;}
/* Extra head-room at top for the designer logo (PSD) */
.im-card-brand{font-weight:700;font-size:20px;letter-spacing:.5px;color:#111;margin:6px 0 16px;font-family:var(--gill);
  text-align:center;min-height:50px;padding-top:6px;display:flex;align-items:center;justify-content:center;}
.im-card-brand img{display:inline-block;width:auto;max-height:32px;max-width:92%;}
/* The image keeps its PSD size (301/353 of the card) and is NOT stretched. The
   card's 25px padding is its left/right margin; the text below inherits exactly
   the same box, so description + meta align to the image's left and right edges. */
.im-card-img{display:block;padding:4px 0 0;margin:0;}
.im-card-img img{width:100%;height:auto;display:block;box-shadow:0 6px 16px rgba(0,0,0,0.22) !important;}
/* Text block: flush to the image's left/right edges — no extra inset, no
   negative margin. (Client correction: narrow the TEXT to the image, never
   widen the image to the text.) */
.im-card-desc{font-size:16px;font-weight:700;color:#111;line-height:1.3;margin:16px 0 10px;padding:0;text-align:left;}
.im-card-meta{font-size:15px;line-height:1.55;color:#333;margin:0 0 16px;padding:0;text-align:left;}
.im-card-meta > span{display:block;}
.im-card-meta .woocommerce-Price-amount{display:inline;white-space:nowrap;}
.im-card-actions{margin-top:auto;}
/* ADD TO CART: brand purple #541096, label nudged down to visual centre (PSD) */
.wc-wrap .im-card .button.add_to_cart_button,
.wc-wrap .im-card .button.add_to_cart_button:hover,
.wc-wrap .im-card .added_to_cart{display:block;width:100%;background:var(--purple);color:#fff;border:none;
  font-family:var(--gill);font-weight:700;font-size:16px;letter-spacing:.5px;text-transform:uppercase;
  padding:14px 10px 12px;line-height:1;border-radius:0;text-align:center;transition:background .18s;}
.wc-wrap .im-card .button.add_to_cart_button:hover{background:#3a0870;}
/* "Added to Cart" confirmed state after AJAX add */
.wc-wrap .im-card .button.add_to_cart_button.im-added,
.wc-wrap .im-card .button.add_to_cart_button.added{background:#2f0a58;}
.wc-wrap .im-card .im-more{display:block;width:100%;background:#fff;color:#222;border:1px solid #b7b7b7;
  font-family:var(--gill);font-weight:700;font-size:15px;letter-spacing:.5px;text-transform:uppercase;
  padding:11px 10px;border-radius:0;margin-top:8px;text-align:center;}
.wc-wrap .im-card .im-more:hover{background:#f3f3f3;}
.wc-wrap .im-card .added_to_cart{margin-top:8px;}

/* ---- Single product ---- */
.wc div.product{display:grid;grid-template-columns:1fr 1fr;gap:44px 60px;align-items:start;
  grid-template-rows:auto min-content 1fr;
  grid-template-areas:"brand brand" "gallery summary" "extras summary";}
/* Keep the promos/statement tight under the gallery; absorb any extra height
   (from the taller summary column) below them instead of above them. */
.wc div.product > .im-extras{align-self:start;}
.wc div.product > .im-product-brand{grid-area:brand;text-align:center;margin:0 0 4px;}
.wc div.product > .im-product-brand img{display:inline-block;width:auto;max-height:80px;max-width:340px;}
.wc div.product > .im-product-brand span{font-weight:700;font-size:26px;letter-spacing:.5px;color:#111;}
.wc div.product > .im-left{grid-area:gallery;}
.wc div.product > .summary{grid-area:summary;}
.wc div.product > .im-extras{grid-area:extras;}
.wc div.product .woocommerce-product-gallery{width:100% !important;margin:0 !important;float:none !important;opacity:1 !important;position:relative;}
.wc div.product .woocommerce-product-gallery__wrapper{margin:0;}
.wc div.product .flex-viewport{margin-bottom:14px;}
.wc div.product .woocommerce-product-gallery__trigger{top:14px;right:14px;}
/* Thumbnail slider strip — clean uniform row (matches PSD) */
.wc div.product .flex-control-thumbs{display:grid !important;grid-template-columns:repeat(5,1fr);gap:10px;
  margin:14px 0 0 !important;padding:0;list-style:none;float:none;overflow:visible;}
.wc div.product .flex-control-thumbs li{margin:0 !important;width:auto !important;float:none !important;list-style:none;}
.wc div.product .flex-control-thumbs img{width:100% !important;aspect-ratio:1/1;object-fit:cover;display:block;
  cursor:pointer;opacity:.55;transition:opacity .15s;border:1px solid #e0e0e0;}
.wc div.product .flex-control-thumbs img.flex-active,
.wc div.product .flex-control-thumbs img:hover{opacity:1;}
/* Fallback (no JS/slider): stack gallery images, hide duplicates cleanly */
.wc div.product .woocommerce-product-gallery--columns-5 .flex-control-thumbs li{width:auto;}
.wc div.product .summary{width:100% !important;float:none !important;margin:0 !important;}
.im-single-brand{font-weight:700;font-size:22px;color:#111;letter-spacing:.5px;margin:0 0 12px;}
.wc div.product .product_title{font-size:26px;font-weight:700;line-height:1.25;color:#111;margin:0 0 16px;}
.wc div.product .woocommerce-product-details__short-description,
.wc div.product .summary p{font-size:18px;line-height:1.5;color:#222;}
.wc div.product p.price,
.wc div.product span.price{font-size:22px;font-weight:700;color:#111;margin:10px 0 14px;}
.wc div.product form.cart{margin:0 0 16px;}
.wc div.product form.cart .quantity{display:none;}
.wc div.product .single_add_to_cart_button{background:#33333b;color:#fff;border-radius:0;
  font-family:var(--gill);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:18px;padding:14px 40px;
  display:inline-block;width:auto;min-width:210px;white-space:nowrap;text-align:center;line-height:1.1;float:none;}
.wc div.product .single_add_to_cart_button:hover{background:#000;}
.wc div.product .woocommerce-tabs{grid-column:1 / -1;}
/* Codeixer Product Gallery Slider (wpgs) integration with the 2-col grid */
.wc div.product > .im-left,.wc div.product > .summary,.wc div.product > .im-extras{min-width:0;}
.wc div.product .woo-product-gallery-slider,.wc div.product .wpgs{width:100%;max-width:100%;opacity:1 !important;margin:0;}
.wc div.product .wpgs-for{width:100%;margin-bottom:12px;}
.wc div.product .wpgs-for .slick-slide,.wc div.product .wpgs-for .woocommerce-product-gallery__image{width:100%;}
.wc div.product .wpgs-for img{width:100%;height:auto;display:block;object-fit:contain;}
.wc div.product .wpgs-nav{width:100%;margin:0;}
.wc div.product .wpgs-nav .slick-slide{margin:0 5px;}
.wc div.product .wpgs-nav img{width:100%;height:auto;display:block;cursor:pointer;border:1px solid #e0e0e0;}
.wc div.product .wpgs-nav .slick-current img{border-color:#33333b;}
.wc div.product .wpgs-for .slick-prev,.wc div.product .wpgs-for .slick-next{z-index:3;}
.im-donation{font-size:17px;line-height:1.5;color:#222;margin:6px 0 20px;}
.im-donation a{text-decoration:underline;color:#222;}
/* Accordion */
.im-accordion{border-top:1px solid #d5d5d5;margin-top:10px;}
.im-accordion details{border-bottom:1px solid #d5d5d5;}
.im-accordion summary{list-style:none;cursor:pointer;font-weight:700;font-size:19px;color:#111;
  padding:14px 24px 14px 0;position:relative;}
.im-accordion summary::-webkit-details-marker{display:none;}
.im-accordion summary::after{content:"\25BE";position:absolute;right:2px;top:14px;color:#888;transition:transform .2s;}
.im-accordion details[open] summary::after{transform:rotate(180deg);}
.im-accordion .im-acc-body{font-size:16px;line-height:1.5;color:#444;padding:0 0 16px;}
/* Left extras: promo banners + statement */
.im-promos{margin:24px 0 0;}
.im-promo{background:#ececec;text-align:center;padding:16px 12px;margin-bottom:22px;}
.im-promo b{display:block;color:var(--purple2);font-weight:800;font-style:italic;font-size:22px;margin-bottom:6px;}
.im-promo span{display:block;color:#222;font-size:16px;line-height:1.4;}
.im-statement{display:flex;gap:26px;align-items:flex-start;margin-top:10px;}
.im-statement-text{flex:1;}
.im-statement-text h3{font-size:22px;font-weight:700;color:#111;margin:0 0 12px;}
.im-statement-text p{font-size:17px;line-height:1.5;color:#222;margin:0 0 12px;}
.im-statement-img{flex:0 0 200px;}
.im-statement-img img{width:100%;height:auto;display:block;}
.im-statement-img figcaption{font-style:italic;font-size:16px;line-height:1.4;color:#333;margin-top:8px;text-align:center;}
/* Header cart count badge (added to the existing icon only). */
.header-right .cart-link{position:relative;display:inline-flex;}
.header-right .cart-count{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 5px;
  box-sizing:border-box;border-radius:9px;background:var(--purple2,#541096);color:#fff;
  font-size:11px;font-weight:700;line-height:18px;text-align:center;}

/* ==========================================================================
   CART & CHECKOUT (classic WooCommerce) — matched to the theme
   ========================================================================== */
.wc .woocommerce{max-width:1120px;margin:0 auto;}
.wc-wrap{padding-top:40px;}
/* Section headings */
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading,
.woocommerce .cart_totals h2,.woocommerce-cart h1.entry-title{
  font-family:var(--gill);font-weight:800;font-size:24px;color:#111;margin:0 0 16px;}
/* Form fields */
.woocommerce form .form-row label{font-family:var(--gill);font-size:15px;font-weight:700;color:#222;margin-bottom:6px;display:block;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart .coupon input.input-text{
  font-family:var(--gill);font-size:16px;color:#222;border:1px solid #c9c9c9;border-radius:0;
  padding:12px 14px;line-height:1.4;background:#fff;height:auto;}
/* Native selects: appearance:none is required for line-height to control the text
   vertical position (otherwise the browser bottom-aligns it). Custom arrow added back. */
.woocommerce form .form-row select{-webkit-appearance:none;-moz-appearance:none;appearance:none;
  height:47px;line-height:45px;padding:0 38px 0 14px;vertical-align:middle;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;}
.woocommerce .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single{height:47px !important;border:1px solid #c9c9c9;border-radius:0;padding:0;font-family:var(--gill);}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:45px !important;height:45px !important;padding:0 30px 0 14px !important;color:#222;font-size:16px;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:45px;right:8px;}
.woocommerce form .form-row textarea{min-height:100px;}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(84,16,150,.12);}
/* Order / cart tables */
.woocommerce table.shop_table{border:1px solid #e0e0e0;border-radius:0;font-family:var(--gill);}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px;}
.woocommerce table.shop_table thead th,.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce table.cart th{background:#f4f4f4;font-weight:700;color:#111;}
.woocommerce-cart table.cart img{width:60px;border:1px solid #e6e6e6;}
.woocommerce .quantity input.qty{padding:9px 6px;border:1px solid #c9c9c9;font-family:var(--gill);width:66px;text-align:center;}
.woocommerce a.remove{color:var(--purple)!important;font-weight:700;}
.woocommerce a.remove:hover{background:var(--purple)!important;color:#fff!important;}
/* Cart totals + proceed */
.woocommerce .cart-collaterals .cart_totals{float:right;width:46%;}
/* Secondary buttons (apply coupon / update cart) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  font-family:var(--gill);font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:0;
  background:#33333b;color:#fff;padding:12px 22px;font-size:14px;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#000;}
/* Primary actions — brand purple (Proceed to checkout / Place order) */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{
  background:var(--purple);color:#fff;font-weight:700;font-style:italic;text-transform:uppercase;
  letter-spacing:.5px;font-size:18px;padding:16px 34px;border-radius:0;}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover,.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover{background:#42097a;}
/* Coupon toggle + info notices */
.woocommerce-info,.woocommerce-form-coupon-toggle .woocommerce-info{
  background:#f4f2f7;border-top-color:var(--purple);font-family:var(--gill);color:#333;}
.woocommerce-info a,.woocommerce-message a{color:var(--purple);}
.woocommerce-message{border-top-color:var(--purple);}
/* Payment box */
.woocommerce-checkout #payment{background:#f4f2f7;border-radius:0;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #e2d9ef;}
.woocommerce-checkout #payment div.payment_box{background:#ece6f5;color:#333;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#ece6f5;}
.woocommerce-checkout #payment .form-row.place-order{padding:18px 0 4px;}
/* Cart & checkout responsive */
@media(max-width:820px){
  .woocommerce .cart-collaterals .cart_totals{float:none;width:100%;}
  .woocommerce #customer_details .col-1,.woocommerce #customer_details .col-2{width:100%;float:none;}
  .woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;}
}

/* ==========================================================================
   RESPONSIVE  — mobile PSD baseline: 375px
   ========================================================================== */
@media(max-width:1180px){
  .s1 .row img{flex-basis:46%;width:46%;}
  .photo-grid,.s3 .grid,.s6 .grid{grid-template-columns:1fr 1fr;}
}
/* ---- TABLET / SMALL-LAPTOP (821–1180): scale the hero down proportionally so
   it keeps the 1440 PSD proportions instead of the headline sliding onto the
   flag's white sun. Everything is % / vw of the same design ratios. ---- */
@media(min-width:821px) and (max-width:1180px){
  /* Header: shrink brand + nav so "IMELDA'S SHOES" and the menu stay on ONE line */
  .header{padding:0 26px;height:90px;}
  .brand img{width:80px;}
  .brand .name{font-size:clamp(30px,3.5vw,44px);letter-spacing:0;white-space:nowrap;}
  .nav{gap:clamp(14px,1.9vw,30px);}
  .nav a,.nav ul{font-size:clamp(16px,1.7vw,20px);letter-spacing:.5px;}
  .nav ul{gap:clamp(14px,1.9vw,30px);}
  .header-right{gap:12px;}
  .cart{width:34px;}
  /* Hero scaled to the 1440 proportions */
  .hero{height:47vw;}
  .hero .flag{width:38%;max-width:none;}
  .hero .hero-copy{left:14%;top:14%;max-width:58%;}
  .hero .h1{font-size:6.2vw;}
  .hero .hero-subheading{font-size:2.7vw;}
  .hero .girl{width:27%;right:7%;top:9%;}
  .hero .hlogo{width:16%;right:7%;bottom:2%;}
}
@media(max-width:820px){
  /* Header fits "IMELDA'S SHOES" on ONE line; icon order = burger then cart (PSD) */
  .header{padding:0 16px;height:74px;}
  .brand{gap:9px;}
  .brand img{width:42px;}
  .brand .name{font-size:21px;letter-spacing:0;line-height:1;}
  .nav{display:none;}
  /* Expanded burger menu spans the FULL width of the mobile screen */
  .nav.open{display:flex;position:absolute;top:74px;left:0;right:0;width:100%;flex-direction:column;
    background:#fff;padding:22px 24px 26px;box-shadow:0 10px 22px rgba(0,0,0,.15);z-index:60;
    border-top:1px solid #eee;}
  .nav.open ul{flex-direction:column;align-items:center;gap:22px;width:100%;}
  .nav.open a{font-size:22px;}
 .burger{
    display:block !important;
    flex:0 0 30px !important;
    width:30px !important;
    min-width:30px !important;
    height:30px !important;
    padding:0 !important;
    margin:0 !important;
    font-size:28px !important;
    line-height:30px !important;
    color:#333 !important;
    background:none !important;
    border:0 !important;
    position:relative !important;
    z-index:100 !important;
    overflow:visible !important;
}

.header-right{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
    flex-shrink:0 !important;
}

.currency-switcher{
    order:1;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    flex:0 0 31px !important;
    width:31px !important;
    min-width:31px !important;
    max-width:31px !important;
    height:31px !important;
    min-height:31px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
}

.currency-switcher-icon{
    position:static !important;
    display:block !important;
    width:31px !important;
    min-width:31px !important;
    height:31px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}
.cart-link{
    order:2;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    flex:0 0 34px !important;
    width:34px !important;
    min-width:34px !important;
    margin:0 !important;
    transform:translateY(3px) !important;
}
.cart-link .cart{
    display:block !important;
    width:31px !important;
    height:auto !important;
    position:static !important;
    transform:none !important;
    margin:0 !important;
}

.burger{
    order:3;
}
  .hero{height:auto;padding:0 0 28px;position:relative;}
  /* Hero — absolute layout matched EXACTLY to 1__SHOES_HOME_MOBILE.psd
     (canvas 375px, hero 827px tall). Each element is positioned by its PSD
     coordinates expressed as % of the hero box, so proportions are pixel-accurate. */
  .hero{position:relative;width:100%;height:calc(100vw * 827 / 375);padding:0;overflow:hidden;}
  .hero .flag{position:absolute;left:2.9%;top:0;width:76%;max-width:none;margin:0;}   /* PSD x11 y68 285x276 */
  .hero .hero-copy{position:absolute;left:5%;top:6%;width:90%;margin:0;z-index:3;}
  .hero .h1{width:100%;margin:0;padding:0;font-size:clamp(30px,8.6vw,52px);line-height:1.0;
    font-weight:400;font-style:italic;-webkit-text-stroke:0;
    overflow-wrap:normal;word-break:normal;hyphens:none;}
  .hero .hero-subheading{margin:.6em 0 0;font-size:clamp(16px,4.4vw,26px);line-height:1.1;
    overflow-wrap:normal;word-break:normal;}
  .hero .girl{position:absolute;left:10.4%;top:47.3%;width:79%;margin:0;}             /* PSD x39 y459 296x394 */
  .hero .hlogo{position:absolute;left:60.8%;top:86.7%;width:34%;margin:0;z-index:5;}  /* PSD x228 y785 128x91 */
  .s1 .intro,.s3 .intro,.s6 .intro{font-size:26px;}
  .s1 .row,.s5 .row{flex-direction:column;}
  .s1 .row img,.s5 .pic{width:100%;flex-basis:auto;}
  .quote{font-size:28px;}
  .photo-grid,.s3 .grid,.s6 .grid,.two-col{grid-template-columns:1fr;gap:14px;}
  .photo-grid .wide,.s3 .imelda-ag,.s6 .rightcol .btm{grid-column:auto;grid-template-columns:1fr;}
  .s4 .head,.s5 .head{font-size:26px;}
  .s4 .shoes{gap:36px;}
  .s4 .shoes figcaption{font-size:24px;}
  .s5 .info h3,.s2 .two-col h3,.s3 .two-col h3,.s6 .two-col h3{font-size:24px;}
  .s7 .head{font-size:26px;}
  /* ---- Mobile footer: centre content, reorder, legal to bottom (PSD) ---- */
  .footer .cols{grid-template-columns:1fr;gap:26px;}
  .footer .imelda{order:1;text-align:center;}
  .footer .imelda img{margin:0 auto;}
  .footer .col-special{order:2;}
  /* PSD: news + contact + form label are LEFT-aligned; boxes full-width;
     only the social row and legal line are centred. */
  .footer .col-news{order:3;text-align:left;}
  .footer .col-form{order:4;text-align:left;display:flex;flex-direction:column;align-items:stretch;}
  .footer .contact{text-align:left;}
  .footer .col-form label{margin:0 0 12px;}
  .footer input[type=email],.footer .signup{max-width:none;width:100%;margin:0 0 10px;}
  .footer .recaptcha{max-width:none;width:100%;margin:0 0 4px;}
  /* Social icons: centred, smaller, sit below the form boxes */
  .footer .col-news .socials{display:none;}
  .footer .col-form .socials{display:flex;justify-content:center;gap:12px;order:5;margin:18px auto 0;}
  .footer .col-form .legal{order:6;text-align:center;margin-top:22px;}
  .footer .socials a{width:46px;height:46px;}
  .footer .socials a svg{width:24px;height:24px;}
}

/* ==========================================================================
   FLEXIBLE CONTENT BLOCKS  (ACF "Page Sections" builder)
   Generic, reusable versions of the section styles above, keyed to .blk +
   a background modifier so blocks can be reordered / reused on any page.
   ========================================================================== */

/* Background + text-colour system */
.blk{padding:60px 0;}
.bg-white{background:#fff;}
.bg-gray{background:var(--gray);}
.bg-lilac{background:var(--lilac);}
.bg-dark{background:var(--dark);color:#fff;}
.bg-purple{background:var(--purple);color:#fff;}
.bg-black{background:#000;color:#fff;}
.blk.bg-dark h3,.blk.bg-purple h3,.blk.bg-black h3{color:#fff;}

/* Rich text */
.rte p{margin-bottom:1em;}
.rte p:last-child{margin-bottom:0;}
.wrap--narrow{max-width:760px;}

/* Centered Intro */
.blk-intro{padding:40px 0 20px;}
.blk-intro .intro{font-size:36px;font-weight:700;text-align:center;line-height:1.3;}
/* Home page: "For every Imelda shoe portrait…" heading (the only white-bg intro on
   the front page) uses Gill Sans Ultra Bold, per client correction. */
.home .blk-intro.bg-white .intro{font-weight:800;-webkit-text-stroke:.35px currentColor;}
/* HOME desktop: tighten headline leading + reduce the section gaps the client
   marked ("reduce line space between ALL headlines", "reduce space by 50% / 25%").
   Scoped to .home so About/History/Shoes (passed as OK) are untouched. */
@media(min-width:821px){
  /* Tighter leading on ALL home headlines/sub-heads (per PSD) */
  .home .blk-intro .intro{line-height:1.12;}
  .home .two-col h3{line-height:1.15;}
  .home .blk-price .info h3{line-height:1.15;}
  /* Quote: "lower headline slightly" */
  .home .blk-quote{padding:42px 0 18px;}
  /* mosaic → two-col captions gap −50% */
  .home .blk-mosaic{padding-bottom:14px;}
  .home .blk-mosaic-split{padding-bottom:14px;}
  /* two-col → next section −25% */
  .home .blk-twocol{padding-top:4px;padding-bottom:30px;}
  .home .blk-intro{padding-top:28px;}
  .home .blk-media{padding-bottom:34px;}
  /* CTA (Portraits → Please buy) −25% */
  .home .blk-cta{padding-top:28px;}
}

/* Media + Text */
.blk-media{padding:8px 0 44px;}
.blk-media .row{display:flex;gap:56px;align-items:flex-start;}
.blk-media .row.img-right{flex-direction:row-reverse;}
.blk-media .media{flex:0 0 554px;max-width:554px;}
.blk-media .media img{width:100%;}
/* Base body = regular gray (the brands paragraph). Emphasis lines use .lead / .big = bold black. */
.blk-media .copy{font-size:18px;font-weight:400;line-height:1.35;color:#33333b;}
.blk-media .copy p{margin-bottom:14px;}
.blk-media .copy p:last-child{margin-bottom:0;}
.blk-media .copy .lead{display:block;font-size:26px;font-weight:700;color:#000;line-height:1.32;margin-bottom:14px;}
.blk-media .copy .big{display:block;font-size:26px;font-weight:700;color:#000;margin:14px 0;}
.blk-media.bg-dark .copy,.blk-media.bg-purple .copy,.blk-media.bg-black .copy,
.blk-media.bg-dark .copy .lead,.blk-media.bg-purple .copy .lead,.blk-media.bg-black .copy .lead,
.blk-media.bg-dark .copy .big,.blk-media.bg-purple .copy .big,.blk-media.bg-black .copy .big{color:#fff;}

/* Display Quote */
.blk-quote{padding:44px 0 26px;}

/* Two-Column Text */
.blk-twocol{padding:8px 0 44px;}
.blk .two-col h3{color:var(--dark);}
.blk .two-col p{color:var(--dark);}
.blk.bg-dark .two-col h3,.blk.bg-purple .two-col h3,.blk.bg-black .two-col h3,
.blk.bg-dark .two-col p,.blk.bg-purple .two-col p,.blk.bg-black .two-col p{color:#fff;}

/* Photo Mosaic — Feature */
.blk-mosaic{padding:8px 0 32px;}
.blk-mosaic .photo-grid .wide{position:relative;}
.blk-mosaic .photo-grid .wide img{width:100%;}
/* S3 sticker straddles the top edge of the tall image (overhangs up into the gap). */
.blk-mosaic .photo-grid .ov-logo{position:absolute;top:-52px;left:16px;width:190px;z-index:3;}

/* Photo Mosaic — Split */
.blk-mosaic-split{padding:8px 0 30px;}
.grid-split{display:grid;grid-template-columns:453px 653px;gap:12px;justify-content:center;align-items:start;}
.grid-split .sp{position:relative;}
.grid-split .sp .logo{position:absolute;left:14px;bottom:0;width:224px;}
.grid-split .rightcol{display:grid;grid-template-columns:1fr;gap:12px;}
.grid-split .rightcol .btm{display:grid;grid-template-columns:311px 314px;gap:12px;}

/* Print Showcase */
.blk-prints{padding:44px 0 28px;text-align:center;}
.blk-prints .head{font-weight:800;font-style:italic;font-size:40px;line-height:1.3;max-width:900px;margin:0 auto 44px;-webkit-text-stroke:.4px currentColor;}
/* One-image-at-a-time slider (scroll-snap) with clickable dots + arrows — matches PSD */
.blk-prints .prints-slider{position:relative;}
/* Sliding showcase: one print per view; advance via arrows, dots, swipe or auto. */
.blk-prints .shoes{display:flex;flex-wrap:nowrap;overflow-x:auto;
  gap:0;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;}
.blk-prints .shoes::-webkit-scrollbar{display:none;}
.blk-prints figure{flex:0 0 100%;max-width:100%;scroll-snap-align:center;margin:0;
  display:flex;flex-direction:column;align-items:center;}
.blk-prints .shoes img{width:466px;max-width:88%;background:#fff;}
.blk-prints figcaption{font-style:italic;font-size:34px;margin-top:18px;text-transform:uppercase;}
/* Prev / next arrows */
.blk-prints .prints-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.85);
  color:#2a2a2a;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;
  padding:0 0 4px;transition:background .15s,transform .15s;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.blk-prints .prints-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.blk-prints .prints-prev{left:6px;}
.blk-prints .prints-next{right:6px;}
/* Dot indicators (clickable) */
.blk-prints .dots{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:34px;}
.blk-prints .dots .dot{width:14px;height:14px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.45);transition:background .2s,transform .2s;}
.blk-prints .dots .dot:hover{background:rgba(255,255,255,.75);}
.blk-prints .dots .dot.active{background:#fff;transform:scale(1.15);}

/* Price + Info */
.blk-price{padding:44px 0 46px;}
/* Narrower max-width forces the PSD two-line break ("…own a piece of" / "Pop-Political…"). */
.blk-price .head{font-weight:800;font-style:italic;font-size:46px;line-height:1.18;text-align:center;color:#541096;max-width:900px;margin:0 auto 50px;-webkit-text-stroke:.4px currentColor;}
.blk-price .row{display:flex;gap:70px;align-items:flex-start;}
.blk-price .pic{position:relative;flex:0 0 574px;}
.blk-price .pic .price{position:absolute;left:47px;bottom:17px;background:rgba(255,255,255,.9);padding:10px 18px;text-align:center;}
.blk-price .pic .price b{display:block;font-size:28px;font-weight:700;color:#1b191e;line-height:1.2;}
.blk-price .info h3{font-size:30px;font-weight:700;color:#040101;margin:22px 0 6px;}
.blk-price .info h3:first-child{margin-top:0;}
.blk-price .info p{font-size:18px;line-height:1.35;color:#222;}

/* Article (centered heading + captioned image + body) — About / History / Shoes */
.blk-article{padding:60px 0;}
.blk-article .art-eyebrow{text-align:center;color:#541096;font-family:var(--gill);font-weight:800;font-style:italic;font-size:40px;letter-spacing:1px;margin:0 0 6px;text-transform:uppercase;-webkit-text-stroke:.4px currentColor;}
.blk-article .art-head{font-size:36px;font-weight:700;line-height:1.25;text-align:center;color:#000;margin:0 auto 50px;max-width:1120px;}
.blk-article .art-eyebrow + .art-head{margin-top:0;}
.blk-article .row{display:flex;gap:70px;align-items:flex-start;}
.blk-article .row.img-right{flex-direction:row-reverse;}
.blk-article figure{flex:0 0 555px;max-width:555px;margin:0;}
.blk-article figure img{width:100%;display:block;}
.blk-article figcaption{font-style:italic;font-size:20px;line-height:1.3;color:#33333b;text-align:center;margin-top:14px;}
.blk-article .body{flex:1;font-size:26px;line-height:1.26;color:#000;}
.blk-article .row:not(.img-right) .body{text-align:left;}
.blk-article .row.img-right .body{text-align:right;}
.blk-article .body p{margin-bottom:1em;}
.blk-article .body p:last-child{margin-bottom:0;}
.blk-article .body ul{list-style:none;margin:16px 0 0;padding:0;}
.blk-article .body li{position:relative;padding-left:26px;font-size:20px;line-height:1.55;margin-bottom:6px;}
.blk-article .body li::before{content:"\25A0";position:absolute;left:0;top:1px;font-size:15px;color:#111;}
.blk-article.bg-dark .art-head,.blk-article.bg-purple .art-head,.blk-article.bg-black .art-head,
.blk-article.bg-dark .body,.blk-article.bg-purple .body,.blk-article.bg-black .body{color:#fff;}
.blk-article.bg-dark figcaption,.blk-article.bg-purple figcaption,.blk-article.bg-black figcaption{color:#f0eef2;}
.blk-article .art-logo{text-align:center;margin:0 0 30px;}
.blk-article .art-logo img{display:inline-block;width:auto;max-width:360px;height:auto;}

/* Two-Column Rich (text + inline images) — Shoes */
.blk-tworich{padding:10px 0 60px;}
.blk-tworich .cols{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.blk-tworich .col{font-size:26px;line-height:1.26;color:#33333b;}
.blk-tworich .col p{margin-bottom:1em;}
.blk-tworich .col p:last-child{margin-bottom:0;}
.blk-tworich .col img{max-width:100%;height:auto;margin:18px 0;display:block;}

/* Call To Action */
.blk-cta{padding:40px 0 42px;text-align:center;}
.blk-cta .bfly {
    display: block;
    width: 130px;
    margin: 0 auto 22px;
}
.blk-cta .head{font-size:36px;font-weight:700;color:var(--purple);line-height:1.25;margin-bottom:8px;}
.blk-cta .sub{font-size:20px;color:var(--purple);line-height:1.4;max-width:760px;margin:0 auto 30px;}

/* Blocks — responsive */
@media(max-width:1180px){
  .blk-mosaic .photo-grid{grid-template-columns:1fr 1fr;}
  .grid-split{grid-template-columns:1fr 1fr;}
  .blk-media .media{flex-basis:46%;}
  .blk-article figure{flex-basis:46%;max-width:46%;}
  .blk-article .body{font-size:22px;}
  .blk-tworich .col{font-size:22px;}
}
@media(max-width:820px){
  .blk-media .row,.blk-price .row{flex-direction:column;}
  .blk-media .media,.blk-price .pic{width:100%;flex-basis:auto;max-width:none;}
  /* Mobile: photo mosaics collapse to a single column. Images keep their NATURAL
     proportions (no crop), stay WITHIN the page margins (no full-bleed), sit in a
     tight even stack, and keep their PSD captions — per client corrections
     (restore margins, un-crop, don't over-size, show the 2 captions). */
  .blk-mosaic .photo-grid,
  .blk-mosaic-split .grid-split,
  .blk-mosaic-split .grid-split .rightcol,
  .blk-mosaic-split .grid-split .rightcol .btm{
    display:grid;grid-template-columns:1fr;gap:8px;}
  .blk-mosaic .photo-grid img:not(.ov-logo),
  .blk-mosaic-split .grid-split img:not(.logo){
    width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block;}
  /* Feature / split tiles stay positioning contexts for overlay sticker + caption */
  .blk-mosaic .photo-grid .tall,
  .blk-mosaic .photo-grid .wide,
  .blk-mosaic-split .grid-split .sp{position:relative;}
  /* Captions: keep the PSD dark bottom overlay, sized to read on mobile */
  .blk-mosaic .photo-grid .cap{font-size:14px;line-height:1.25;padding:8px 12px;}
  /* Overlay stickers keep natural proportions, positioned as PSD (not tile-scaled) */
  .blk-mosaic .photo-grid .ov-logo{position:absolute;top:0;left:12px;width:120px;height:auto;aspect-ratio:auto;z-index:3;}
  .blk-mosaic-split .grid-split .sp .logo{position:absolute;left:12px;bottom:0;width:150px;height:auto;aspect-ratio:auto;}
  .blk-intro .intro{font-size:26px;line-height:1.15;}
  /* Prints slider heading ("Scroll through…"): Ultra Bold + font size +10% (26→29), per correction */
  .blk-prints .head{font-size:29px;}
  .blk-price .head{font-size:26px;}
  .blk-prints figcaption{font-size:24px;}
  .blk-prints .prints-arrow{width:40px;height:40px;font-size:24px;}
  .blk-price .info h3{font-size:24px;}
  /* Price caption smaller so each line fits (two lines total), per PSD */
  .blk-price .pic .price{left:18px;bottom:16px;padding:8px 14px;}
  .blk-price .pic .price b{font-size:18px;}
  .blk-cta .head{font-size:26px;}
/* CTA MOBILE — EXACT LINE BREAKS */

.blk-cta .head {
    font-size: 0 !important;
    line-height: 0 !important;
}

.blk-cta .head::before {
    content: "BUY A PRINT\A AND HELP A CHILD";
    white-space: pre;
    display: block;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #133c95 !important;
    text-align: center !important;
}

.blk-cta .sub {
    font-size: 0 !important;
    line-height: 0 !important;
}

.blk-cta .sub::before {
    content: "Help turn these symbols of excess into\A food, shelter, love and support for\A thousands of impoverished children.";
    white-space: pre;
    display: block;
    font-size: 20px !important;
    line-height: 1.4 !important;
    color: #133c95 !important;
    text-align: center !important;
}

    .blk-cta .sub {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .blk-cta .sub::before {
        content: "Help turn these symbols of excess into\A food, shelter, love and support for\A thousands of impoverished children.";
        white-space: pre;
        display: block;
        font-size: 20px !important;
        line-height: 1.4 !important;
        color: #133c95 !important;
        text-align: center !important;
    }
}
  /* CTA button fits on ONE line on mobile (PSD) */
  .btn{font-size:17px;padding:15px 20px 12px;letter-spacing:.3px;}
/* ABOUT + CHARITY — MOBILE ARTICLE LAYOUT ONLY */
@media screen and (max-width:820px) {

    .blk-article .row,
    .blk-article .row.img-right {
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .blk-article figure,
    .blk-article .row .body {
        flex:0 0 100% !important;
        width:100% !important;
        max-width:100% !important;
    }

    .blk-article .body {
        font-size:21px;
        line-height:1.3;
    }

    .blk-article .row .body,
    .blk-article .row.img-right .body {
        text-align:left;
    }
}
  .blk-article .art-head{font-size:24px;margin-bottom:24px;}
  .blk-article .art-logo img{max-width:260px;}
  .blk-tworich .cols{grid-template-columns:1fr;gap:24px;}
  .blk-tworich .col{font-size:21px;line-height:1.3;}
	/* MOBILE - BUY A PRINT + MAKE A DONATION HEADINGS */
@media screen and (max-width: 820px) {

    body.home section.blk-tworich.bg-white
    > .wrap > .cols > .col.rte:not(.faq-column)
    > h3:nth-of-type(n+2) {
        font-size: 34px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        color: #1f3b90 !important;
        text-align: center !important;
    }
/* DESKTOP ONLY - EXTRA SPACE ABOVE FAQ SECTION */
@media screen and (min-width: 821px) {

    body.home section.blk-tworich.bg-white:has(.faq-column) {
        padding-top: 120px !important;
    }

}
/* DESKTOP - RESTORE BOLD + REMOVE UNDERLINE */
@media screen and (min-width:821px) {
    body.home section.blk-tworich.bg-white
    > .wrap > .cols > .col.rte:not(.faq-column)
    > h3:nth-of-type(n+2) a {
        font-weight:900 !important;
        text-decoration:none !important;
        border-bottom:none !important;
        box-shadow:none !important;
    }
}
/* OPTIONAL HOVER */
body.home section.blk-tworich.bg-white
> .wrap > .cols > .col.rte
> h3:nth-of-type(n+2) a:hover {
    opacity:0.75;
}
}
  /* Mobile: body text +10%, reduce bold sub-heads, tighten line spacing ~10% */
  .blk-media .copy{font-size:20px;line-height:1.22;}
  .blk-media .copy p{margin-bottom:10px;}
  .blk-media .copy .lead,.blk-media .copy .big{font-size:21px;line-height:1.2;margin-bottom:10px;}
  .blk .two-col h3,.blk-price .info h3{font-size:20px;line-height:1.15;}
  .blk .two-col p{font-size:19px;line-height:1.3;}
  .blk-price .info p{font-size:20px;line-height:1.3;}
  .blk-quote .quote{font-size:28px;line-height:1.18;}
  /* Mobile: reduce vertical gaps between sections ~50% */
  .blk-intro{padding:28px 0 14px;}
  /* SHOES: tighten the gap between the article body and the following intro
     heading ("High fashion as defined by…") ~25%, per correction */
  .blk-article + .blk-intro{padding-top:14px;}
  .blk-media{padding:6px 0 32px;}
  .blk-quote{padding:30px 0 18px;}
  .blk-twocol{padding:6px 0 30px;}
  .blk-mosaic{padding:6px 0 22px;}
  .blk-mosaic-split{padding:6px 0 20px;}
  .blk-prints{padding:28px 0 18px;}
  .blk-price{padding:28px 0 32px;}
  .blk-cta{padding:26px 0 30px;}
  .blk-article{padding:28px 0;}
  .blk-tworich{padding:6px 0 28px;}
  /* SHOP intro headline: centre + enlarge ("Own a Piece of Pop-Political
     Fashion History."), per correction. Scoped to shop so SHOES stays left. */
  .woocommerce-shop .blk-article .body > p:first-child{text-align:center;}
  .woocommerce-shop .blk-article .body > p:first-child strong{font-size:25px;line-height:1.2;}
  .wc-wrap ul.products{grid-template-columns:1fr;gap:20px;}
/* Mobile product: brand → gallery → summary (price/cart) → extras, per PSD */
@media screen and (max-width:820px) {

    .wc div.product{
        grid-template-columns:1fr;
        gap:26px;
        grid-template-areas:
            "brand"
            "gallery"
            "summary"
            "extras";
    }

    .wc div.product > .im-product-brand img{
        max-height:60px;
    }

    .im-statement{
        flex-direction:column;
    }

    .im-statement-img{
        flex-basis:auto;
        width:60%;
    }

}
}
/* ===== MOBILE PHOTO-SECTION INTERLEAVE (Home s2 / s3 / s6) =================
   The PSD reflows each photo section on mobile as: image, image, text-col-1,
   image, text-col-2, image. The mosaic + two-col are separate blocks wrapped in
   .mosaic-pair (see imelda_render_blocks); here we flatten them into one flex
   column and re-order the leaves. Desktop is untouched (wrapper stays block). */
@media(max-width:820px){
  .mosaic-pair{display:flex;flex-direction:column;gap:10px;padding:26px 20px;}
  /* Flatten section → wrap → grid/two-col so their leaves become flex items */
  .mosaic-pair > section,
  .mosaic-pair .wrap,
  .mosaic-pair .photo-grid,
  .mosaic-pair .grid-split,
  .mosaic-pair .grid-split .rightcol,
  .mosaic-pair .grid-split .rightcol .btm,
  .mosaic-pair .two-col{display:contents;}
  .mosaic-pair .tall,.mosaic-pair .wide,.mosaic-pair .sp,
  .mosaic-pair .two-col > div{width:100%;}
  /* Feature mosaic order: tall(1) wide(2) [col1=3] small1(4) [col2=5] small2(6) */
  .mosaic-pair .photo-grid .tall{order:1;}
  .mosaic-pair .photo-grid .wide{order:2;}
  .mosaic-pair .photo-grid > img:nth-of-type(1){order:4;}
  .mosaic-pair .photo-grid > img:nth-of-type(2){order:6;}
  /* Split mosaic order: sp(1) right-top(2) [col1=3] btm1(4) [col2=5] btm2(6) */
  .mosaic-pair .grid-split .sp{order:1;}
  .mosaic-pair .grid-split .rightcol > img{order:2;}
  .mosaic-pair .grid-split .btm > img:nth-of-type(1){order:4;}
  .mosaic-pair .grid-split .btm > img:nth-of-type(2){order:6;}
  /* The two text columns slot between the images */
  .mosaic-pair .two-col > div:nth-child(1){order:3;}
  .mosaic-pair .two-col > div:nth-child(2){order:5;}
  .mosaic-pair .two-col h3{margin-bottom:6px;}
  .mosaic-pair .two-col p{margin:0;}
}
@media(min-width:821px) and (max-width:1180px){
  .wc-wrap ul.products{grid-template-columns:1fr 1fr;}
}
/* ABOUT + CHARITY – MOBILE TEXT SAME WIDTH AS PHOTOS */
@media screen and (max-width: 768px) {

    .blk-article .row > .body.rte {
        flex: none !important;
        width: 90vw !important;
        min-width: 90vw !important;
        max-width: 90vw !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: translateX(-42px) !important;
    }

    .blk-article .row > .body.rte p {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ABOUT + CHARITY – MOBILE ONLY
   Centre content + retain correct vertical spacing */
@media screen and (max-width: 768px) {




    .blk-article .row > figure {
        margin-top: 0 !important;
    }

}
/* =====================================================
   HOME – HOMELESS BLACK SECTION – MOBILE ONLY
   HEADLINE ABOVE PHOTO
   ===================================================== */

@media screen and (max-width: 768px) {

    /* Use a simple 2-row layout: TEXT then PHOTO */
    body.home section.blk-article.bg-dark .row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        row-gap: 50px !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        padding: 25px 0 35px 0 !important;
        margin: 0 !important;
        transform: none !important;
    }

    /* TEXT – ALWAYS FIRST */
    body.home section.blk-article.bg-dark .row > .body.rte {
        grid-row: 1 !important;

        position: static !important;
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 25px !important;

        box-sizing: border-box !important;
        transform: none !important;
    }

    /* HEADLINE */
    body.home section.blk-article.bg-dark .homeless-mobile-heading {
        position: static !important;

        width: 100% !important;
        max-width: 100% !important;

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

        text-align: left !important;
        transform: none !important;
    }

    body.home section.blk-article.bg-dark .homeless-mobile-heading span {
        display: block !important;
        width: 100% !important;

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

        text-align: left !important;
    }

    /* PHOTO – ALWAYS SECOND */
    body.home section.blk-article.bg-dark .row > figure {
        grid-row: 2 !important;

        position: static !important;
        width: 90% !important;
        max-width: 90% !important;

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

        top: auto !important;
        left: auto !important;
        right: auto !important;

        transform: none !important;
    }

    body.home section.blk-article.bg-dark .row > figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* HOME – MOBILE ONLY
   FINAL HORIZONTAL CENTRING OF HOMELESS PHOTO */
@media screen and (max-width: 768px) {

    body.home section.blk-article.bg-dark .row > figure {
        justify-self: center !important;
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

}
	/* HOME – MOBILE ONLY
   MOVE HOMELESS HEADLINE 10% LEFT */
@media screen and (max-width: 768px) {

    body.home section.blk-article.bg-dark .homeless-mobile-heading {
        transform: translateX(-10%) !important;
    }

}
	/* HOME – MOBILE ONLY
   MOVE "ON THE STREETS" 1% RIGHT */
@media screen and (max-width: 768px) {

    body.home .homeless-mobile-heading span:nth-of-type(5) {
        position: relative !important;
        left: 1% !important;
    }

}
	/* SHOP – MOBILE ONLY
   VIEW CART BUTTON – GOLD */
@media screen and (max-width: 768px) {

    .woocommerce ul.products li.product .added_to_cart.wc-forward {
        background: #d2a33a !important;
        background-color: #d2a33a !important;
        color: #ffffff !important;
        border-color: #d2a33a !important;
    }

}
	/* =====================================================
   ALL PRODUCT PAGES – MOBILE ONLY
   Restore normal paragraph spacing
   ===================================================== */

@media screen and (max-width: 768px) {

    body.single-product .summary.entry-summary p,
    body.single-product .woocommerce-product-details__short-description p {
        margin-top: 0 !important;
        margin-bottom: 1em !important;
    }

    /* No unnecessary extra gap after the final paragraph */
    body.single-product .summary.entry-summary p:last-child,
    body.single-product .woocommerce-product-details__short-description p:last-child {
        margin-bottom: 0 !important;
    }
}
	/* PRODUCT PAGES – MOBILE ONLY
   REMOVE GREY BACKGROUND/TINT BEHIND TEXT */
@media screen and (max-width: 768px) {

    body.single-product .summary mark,
    body.single-product .summary strong,
    body.single-product .summary b,
    body.single-product .woocommerce-product-details__short-description mark,
    body.single-product .woocommerce-product-details__short-description strong,
    body.single-product .woocommerce-product-details__short-description b {
        background: transparent !important;
        background-color: transparent !important;
    }

}
	/* PRODUCT PAGES – MOBILE ONLY
   Remove grey background from imported .s1 text spans */
@media screen and (max-width: 768px) {

    body.single-product .summary .s1,
    body.single-product .summary span.s1,
    body.single-product .summary .s1 b,
    body.single-product .summary .s1 strong,
    body.single-product .woocommerce-product-details__short-description .s1,
    body.single-product .woocommerce-product-details__short-description span.s1 {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
    }

}
/* SHOP PAGE – MOBILE ONLY
   SHOP eyebrow: blue, bold, not italic */
@media screen and (max-width: 768px) {

    body.woocommerce-shop .blk-article .art-eyebrow {
        color: #244da0 !important;
        font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif !important;
        font-weight: 700 !important;
        font-style: normal !important;
    }

}
	/* SHOP PRODUCT PANELS – MOBILE ONLY
   Replace donation wording */
@media screen and (max-width: 768px) {

    /* Hide existing donation sentence */
    body.woocommerce-shop .im-card-meta span:nth-child(3) {
        font-size: 0 !important;
    }

    /* Insert new mobile wording */
    body.woocommerce-shop .im-card-meta span:nth-child(3)::after {
        content: "Includes 25% donation.";
        font-size: 15px !important;
        line-height: 1.55 !important;
        color: #333 !important;
    }

}
/* ==================================================
   SOLE SUPPORT – MOBILE CURRENCY ICON
   ================================================== */

@media screen and (max-width: 768px) {

.header .header-right .currency-switcher {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: block !important;
    z-index: auto !important;
}

    .header .header-right .currency-switcher-icon {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        min-height: 28px !important;
        max-height: 28px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: hidden !important;
        line-height: 1 !important;
    }

    .header .header-right .currency-switcher-icon img {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        min-height: 28px !important;
        max-height: 28px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header .header-right .currency-switcher.active .currency-switcher-dropdown {
        display: block !important;
    }
}
	/* MOBILE – reduce Sole Support logo/brand by 10% */
@media screen and (max-width: 768px) {

    .header .brand {
        transform: scale(0.90) !important;
        transform-origin: left center !important;
    }

}

	/* MOBILE ONLY — MOVE ENTIRE CURRENCY ICON DOWN */
@media screen and (max-width: 768px) {

    .header .header-right .currency-switcher {
        transform: translateY(6px) !important;
    }

}
/* DESKTOP ONLY — MOVE ACTUAL GLOBE IMAGE DOWN */
@media screen and (min-width: 769px) {

    .header .header-right .currency-switcher-icon img {
        transform: translateY(15px) !important;
    }

}
/* MOBILE ONLY — ALLOW CURRENCY DROPDOWN TO OPEN */
@media screen and (max-width: 768px) {

    }

}
/* MOBILE — FIX CURRENCY DROPDOWN */
@media screen and (max-width: 768px) {

    .header .header-right .currency-switcher-dropdown {
        display: none !important;
        position: absolute !important;
        top: 40px !important;
        right: 0 !important;
        width: 190px !important;
        z-index: 99999 !important;
    }

    .header .header-right .currency-switcher-dropdown[style*="display: block"] {
        display: block !important;
    }

}
/* =========================================================
   PRINT SHOWCASE — CENTRE PRINTS / SHADOW / CAPTION CASE
   Desktop + Mobile
   ========================================================= */

/* Centre each individual slide horizontally */
.blk-prints .shoes > figure {
    min-width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Centre the clickable print/image */
.blk-prints .shoes > figure > a {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

/* Keep existing image dimensions and vertical position.
   Add shadow only. */
.blk-prints .shoes img {
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.28) !important;
}

/* Centre caption and allow upper + lower case */
.blk-prints .shoes figcaption {
    text-align: center !important;
    text-transform: none !important;
}
/* =========================================================
   SOLE SUPPORT — CTA BUTTON TYPOGRAPHY
   Desktop + Mobile
   ========================================================= */

.blk-cta a.btn {
    font-family: var(--gill) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-decoration: none !important;
}

.blk-cta a.btn:link,
.blk-cta a.btn:visited,
.blk-cta a.btn:hover,
.blk-cta a.btn:focus,
.blk-cta a.btn:active {
    font-family: var(--gill) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-decoration: none !important;
}

.blk-cta a.btn:hover,
.blk-cta a.btn:focus,
.blk-cta a.btn:active {
    background: #d8ac35 !important;
    border-color: #d8ac35 !important;
    color: #ffffff !important;
}
/* =========================================================
   CART + CHECKOUT BUTTONS
   Proceed to Checkout + Place Order
   Desktop + Mobile
   ========================================================= */

/* Typography */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-decoration: none !important;
}

/* Remove underline in all states */
.woocommerce .wc-proceed-to-checkout a.checkout-button:link,
.woocommerce .wc-proceed-to-checkout a.checkout-button:visited,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce .wc-proceed-to-checkout a.checkout-button:active,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce #payment #place_order:active,
.woocommerce-page #payment #place_order:hover,
.woocommerce-page #payment #place_order:focus,
.woocommerce-page #payment #place_order:active {
    font-style: normal !important;
    text-decoration: none !important;
}

/* Gold hover / focus / active */
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce .wc-proceed-to-checkout a.checkout-button:active,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce #payment #place_order:active,
.woocommerce-page #payment #place_order:hover,
.woocommerce-page #payment #place_order:focus,
.woocommerce-page #payment #place_order:active {
    background: #d8ac35 !important;
    border-color: #d8ac35 !important;
    color: #ffffff !important;
}
/* =========================================================
   PRODUCT PAGE – ADD TO CART BUTTON
   MOBILE ONLY
   ========================================================= */

@media screen and (max-width: 820px) {

    body.single-product button.single_add_to_cart_button,
    body.single-product .single_add_to_cart_button {
        font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif !important;
        font-weight: 700 !important;
        font-style: normal !important;
        text-decoration: none !important;
    }

    body.single-product button.single_add_to_cart_button:hover,
    body.single-product button.single_add_to_cart_button:focus,
    body.single-product button.single_add_to_cart_button:active,
    body.single-product .single_add_to_cart_button:hover,
    body.single-product .single_add_to_cart_button:focus,
    body.single-product .single_add_to_cart_button:active {
        background: #d8ac35 !important;
        border-color: #d8ac35 !important;
        color: #ffffff !important;
        font-style: normal !important;
        text-decoration: none !important;
    }

}
/* =========================================================
   ABOUT — MOBILE LAYOUT FINAL
   ========================================================= */

@media screen and (max-width: 820px) {

    /* Reduce vertical space in each article section */
    body.page-id-84 .blk-article {
        padding-top: 14px !important;
        padding-bottom: 18px !important;
    }

    /* Full usable mobile width */
    body.page-id-84 .blk-article .wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    /* Keep headline width and centring */
    body.page-id-84 .blk-article .art-head {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto 10px auto !important;
        padding: 0 !important;
        text-align: center !important;
    }
}
/* ABOUT + CHARITY MOBILE — RESET AND CENTRE CONTENT */
@media screen and (max-width: 820px) {

    body.page-id-84 .blk-article .row,
    body.page-id-84 .blk-article .row.img-right {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.page-id-84 .blk-article figure {
        width: 90% !important;
        max-width: 90% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.page-id-84 .blk-article figure img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.page-id-84 .blk-article .body {
        flex: none !important;
        width: 90% !important;
        min-width: 0 !important;
        max-width: 90% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* =====================================================
   ABOUT PAGE — MOBILE FINAL
   Page ID 84
   ===================================================== */

@media screen and (max-width: 820px) {

    /* Reduce vertical space around each article section */
    body.page-id-84 .blk-article {
        padding-top: 14px !important;
        padding-bottom: 18px !important;
    }

    /* Headline */
    body.page-id-84 .blk-article .art-head {
        width: 92% !important;
        max-width: 92% !important;
        margin: 0 auto 10px auto !important;
        padding: 0 !important;
        text-align: center !important;
    }

    /* Keep photographs centred at current width */
    body.page-id-84 .blk-article figure {
        width: 90% !important;
        max-width: 90% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.page-id-84 .blk-article figure img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Body text — EXACTLY SAME WIDTH AS PHOTO */
    body.page-id-84 .blk-article .body.rte {
        flex: none !important;
        width: 90% !important;
        min-width: 0 !important;
        max-width: 90% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;

        box-sizing: border-box !important;
    }

    /* Remove narrower width restrictions inside the text column */
    body.page-id-84 .blk-article .body.rte p,
    body.page-id-84 .blk-article .body.rte ul,
    body.page-id-84 .blk-article .body.rte ol,
    body.page-id-84 .blk-article .body.rte h3,
    body.page-id-84 .blk-article .body.rte h4 {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* =====================================================
   ABOUT MOBILE — FINAL TWO CORRECTIONS
   ===================================================== */

@media screen and (max-width: 820px) {

    /* 1. MAIN TEXT — SAME WIDTH AS PHOTOS */
    body.page-id-84 .blk-article .body.rte {
        width: 90vw !important;
        min-width: 90vw !important;
        max-width: 90vw !important;

        margin-left: auto !important;
        margin-right: auto !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    /* 2. REDUCE SPACE BETWEEN HEADLINE AND PHOTO/TEXT */
    body.page-id-84 .blk-article .art-head + .row {
    }

}
/* =====================================================
   ABOUT MOBILE — REDUCE GAP BELOW HEADLINES ONLY
   ===================================================== */

@media screen and (max-width: 820px) {

    body.page-id-84 .blk-article .art-head + .row {
        position: relative !important;
        top: -22px !important;
    }

}
/* =====================================================
   ABOUT MOBILE — MOVE HEADLINES DOWN ONLY
   ===================================================== */

@media screen and (max-width: 820px) {

    body.page-id-84 .blk-article .art-head {
        position: relative !important;
        top: 25px !important;
    }

}
/* =========================================================
   CHARITY PAGE — MOBILE FINAL LAYOUT
   Page ID 1148
   ========================================================= */

@media screen and (max-width: 820px) {

    /* FULL-WIDTH MOBILE CONTAINER */
    body.page-id-1148 .blk-article .wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    /* Section spacing */
    body.page-id-1148 .blk-article {
        padding-top: 14px !important;
        padding-bottom: 18px !important;
    }

    /* HEADLINES — wider and centred */
    body.page-id-1148 .blk-article .art-head {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 10px !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        text-align: center !important;

        /* Same successful positioning as ABOUT */
        position: relative !important;
        top: 14px !important;
    }

    /* ARTICLE ROW */
    body.page-id-1148 .blk-article .row,
    body.page-id-1148 .blk-article .row.img-right {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        flex-direction: column !important;
        align-items: center !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    /* PHOTOS — centred */
    body.page-id-1148 .blk-article figure {
        flex: none !important;

        width: 90vw !important;
        min-width: 0 !important;
        max-width: 90vw !important;

        margin-left: auto !important;
        margin-right: auto !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.page-id-1148 .blk-article figure img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* MAIN TEXT — same width as photograph */
    body.page-id-1148 .blk-article .body.rte {
        flex: none !important;

        width: 90vw !important;
        min-width: 0 !important;
        max-width: 90vw !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        position: static !important;
        left: auto !important;
        right: auto !important;

        /* Cancel old -42px mobile rule */
        transform: none !important;

        box-sizing: border-box !important;
    }

    body.page-id-1148 .blk-article .body.rte p {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* CHARITY MOBILE — vertically centre headlines in existing space */
@media screen and (max-width: 820px) {

    body.page-id-1148 .blk-article .art-head {
        position: relative !important;
        top: 40px !important;
    }

}
/* =========================================================
   SHOP PAGE — MOBILE FINAL LAYOUT
   ========================================================= */

@media screen and (max-width: 820px) {

    body.post-type-archive-product .blk-article > .wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.post-type-archive-product .blk-article .art-head {
        width: 92vw !important;
        max-width: 92vw !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;

        position: relative !important;
        top: 24px !important;
    }

    body.post-type-archive-product .blk-article .row {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.post-type-archive-product .blk-article .row figure {
        flex: none !important;
        width: 90vw !important;
        min-width: 0 !important;
        max-width: 90vw !important;

        margin-left: auto !important;
        margin-right: auto !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.post-type-archive-product .blk-article .row figure img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.post-type-archive-product .blk-article .body.rte {
        flex: none !important;
        width: 90vw !important;
        min-width: 0 !important;
        max-width: 90vw !important;

        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;

        box-sizing: border-box !important;
    }

    body.post-type-archive-product .blk-article .body.rte p,
    body.post-type-archive-product .blk-article .body.rte ul {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* =========================================================
   SHOP PAGE MOBILE — TOP PANEL SPACING
   ========================================================= */

@media screen and (max-width: 820px) {

    /* Reduce height of the entire grey introductory panel */
    body.post-type-archive-product main#content > 
    section.blk-article.bg-gray {
        padding-top: 20px !important;
        padding-bottom: 30px !important;
    }

    /* SHOP eyebrow — remove space underneath */
    body.post-type-archive-product 
    section.blk-article.bg-gray .art-eyebrow {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Main headline — remove artificial downward movement
       and place immediately below SHOP */
    body.post-type-archive-product 
    section.blk-article.bg-gray .art-head {
        position: static !important;
        top: auto !important;
        margin-top: 6px !important;
        margin-bottom: 24px !important;
    }

    /* Remove unnecessary space before photograph/content */
    body.post-type-archive-product 
    section.blk-article.bg-gray .art-head + .row {
        margin-top: 0 !important;
    }
}
/* =========================================================
   SHOP MOBILE — FINAL VERTICAL SPACING CORRECTION
   ========================================================= */

@media screen and (max-width: 820px) {

    /* Remove space between SHOP and main headline */
    body.post-type-archive-product
    .blk-article.bg-gray .art-eyebrow {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

   body.post-type-archive-product
.blk-article.bg-gray .art-eyebrow + .art-head {
    margin-top: 12px !important;
    margin-bottom: 20px !important;
    padding-top: 0 !important;
    top: auto !important;
    position: static !important;
}

    /* Pull photo/text row upward and physically reduce grey panel */
    body.post-type-archive-product
    .blk-article.bg-gray .art-head + .row {
        position: relative !important;
        top: -75px !important;
        margin-bottom: -75px !important;
    }
}
/* =========================================================
   HOME PAGE — MOBILE ONLY
   PREVENT WHOLE PAGE MOVING SIDEWAYS
   ========================================================= */

@media screen and (max-width: 820px) {

    html,
    body.home {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
        overscroll-behavior-x: none !important;
    }

    body.home {
        position: relative !important;
        touch-action: pan-y !important;
    }

    body.home #content {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.home section,
    body.home .hero {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}
/* =========================================================
   MOBILE — PHOTO MOSAIC FEATURE + TWO-COLUMN TEXT
   Add one line of space above and below text
   ========================================================= */

@media screen and (max-width: 820px) {

    /* Space above headings */
    .mosaic-pair .two-col h3,
    .blk-twocol .two-col h3 {
        margin-top: 20px !important;
    }

    /* Space below the final paragraph */
    .mosaic-pair .two-col p:last-child,
    .blk-twocol .two-col p:last-child {
        margin-bottom: 20px !important;
    }
}
/* =========================================================
   HOME MOBILE — 2008 ANTHONY GREEN HEADLINE SPACING
   ========================================================= */

@media screen and (max-width: 820px) {

    body.home .mosaic-pair.bg-white + .blk-intro.bg-dark {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.home .mosaic-pair.bg-white + .blk-intro.bg-dark .wrap {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.home .mosaic-pair.bg-white + .blk-intro.bg-dark .intro {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}
/* =========================================================
   HOME MOBILE — DISABLE NESTED SCROLLING
   "Children Living Rough on the Streets of Manila" section
   ========================================================= */

@media screen and (max-width: 820px) {

    body.home .hero + section.blk-article.bg-dark {
        height: auto !important;
        max-height: none !important;

        overflow: visible !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;

        overscroll-behavior: auto !important;
        touch-action: pan-y !important;
    }

    body.home .hero + section.blk-article.bg-dark > .wrap,
    body.home .hero + section.blk-article.bg-dark .row,
    body.home .hero + section.blk-article.bg-dark .body.rte {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        overflow-y: visible !important;
    }
}
/* =========================================================
   HOME MOBILE — REMOVE NESTED SCROLLING
   WITHOUT CLIPPING THE MAIN IMAGE
   ========================================================= */

@media screen and (max-width: 820px) {

    body.home .hero + section.blk-article.bg-dark {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: visible !important;
        overscroll-behavior: auto !important;
        touch-action: pan-y !important;
    }

    body.home .hero + section.blk-article.bg-dark > .wrap,
    body.home .hero + section.blk-article.bg-dark .row,
    body.home .hero + section.blk-article.bg-dark figure,
    body.home .hero + section.blk-article.bg-dark .body.rte {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.home .hero + section.blk-article.bg-dark figure img {
        max-width: none !important;
        overflow: visible !important;
    }
}
/* HOME MOBILE — add dark space below street children image */
@media screen and (max-width: 768px) {

    html body.home main#content > .hero + section.section.blk.blk-article.bg-dark {
        padding-bottom: 50px !important;
    }

}
/* =========================================================
   HOME MOBILE – MOVE MOSAIC PHOTO CAPTIONS BELOW PHOTOS
   ========================================================= */

@media screen and (max-width: 820px) {

    body.home .blk-mosaic .photo-grid .cap {
        position: static !important;
        display: block !important;

        background: transparent !important;
        color: inherit !important;

        font-family: Gill, "Gill Sans", "Gill Sans MT", sans-serif !important;
        font-style: italic !important;
        font-size: 18px !important;
        line-height: 1.25 !important;
        font-weight: normal !important;

        text-align: center !important;
        padding: 7px 8px 12px !important;
        margin: 0 !important;

        width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* =========================================================
   HOME – 75,000 CHILDREN HEADLINE ONLY
   ========================================================= */

/* DESKTOP */
@media screen and (min-width: 821px) {
    body.home section.blk-tworich.bg-white > .wrap > .cols > .col.rte:not(.faq-column) > div[style*="height:60px"] + h3 {
        font-size: 44px !important;
		font-weight:900 !important;
        line-height: 1.00 !important;
        color: #1e4494 !important;
        text-align: left !important;
    }
	/* DESKTOP ONLY - EXTRA SPACE ABOVE FAQ CONTENT */
@media screen and (min-width: 821px) {

    body.home section.blk-tworich.bg-white:has(.faq-column) > .wrap {
        margin-top: 100px !important;
    }

}
	/* DESKTOP - BUY A PRINT + MAKE A DONATION LINKS */
body.home main section.blk-tworich.bg-white
> .wrap > .cols > .col.rte:not(.faq-column)
> h3:nth-of-type(n+2) > a:not(.button) {
    font-weight:900 !important;
    text-decoration:none !important;
    text-decoration-line:none !important;
    text-decoration-thickness:0 !important;
    text-underline-offset:0 !important;
    border-bottom:none !important;
    box-shadow:none !important;
    color:#1f3b90 !important;
}
}

/* MOBILE */
@media screen and (max-width: 820px) {
    body.home section.blk-tworich.bg-white > .wrap > .cols > .col.rte > div[style*="height:60px"] + h3 {
        font-size: 44px !important;
		font-weight:900 !important;
        line-height: 1.00 !important;
        color: #1e4494 !important;
        text-align: center !important;
    }
}
/* HOME PAGE DESKTOP LAYOUT REPAIRS */
@media screen and (min-width:821px) {

    /* TOP SECTION: sleeping children + text */
    body.home section.blk-article .row {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:flex-start !important;
        justify-content:space-between !important;
        gap:60px !important;
        width:100% !important;
    }

    body.home section.blk-article .row > figure,
    body.home section.blk-article .row > .body {
        flex:0 0 calc(50% - 30px) !important;
        width:calc(50% - 30px) !important;
        max-width:calc(50% - 30px) !important;
        min-width:0 !important;
    }
/* Vertically centre heading beside sleeping-children image */
body.home section.blk-article .row > .body {
    transform:translateY(80px) !important;
}
}
    /* LOWER TWO-COLUMN RICH SECTIONS */
    body.home section.blk-tworich .cols {
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        column-gap:60px !important;
        align-items:start !important;
        width:100% !important;
    }

    body.home section.blk-tworich .cols > .col {
        width:auto !important;
        max-width:none !important;
        min-width:0 !important;
    }
}
/* RESTORE ABOUT + CHARITY ARTICLE SECTIONS TO TWO COLUMNS — DESKTOP ONLY */
@media screen and (min-width:821px) {

    body:not(.home) section.blk-article .row {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:flex-start !important;
        justify-content:space-between !important;
        gap:60px !important;
        width:100% !important;
    }

    body:not(.home) section.blk-article .row.img-right {
        flex-direction:row-reverse !important;
    }

    body:not(.home) section.blk-article .row > figure,
    body:not(.home) section.blk-article .row > .body {
        flex:0 0 calc(50% - 30px) !important;
        width:calc(50% - 30px) !important;
        max-width:calc(50% - 30px) !important;
        min-width:0 !important;
    }

    body:not(.home) section.blk-article .row > figure {
        margin:0 !important;
    }
}
/* RESTORE ABOUT + CHARITY DESKTOP ARTICLE DESIGN */
@media screen and (min-width:821px) {

    body:not(.home) section.blk-article .wrap {
        max-width:1120px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }

    body:not(.home) section.blk-article .art-head {
        font-size:36px !important;
        line-height:1.25 !important;
        margin:0 auto 50px !important;
        max-width:1120px !important;
        text-align:center !important;
    }

    body:not(.home) section.blk-article .row {
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:center !important;
        gap:80px !important;
    }

    body:not(.home) section.blk-article .row.img-right {
        flex-direction:row-reverse !important;
    }

    body:not(.home) section.blk-article .row > figure {
        flex:0 0 46% !important;
        width:46% !important;
        max-width:46% !important;
        margin:0 !important;
    }

    body:not(.home) section.blk-article .row > .body {
        flex:0 0 46% !important;
        width:46% !important;
        max-width:46% !important;
    }

    body:not(.home) section.blk-article figure img {
        width:100% !important;
        height:auto !important;
        display:block !important;
    }
}
/* RESTORE CHARITY PAGE DESKTOP ARTICLE LAYOUT ONLY */
@media screen and (min-width:821px) {

    body.page-id-1148 section.blk-article .wrap {
        max-width:1120px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }

    body.page-id-1148 section.blk-article .art-head {
        font-size:36px !important;
        line-height:1.25 !important;
        margin:0 auto 50px !important;
        max-width:1120px !important;
        text-align:center !important;
    }

    body.page-id-1148 section.blk-article .row {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        gap:80px !important;
        width:100% !important;
    }

    body.page-id-1148 section.blk-article .row.img-right {
        flex-direction:row-reverse !important;
    }

    body.page-id-1148 section.blk-article .row > figure {
        flex:0 0 46% !important;
        width:46% !important;
        max-width:46% !important;
        margin:0 !important;
    }

    body.page-id-1148 section.blk-article .row > .body {
        flex:0 0 46% !important;
        width:46% !important;
        max-width:46% !important;
        min-width:0 !important;
    }

    body.page-id-1148 section.blk-article figure img {
        width:100% !important;
        height:auto !important;
        display:block !important;
    }
}
/* HOME TWO-COLUMN RICH SECTIONS — MOBILE MUST BE ONE COLUMN */
@media screen and (max-width:820px) {

    body.home section.blk-tworich .cols {
        display:grid !important;
        grid-template-columns:1fr !important;
        column-gap:0 !important;
        row-gap:24px !important;
        width:100% !important;
    }

    body.home section.blk-tworich .cols > .col {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}
/* HOME MOBILE ONLY — REDUCE FOUR LARGE VERTICAL GAPS BY 50% */
@media screen and (max-width:820px) {

    /* Gap 1 */
    body.home .mosaic-pair.bg-white + section.blk-intro {
        padding-top:30px !important;
    }

    /* Gap 2 */
    body.home section.blk-intro.bg-dark {
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    /* Gap 3 */
    body.home .mosaic-pair.bg-dark + section.blk-intro {
        padding-top:30px !important;
    }

    /* Gap 4 */
    body.home section.blk-intro.bg-white + section.blk-mosaic-split {
        padding-top:30px !important;
    }
}
/* HOME MOBILE — REDUCE TWO-COLUMN BLOCK VERTICAL SPACING BY 50% */
@media screen and (max-width:820px) {

    body.home .two-col {
        grid-template-columns:1fr !important;
        gap:14px !important;
        padding:5px 0 35px !important;
    }

}
/* HOME MOBILE ONLY — REMOVE EXCESS TOP SPACE ABOVE TWO-COLUMN TEXT */
@media screen and (max-width:820px) {

    body.home section.blk-twocol {
        padding-top:0 !important;
        padding-bottom:20px !important;
    }

    body.home section.blk-twocol .wrap {
        padding-top:0 !important;
        padding-bottom:0 !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
    }

    body.home section.blk-twocol .two-col {
        grid-template-columns:1fr !important;
        gap:20px !important;
        padding:0 !important;
        margin:0 !important;
    }

    body.home section.blk-twocol .two-col > div {
        margin:0 !important;
        padding:0 !important;
    }

body.home section.blk-twocol .two-col h3 {
    margin-top:0 !important;
    margin-bottom:12px !important;
}

    body.home section.blk-twocol .two-col p {
        margin-top:0 !important;
        margin-bottom:18px !important;
    }
	body.home section.blk-twocol .two-col {
    padding-top:0 !important;
}

body.home section.blk-twocol .two-col > div:first-child {
    padding-top:0 !important;
    margin-top: 0px !important;
}
}
/* MOBILE ONLY — reduce space below Small image 2 caption */
@media screen and (max-width:820px) {

    body.home .small2-wrap .cap {
        margin-bottom:-40px !important;
    }

}
/* HOME MOBILE ONLY — pull Two-Column Text section upward after mosaic */
@media screen and (max-width:820px) {

    body.home .mosaic-pair.bg-white + section.blk-twocol {
        margin-top:-40px !important;
    }

}
/* HOME MOBILE — REMOVE UNUSED HEIGHT FROM WHITE PHOTO MOSAIC */
@media screen and (max-width:820px) {

    body.home .mosaic-pair.bg-white section.blk-mosaic {
        height:auto !important;
        min-height:0 !important;
    }

    body.home .mosaic-pair.bg-white section.blk-mosaic .wrap {
        height:auto !important;
        min-height:0 !important;
    }

    body.home .mosaic-pair.bg-white .photo-grid {
        height:auto !important;
        min-height:0 !important;
        grid-template-rows:auto !important;
        grid-auto-rows:auto !important;
        align-content:start !important;
    }
}
/* HOME MOBILE — COLLAPSE WHITE MOSAIC TO CONTENT HEIGHT */
@media screen and (max-width:820px) {

    body.home .mosaic-pair.bg-white {
        height:auto !important;
        min-height:0 !important;
    }

    body.home .mosaic-pair.bg-white .blk-mosaic {
        height:auto !important;
        min-height:0 !important;
        padding-bottom:0 !important;
    }

    body.home .mosaic-pair.bg-white .photo-grid {
        display:flex !important;
        flex-direction:column !important;
        height:auto !important;
        min-height:0 !important;
        gap:10px !important;
    }

    body.home .mosaic-pair.bg-white .photo-grid > * {
        position:static !important;
        height:auto !important;
        min-height:0 !important;
        margin-bottom:0 !important;
        width:100% !important;
        max-width:100% !important;
    }

    body.home .mosaic-pair.bg-white .photo-grid img,
    body.home .mosaic-pair.bg-white .photo-grid picture {
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        display:block !important;
    }
}
/* HOME MOBILE — reduce gap below caption in black mosaic */
@media screen and (max-width:820px) {

    body.home .mosaic-pair.bg-dark .cap {
        margin-bottom:-15px !important;
    }

}
/* HOME MOBILE — tighten white intro headline below black section */
@media screen and (max-width:820px) {

    body.home section.blk-intro.bg-white {
        padding-top:20px !important;
        padding-bottom:2px !important;
    }

    body.home section.blk-intro.bg-white .wrap {
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    body.home section.blk-intro.bg-white .intro {
        margin-top:0 !important;
        margin-bottom:0 !important;
    }
}
/* MOBILE ONLY — FIXED HEADER ON ABOUT + CHARITY */
@media screen and (max-width:820px) {

    body.page-id-84 .header,
    body.page-id-1148 .header {
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        z-index:99999 !important;
        background:#fff !important;
    }

    /* Replace the space normally occupied by the 74px header */
    body.page-id-84 #content,
    body.page-id-1148 #content {
        padding-top:74px !important;
    }
}
/* =========================================================
   SHOP — DESKTOP ONLY — RESTORE 3-COLUMN PRODUCT GRID
   ========================================================= */

@media screen and (min-width:821px) {

    body.woocommerce-shop .wc-wrap ul.products,
    body.post-type-archive-product .wc-wrap ul.products {
        display:grid !important;
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
        column-gap:24px !important;
        row-gap:24px !important;
        width:100% !important;
    }

    body.woocommerce-shop .wc-wrap ul.products > li.product,
    body.post-type-archive-product .wc-wrap ul.products > li.product {
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        float:none !important;
        clear:none !important;
    }

}
/* ABOUT + CHARITY article headlines:
   first line stays bold, remaining lines lighter */
.art-head.art-head-split .art-head-first {
    font-weight: 700 !important;
    color: #1e4593 !important;
}
.art-head.art-head-split .art-head-rest {
    font-weight: 600 !important;
}
/* ABOUT + CHARITY + SHOES – extra space above ALL article headlines
   DESKTOP ONLY */
@media screen and (min-width: 821px) {
    body.page-id-84 .blk-article .art-head,
    body.page-id-1148 .blk-article .art-head,
    body.post-type-archive-product .blk-article .art-eyebrow {
        padding-top: 36px !important;
    }
}
/* MOBILE ONLY — People Power icon position */
@media screen and (max-width: 768px) {
    body.home .hero picture.hlogo img[src*="40th-anniversary"] {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        transform: translateY(-35px) !important;
        z-index: 10 !important;
    }
}
/* =========================================================
   SOLE SUPPORT DONATION BOX — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart #dotfw_donation .sole-support-donation-title {
        color: #d52b1e !important;
        font-size: 26px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        border-left: 5px solid #1f3b90 !important;
        padding-left: 12px !important;
        margin-bottom: 22px !important;
    }

    body.woocommerce-cart #dotfw_donation .dotfw-options {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 9px !important;
    }

    body.woocommerce-cart #dotfw_donation .dotfw-pill {
        font-size: 18px !important;
        font-weight: 600 !important;
        padding: 11px 17px !important;
        min-width: 72px !important;
        border: 2px solid #1f3b90 !important;
        border-radius: 6px !important;
        background: #f1f1f1 !important;
        color: #111 !important;
    }

    body.woocommerce-cart #dotfw_donation .dotfw-pill.active {
        background: #1f3b90 !important;
        color: #fff !important;
    }

}
/* =========================================================
   SOLE SUPPORT — SHOW PRODUCT IMAGE IN MOBILE CART
   ========================================================= */

@media only screen and (max-width: 768px) {

    .woocommerce #content table.cart .product-thumbnail,
    .woocommerce table.cart .product-thumbnail,
    .woocommerce-page #content table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail {
        display: block !important;
    }

    .woocommerce-page table.cart td.product-thumbnail {
        text-align: center !important;
        padding: 18px 12px !important;
    }

    .woocommerce-page table.cart td.product-thumbnail::before {
        display: none !important;
    }

    .woocommerce-page table.cart td.product-thumbnail img {
        display: block !important;
        width: 110px !important;
        max-width: 110px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}
/* =========================================================
   SOLE SUPPORT — MOBILE CART PRODUCT LAYOUT
   Image beside product description
   ========================================================= */

@media only screen and (max-width: 768px) {

    body.woocommerce-cart
    table.shop_table_responsive
    tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: 150px 1fr !important;
        grid-template-areas:
            "remove remove"
            "name name"
            "thumb namecontent"
            "price price"
            "quantity quantity"
            "subtotal subtotal" !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-remove {
        grid-area: remove !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        grid-area: thumb !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 16px 8px !important;
        border-top: 1px solid #cccccc !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 150px 1fr !important;
        padding: 0 !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name::before {
        grid-column: 1 / -1 !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        padding: 18px 30px !important;
        background: #f4f4f4 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name > a {
        grid-column: 2 !important;
        padding: 16px 18px !important;
        align-self: center !important;
        text-align: left !important;
    }

    body.woocommerce-cart
    td.product-thumbnail img {
        width: 145px !important;
        max-width: 145px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-price,
    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-quantity,
    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-subtotal {
        grid-column: 1 / -1 !important;
    }
}
/* FINAL MOBILE CART — IMAGE + DESCRIPTION SIDE BY SIDE */
@media only screen and (max-width: 768px) {

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item {
        grid-template-columns: 42% 58% !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 3 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 20px 10px !important;
        border-top: 0 !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name {
        grid-column: 2 !important;
        grid-row: 3 !important;
        display: flex !important;
        align-items: center !important;
        padding: 20px 20px 20px 5px !important;
        text-align: left !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name::before {
        display: none !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-name > a {
        display: block !important;
        padding: 0 !important;
        text-align: left !important;
    }

    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item td.product-thumbnail img {
        width: 145px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    /* Restore PRODUCT heading above both columns */
    body.woocommerce-cart
    tr.woocommerce-cart-form__cart-item::before {
        content: "Product:";
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: block !important;
        padding: 18px 30px !important;
        font-weight: 700 !important;
        font-size: inherit !important;
        background: #f4f4f4 !important;
        box-sizing: border-box !important;
    }
}
/* =========================================================
   RETURN TO SHOP — MOBILE ONLY
   ========================================================= */

@media only screen and (max-width: 768px) {

    body.woocommerce-cart .sole-support-return-shop {
        transform: translateY(-20px) !important;
        margin-bottom: 8px !important;
    }

    body.woocommerce-cart .sole-support-return-shop a {
        color: #1f3b90 !important;
        text-decoration: underline !important;
    }

    body.woocommerce-cart .sole-support-return-shop .return-arrow {
        color: #1f3b90 !important;
        text-decoration: none !important;
    }
}
@media only screen and (max-width: 768px) {

    body.woocommerce-cart .sole-support-return-shop a {
        font-size: 19.8px !important;
        font-weight: 600 !important;
    }

}
/* =========================================================
   SHOP — MOBILE: "THE SHOES" ONLY
   ========================================================= */

@media only screen and (max-width: 767px) {

    body.post-type-archive-product
    .blk-article.bg-gray
    .art-eyebrow {
        transform: translateY(14px) scale(0.90) !important;
        transform-origin: center center !important;
    }

}
/* =========================================================
   CART — APPLY COUPON + UPDATE CART
   Match PROCEED TO CHECKOUT button
   Desktop + Mobile
   ========================================================= */

.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"] {
    background: #1f3b90 !important;
    color: #ffffff !important;
    border: 0 !important;
    font-weight: 700 !important;
}

/* Hover */
.woocommerce-cart button[name="apply_coupon"]:hover,
.woocommerce-cart button[name="update_cart"]:hover {
    background: #163274 !important;
    color: #ffffff !important;
}
/* =========================================================
   EMPTY CART — RETURN TO SHOP BUTTON
   Match PROCEED TO CHECKOUT
   Desktop + Mobile
   ========================================================= */

.woocommerce-cart .return-to-shop .button {
    background: #1f3b90 !important;
    color: #ffffff !important;
    border: 0 !important;
    font-weight: 700 !important;
}

/* Hover */
.woocommerce-cart .return-to-shop .button:hover {
    background: #163274 !important;
    color: #ffffff !important;
}
/* SHOP — show genuine Price Based on Country price */
body.post-type-archive-product .im-card-meta .woocommerce-Price-amount,
body.post-type-archive-product .im-card-meta .woocommerce-Price-amount bdi,
body.post-type-archive-product .im-card-meta .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #333 !important;
}

body.post-type-archive-product .im-card-meta .woocommerce-Price-amount::after {
    content: none !important;
    display: none !important;
}
/* DONATE PAGE – hero donation panel */
body.page-id-107 .hero {
    position: relative;
}

body.page-id-107 .sole-donate-hero-panel {
    position: absolute;
    top: 18%;
    right: 7%;
    width: 360px;
    z-index: 20;
    text-align: center;
}

body.page-id-107 .sole-donate-buy-print,
body.page-id-107 .sole-donate-heading {
    display: block;
    width: 100%;
    background: #fff;
    border: 5px solid #1f3b90;
    color: #1f3b90;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    padding: 10px 15px;
    text-decoration: none;
}

body.page-id-107 .sole-donate-or {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    margin: 12px 0;
}

body.page-id-107 #sole-donate-box-target {
    margin-top: 24px;
}

body.page-id-107 #sole-donate-box-target #dotfw_donation {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center;
}

/* hide plugin's own Donation heading inside hero */
body.page-id-107 #sole-donate-box-target #dotfw_donation h1,
body.page-id-107 #sole-donate-box-target #dotfw_donation h2,
body.page-id-107 #sole-donate-box-target #dotfw_donation h3,
body.page-id-107 #sole-donate-box-target #dotfw_donation h4,
body.page-id-107 #sole-donate-box-target #dotfw_donation h5,
body.page-id-107 #sole-donate-box-target #dotfw_donation h6 {
    display: none !important;
}
/* DONATE PAGE – hero donation panel */

.hero {
    position: relative;
}

.sole-donate-hero-panel {
    position: absolute !important;
    top: 18% !important;
    right: 7% !important;
    width: 360px !important;
    z-index: 999 !important;
    text-align: center !important;
}

/* DONATE PAGE – Buy a Shoe Print CTA */
.sole-donate-buy-print {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    background: #1f3b90 !important;
    color: #ffffff !important;
    border: 0 !important;

    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
	text-transform: uppercase !important;
    text-transform: uppercase !important;

    padding: 18px 20px !important;
}

.sole-donate-buy-print:hover {
    background: #d4af37 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.sole-donate-buy-print,
.sole-donate-buy-print:link,
.sole-donate-buy-print:visited,
.sole-donate-buy-print:hover,
.sole-donate-buy-print:focus,
.sole-donate-buy-print:active {
    text-decoration: none !important;
}
/* ==================================================
   DONATE PAGE — CUSTOM DONATION PANEL
   ================================================== */

.sole-custom-donation-box {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    background: #ffffff !important;
    border: 2px solid #b8b8b8 !important;
    border-radius: 18px !important;

    padding: 24px 28px !important;
    margin: 0 !important;

    text-align: center !important;
}

/* Make a Donation heading */

.sole-custom-donation-box .sole-custom-donation-title {
    display: block !important;
    margin: 0 0 22px 0 !important;

    color: #000000 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* Donation button area */

.sole-custom-donation-box .sole-custom-donation-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 14px !important;
}

/* Donation amount buttons */

.sole-custom-donation-box .sole-donation-amount,
.sole-custom-donation-box .sole-donation-other {
    appearance: none !important;
    -webkit-appearance: none !important;

    background: #dddddd !important;
    border: 0 !important;
    border-radius: 11px !important;

    padding: 12px 20px !important;

    color: #000000 !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;

    cursor: pointer !important;
}

/* Selected donation */

.sole-custom-donation-box .sole-donation-amount.active,
.sole-custom-donation-box .sole-donation-amount.selected {
    background: #c8f8ce !important;
}

/* Remove button */

.sole-custom-donation-box .sole-donation-remove {
    appearance: none !important;
    -webkit-appearance: none !important;

    background: #087fc1 !important;
    border: 0 !important;
    border-radius: 11px !important;

    padding: 12px 20px !important;

    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;

    cursor: pointer !important;
}

/* Other amount field */

.sole-custom-donation-box .sole-donation-other-entry {
    display: none;
    width: 100% !important;
    margin-top: 16px !important;
}

/* Confirmation message */

.sole-custom-donation-box #sole-donation-confirmation {
    margin-top: 18px !important;

    color: #000000 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}
/* DONATE PAGE — style Other amount entry */

.sole-custom-donation-box .sole-donation-other-entry {
    width: 100% !important;
    margin-top: 18px !important;
    display: flex;
    gap: 12px !important;
    align-items: center !important;
}

.sole-custom-donation-box .sole-donation-custom-value {
    flex: 1 1 auto !important;
    min-width: 0 !important;

    background: #dddddd !important;
    border: 0 !important;
    border-radius: 11px !important;

    padding: 12px 16px !important;

    color: #000000 !important;
    font-size: 22px !important;
    line-height: 1.1 !important;

    box-sizing: border-box !important;
}

.sole-custom-donation-box .sole-donation-add-custom {
    background: #087fc1 !important;
    border: 0 !important;
    border-radius: 11px !important;

    padding: 12px 18px !important;

    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;

    cursor: pointer !important;
}
/* DONATE PAGE — refine Other amount entry */

.sole-custom-donation-box .sole-donation-other-entry {
    width: 100% !important;
    margin-top: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.sole-custom-donation-box .sole-donation-custom-value {
    width: 100% !important;
    max-width: 320px !important;
    flex: none !important;

    padding: 10px 14px !important;

    font-size: 20px !important;
    line-height: 1.1 !important;
}

/* Remove number-field arrows — Chrome, Safari, Edge */

.sole-custom-donation-box .sole-donation-custom-value::-webkit-outer-spin-button,
.sole-custom-donation-box .sole-donation-custom-value::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Remove number-field arrows — Firefox */

.sole-custom-donation-box .sole-donation-custom-value {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

/* Align Add to Cart button left */

.sole-custom-donation-box .sole-donation-add-custom {
    align-self: flex-start !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    font-size: 20px !important;
}
/* ==================================================
   DONATE PAGE — FINAL PANEL LAYOUT
   ================================================== */

/* First five donation buttons */

.sole-custom-donation-box .sole-custom-donation-buttons {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    align-items: stretch !important;
}

.sole-custom-donation-box .sole-donation-amount,
.sole-custom-donation-box .sole-donation-other {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Second row naturally contains $50 + Other */

.sole-custom-donation-box .sole-donation-other-entry {
    width: 100% !important;
    margin-top: 18px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
}

/* Enter amount + Remove on same line */

.sole-custom-donation-box .sole-donation-other-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 14px !important;
    width: 100% !important;
    align-items: stretch !important;
}

.sole-custom-donation-box .sole-donation-custom-value {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Remove button beside input */

.sole-custom-donation-box .sole-donation-other-row .sole-donation-remove {
    width: auto !important;
    min-width: 145px !important;
    margin: 0 !important;
}

/* Add to Cart below and left aligned */

.sole-custom-donation-box .sole-donation-add-custom {
    align-self: flex-start !important;
    margin: 0 !important;
}

/* Remove number arrows */

.sole-custom-donation-box .sole-donation-custom-value::-webkit-outer-spin-button,
.sole-custom-donation-box .sole-donation-custom-value::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.sole-custom-donation-box .sole-donation-custom-value {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
/* =========================================================
   DONATE PAGE — BUY A SHOE PRINT
   Match HOME CTA button
   ========================================================= */

.hero.hero-donate .sole-donate-buy-print {
    font-family: var(--gill) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    background: #1f3b90 !important;
    color: #fff !important;

    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.22) !important;

    transition:
        transform 0.20s ease,
        box-shadow 0.20s ease !important;
}

/* Mouseover — gold, enlarge and lift */
.hero.hero-donate .sole-donate-buy-print:hover {
    background: #c9a227 !important;
    color: #fff !important;
    text-decoration: none !important;

    transform: translateY(-3px) scale(1.06) !important;

    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.30) !important;
}

/* Prevent underline in every state */
.hero.hero-donate .sole-donate-buy-print:visited,
.hero.hero-donate .sole-donate-buy-print:focus,
.hero.hero-donate .sole-donate-buy-print:active {
    color: #fff !important;
    text-decoration: none !important;
}
/* SHOP PAGE — MOBILE STICKY HEADER ONLY */
@media (max-width: 820px) {

    body.post-type-archive-product .header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
    }

    body.post-type-archive-product main#content {
        padding-top: 74px !important;
    }
}
/* HOME — MOBILE: reduce gap between homeless-children heading and photo */
@media (max-width: 820px) {
    body.home .blk-tworich .rich-media {
        margin-top: -100px !important;
    }
}
/* DESKTOP ONLY — move main menu down slightly */
@media (min-width: 821px) {
    .header .nav {
        transform: translateY(10px) !important;
    }
}
/* FOOTER — smaller contact details */
.footer .contact {
    font-size: 90% !important;
    line-height: 1.35 !important;
}

.footer .contact a {
    font-size: inherit !important;
}

/* FOOTER — social icons 10% smaller */
.footer .socials a {
    width: 30px !important;
    height: 30px !important;
}

.footer .socials a img,
.footer .socials a svg {
    width: 100% !important;
    height: 100% !important;
}
/* =========================================================
   DESKTOP MENU — DROPDOWN SUBMENUS
   ========================================================= */

@media screen and (min-width: 821px) {

    /* Parent menu item becomes anchor for dropdown */
    .header .nav .menu-item-has-children {
        position: relative;
    }

    /* Small downward triangle beside parent name */
    .header .nav .menu-item-has-children > a::after {
        content: "▼";
        display: inline-block;
        margin-left: 7px;
        font-size: 10px;
        vertical-align: 2px;
    }

    /* Hide submenu until parent is hovered */
    .header .nav .sub-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;

        width: 300px;
        margin: 0;
        padding: 12px 0;

        list-style: none;
        background: #ffffff;

        box-shadow: 0 8px 18px rgba(0,0,0,0.18);
        z-index: 99999;

        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    /* Reveal dropdown */
    .header .nav .menu-item-has-children:hover > .sub-menu,
    .header .nav .menu-item-has-children:focus-within > .sub-menu {
        display: flex;
    }

    /* Individual submenu items */
    .header .nav .sub-menu li {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    /* Submenu links */
    .header .nav .sub-menu a {
        display: block;
        width: 100%;

        padding: 10px 18px;

        font-size: 17px;
        line-height: 1.25;
        letter-spacing: 0.5px;
        text-align: left;

        border-bottom: 0;
        transform: none;
        white-space: normal;
    }

    /* Submenu mouseover */
    .header .nav .sub-menu a:hover {
        background: #f2f2f2;
        color: #1f3b90;
        transform: none;
        border-bottom: 0;
    }
}
/* ==========================================================
   STORIES SUBMENU — FONT SIZE + MOBILE
   ========================================================== */

/* Desktop: make submenu text 15% smaller */
@media screen and (min-width: 821px) {
    .header .nav .sub-menu a {
        font-size: 14.5px !important;
    }
}

/* Mobile: nested dropdown menus */
@media screen and (max-width: 820px) {

    /* Downward triangle beside menu items with children */
    .header .nav .menu-item-has-children > a::after {
        content: "▼" !important;
        display: inline-block !important;
        margin-left: 8px !important;
        font-size: 45% !important;
        vertical-align: middle !important;
    }

    /* Hide submenus by default */
    .header .nav .menu-item-has-children > .sub-menu {
        display: none !important;
        position: static !important;
        width: auto !important;
        margin: 4px 0 36px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

/* Open submenu after first mobile tap */
.header .nav .menu-item-has-children.mobile-submenu-open > .sub-menu {
    display: block !important;
}

    .header .nav .sub-menu li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Smaller, indented submenu text */
    .header .nav .sub-menu a {
        display: block !important;
        width: auto !important;
        padding: 7px 0 !important;
        font-size: 85% !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */

body.page-id-2036 .blk-richtext {
    background: #eeeeee !important;
}

body.page-id-2036 .blk-richtext > .wrap {
    max-width: 820px !important;
    width: 90% !important;
    margin: 0 auto !important;
    padding: 55px 0 75px !important;
}

body.page-id-2036 .sole-contact-page {
    width: 100% !important;
    max-width: 820px !important;
    margin: 0 auto !important;
}

body.page-id-2036 .sole-contact-intro {
    max-width: 760px !important;
    margin: 0 auto 34px !important;
    text-align: center !important;
}

body.page-id-2036 .sole-contact-intro h1 {
    margin: 0 0 24px !important;
    color: #1f3b90 !important;
    font-size: 38px !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

body.page-id-2036 .sole-contact-intro h1 strong {
    font-weight: 500 !important;
}

body.page-id-2036 .sole-contact-intro p {
    margin: 0 auto 22px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    color: #111111 !important;
}

body.page-id-2036 .sole-contact-intro .sole-contact-promise {
    margin-top: 24px !important;
    margin-bottom: 36px !important;
    font-size: 18px !important;
}

/* Forminator form */
body.page-id-2036 .forminator-ui {
    max-width: 760px !important;
    margin: 0 auto !important;
}

body.page-id-2036 .forminator-ui .forminator-label {
    display: none !important;
}

body.page-id-2036 .forminator-ui .forminator-input,
body.page-id-2036 .forminator-ui .forminator-textarea {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 17px !important;
    padding: 18px 22px !important;
}

body.page-id-2036 .forminator-ui .forminator-input {
    min-height: 68px !important;
}

body.page-id-2036 .forminator-ui .forminator-textarea {
    min-height: 260px !important;
}

body.page-id-2036 .forminator-ui .forminator-row {
    margin-bottom: 16px !important;
}

/* Mobile */
@media screen and (max-width: 820px) {

    body.page-id-2036 .blk-richtext > .wrap {
        width: 88% !important;
        padding: 38px 0 55px !important;
    }

    body.page-id-2036 .sole-contact-intro h1 {
        font-size: 31px !important;
    }

    body.page-id-2036 .sole-contact-intro p,
    body.page-id-2036 .sole-contact-intro .sole-contact-promise {
        font-size: 16px !important;
    }

    body.page-id-2036 .forminator-ui .forminator-input {
        min-height: 58px !important;
    }

    body.page-id-2036 .forminator-ui .forminator-textarea {
        min-height: 220px !important;
    }
}

/* CONTACT PAGE — final styling */

/* Logo */
body.page-id-2036 .sole-contact-logo {
    display: block !important;
    width: 125px !important;
    height: auto !important;
    margin: 0 auto 26px !important;
}

/* Entire heading bold */
body.page-id-2036 .sole-contact-intro h1,
body.page-id-2036 .sole-contact-intro h1 strong {
    font-weight: 700 !important;
}

/* Form placeholder text */
body.page-id-2036 .forminator-ui input::placeholder,
body.page-id-2036 .forminator-ui textarea::placeholder {
    color: #555555 !important;
    opacity: 1 !important;
    font-style: italic !important;
}

/* CONTACT PAGE — Send Message button */
body.page-id-2036 .forminator-ui .forminator-button-submit {
    display: block !important;
    width: fit-content !important;
    margin: 26px auto 0 !important;
    padding: 14px 32px !important;

    background: #1f3b90 !important;
    color: #d4af37 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

/* Hover */
body.page-id-2036 .forminator-ui .forminator-button-submit:hover {
    background: #d4af37 !important;
    color: #1f3b90 !important;
}

/* =========================================================
   SOLE SUPPORT — WPGS PRODUCT GALLERY FIX
   Hide unwanted Slick numbered navigation
   ========================================================= */

.single-product .woocommerce-product-gallery ul.slick-dots.wpgs-dots {
    display: none !important;
}
/* SOLE SUPPORT — hide Previous / Next thumbnail controls */
.single-product .wpgs-nav .slick-prev,
.single-product .wpgs-nav .slick-next {
    display: none !important;
}