/*
Theme Name: PinSource
Author: PinSource
Description: Custom PinSource theme with editable Gutenberg sections and the original responsive design.
Version: 1.0.0
Requires PHP: 8.3
Text Domain: pinsource
*/
.pin-disabled{cursor:not-allowed;opacity:.6;pointer-events:none}
.pin-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}
.pin-form-status{padding:16px;margin:18px 0;border:1px solid #1f3cbd;border-radius:4px}
.pin-form-status[hidden]{display:none}
.pin-form-status.is-error{border-color:#b42318;color:#b42318}
.pin-search-results{position:absolute;z-index:1000;background:white;color:#17203a;box-shadow:0 8px 28px #0002;margin:0;padding:12px;list-style:none;min-width:280px;max-height:360px;overflow:auto}
.pin-search-results a{display:block;padding:10px;color:inherit;text-decoration:none}
.pin-search-results a:hover{background:#f1f3fa}
.pin-content-search{max-width:1200px;margin:50px auto;padding:0 25px;min-height:50vh}
.pin-content-search article{padding:22px 0;border-bottom:1px solid #ddd}
.pin-content-search a{color:#1f3cbd}
/* Policy content spacing must not spread into the shared footer. */
.privacy-policy .footer .rte,
.shipping-policy .footer .rte{padding-bottom:0}
#MainContent .image-with-text__content:has(> #jason-hale) > .image-with-text__text--caption{margin-bottom:0!important}



/* Keep the assistance label intact when the mobile header changes rows. */
@media screen and (max-width:1099px){
  .header__buttons .banner__buttons .button.button__header--second{width:auto!important;min-width:max-content;max-width:100%;padding:0 18px;white-space:nowrap;flex:0 0 auto}
}

/* A calmer type scale and consistent editorial image sizes on the home page. */
body.index #MainContent h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.16!important;letter-spacing:-.015em}
body.index #MainContent .image-with-text__heading{font-size:clamp(30px,3.6vw,46px)!important;line-height:1.12!important}
body.index #MainContent>.shopify-section:first-child .image-with-text__heading{font-size:clamp(34px,4.2vw,56px)!important}
body.index #MainContent .image-with-text__text h3{font-size:clamp(19px,1.8vw,23px)!important;line-height:1.25!important;margin:20px 0 8px}
body.index #MainContent .multicolumn-card__info h3.h1{font-size:clamp(28px,2.7vw,36px)!important;line-height:1.15!important}
body.index #MainContent .image-with-text__grid{align-items:center}
body.index #MainContent .image-with-text__content{height:auto!important;min-height:0!important;padding:32px 24px!important}
body.index #MainContent .image-with-text__text{font-size:18px;line-height:1.6}
body.index #MainContent .image-with-text__media{height:clamp(280px,32vw,420px)!important;min-height:0!important;max-width:460px;width:100%;margin:0 auto;padding-bottom:0!important}
body.index #MainContent .image-with-text__media img{width:100%;height:100%;object-fit:contain!important}
body.index #shopify-section-template--22838621438264__30e492a5-9b98-4fb8-8d98-7fe4c54f8035 .multicolumn-card__image-wrapper{height:230px!important;margin-bottom:18px}
body.index #shopify-section-template--22838621438264__30e492a5-9b98-4fb8-8d98-7fe4c54f8035 .multicolumn-card__image-wrapper .media{height:230px!important;padding-bottom:0!important}
body.index #shopify-section-template--22838621438264__30e492a5-9b98-4fb8-8d98-7fe4c54f8035 .multicolumn-card__image{height:100%!important;width:100%!important;object-fit:contain!important}
@media(max-width:749px){
  body.index #MainContent .image-with-text__content{padding:24px 0!important}
  body.index #MainContent .image-with-text__media{height:clamp(240px,75vw,340px)!important;max-width:340px}
  body.index #MainContent .image-with-text__text{font-size:16px;line-height:1.6}
}

/* Match the calmer home-page scale across editorial pages, forms and the blog. */
body:not(.index) #MainContent h1:not(:where(.woocommerce *,.pso-page *,#pinsource-pinfigurator *)){font-size:clamp(30px,3.6vw,46px)!important;line-height:1.14!important;letter-spacing:-.015em}
body:not(.index) #MainContent h2:not(:where(.woocommerce *,.pso-page *,#pinsource-pinfigurator *)){font-size:clamp(26px,2.8vw,36px)!important;line-height:1.18!important;letter-spacing:-.01em}
body:not(.index) #MainContent h3:not(:where(.woocommerce *,.pso-page *,#pinsource-pinfigurator *)){font-size:clamp(21px,2.1vw,28px)!important;line-height:1.25!important}
body:not(.index) #MainContent h4:not(:where(.woocommerce *,.pso-page *,#pinsource-pinfigurator *)){font-size:clamp(18px,1.8vw,22px)!important;line-height:1.3!important}
body:not(.index) #MainContent .image-with-text__heading:is(.h1,.h2){font-size:clamp(28px,3.3vw,42px)!important;line-height:1.15!important}
body:not(.index) #MainContent .rich-text__blocks>.rich-text__text:first-child h3{font-size:clamp(28px,3vw,38px)!important;line-height:1.18!important}

/* Compact action buttons; keep category text links and icon controls intact. */
#MainContent .banner__buttons>.button{min-height:52px!important;height:auto!important;min-width:0!important;padding:12px 22px!important;font-size:15px!important;line-height:1.3!important;box-sizing:border-box;max-width:100%}
#MainContent .banner__buttons:not(.banner__buttons--multiple)>.button{width:min(100%,280px)!important}
#MainContent .banner__buttons--multiple>.button{width:auto!important;flex:0 1 auto}
.header__buttons .banner__buttons>.button.button__header--second{min-height:38px!important;height:auto!important;min-width:0!important;width:auto!important;padding:8px!important;font-size:12px!important;line-height:1.3!important;white-space:nowrap}
#MainContent .multicolumn-card__info .banner__buttons>.button[style*="background-color: rgba(0,0,0,0)"]{padding:0!important;min-height:0!important;height:auto!important;width:auto!important;font-size:16px!important}
#MainContent .contact_button[type=submit]{min-height:52px!important;height:auto!important;padding:12px 22px!important;font-size:18px!important;line-height:1.3!important;max-width:320px;box-sizing:border-box}
#MainContent .woocommerce button.button,#MainContent .woocommerce a.button{min-height:40px!important;padding:10px 18px!important;font-size:15px!important;line-height:1.3!important}
#MainContent .pso-stock-form button[type=submit],#MainContent .pso-configurator button[type=submit]{min-height:44px;padding:10px 20px;font-size:16px;line-height:1.3}
/* Only the full desktop wordmark grows; the mobile icon keeps its current size. */
.header .header__heading-link{width:225px!important;max-width:225px!important;flex-shrink:0}
.header .header__heading-link .header__heading-logo-wrapper{width:100%!important;max-width:100%!important}
.header .header__heading-link .header__heading-logo{width:100%!important;max-width:100%!important;height:auto!important}
/* Split brand headings must share the parent's scale after typography changes. */
#MainContent :is(h1,h2,h3,h4) .block__heading--secondary{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.contact .pin-artwork-selection{font-size:14px;line-height:1.5;padding:10px 12px;margin-bottom:10px;background:#f1f4fc;border:1px solid #cbd2e5;border-radius:4px;overflow-wrap:anywhere;color:#1a233d}
.contact .pin-artwork-selection[hidden]{display:none!important}
/* Use the browser's standard checkmark for the email subscription choice. */
.contact input#Checkbox_1[type="checkbox"][name="Checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;width:20px!important;height:20px!important;min-height:0!important;margin:0!important;padding:0!important;border:revert!important;border-radius:revert!important;background:revert!important;box-shadow:none!important;accent-color:#2438bc;vertical-align:middle;cursor:pointer}
.contact input#Checkbox_1[type="checkbox"][name="Checkbox"]::before,.contact input#Checkbox_1[type="checkbox"][name="Checkbox"]::after{content:none!important;display:none!important}
