/* Homepage merchandising, information pages and native WooCommerce account refinements. */
[hidden] { display: none !important; }
.ph-hero-copy { display: flex; flex-direction: column; justify-content: center; padding-block: 58px; }
.ph-hero-copy:before { display: none; }
.ph-hero h1 { font-size: clamp(48px, 5.7vw, 82px); line-height: 1.03; margin-bottom: 30px; }
.ph-hero h1 span { white-space: nowrap; }
.ph-hero-description { max-width: 420px; font-size: 14px; margin-bottom: 30px; }
.ph-hero-products { background: var(--cream); min-width: 0; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.ph-flip-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; flex: 1; }
.ph-flip-card { perspective: 1000px; min-height: 246px; }
.ph-flip-inner { position: relative; height: 100%; min-height: inherit; transform-style: preserve-3d; transition: transform .65s cubic-bezier(.3,.1,.2,1); }
.ph-flip-card:nth-child(2) .ph-flip-inner { transition-delay: .055s; }
.ph-flip-card:nth-child(3) .ph-flip-inner { transition-delay: .11s; }
.ph-flip-card:nth-child(4) .ph-flip-inner { transition-delay: .165s; }
.ph-hero-products.is-second .ph-flip-inner { transform: rotateY(180deg); }
.ph-hero-products.is-second .ph-flip-single .ph-flip-inner { transform: none; }
.ph-flip-face { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 16px; background: #fcfcf9; border: 1px solid var(--line); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ph-flip-back { transform: rotateY(180deg); }
.ph-flip-face img { height: 125px; width: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 8px; margin-bottom: 13px; }
.ph-flip-name { font-size: 11px; line-height: 1.5; font-weight: 500; margin-bottom: 9px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.ph-flip-face>svg { position: absolute; right: 14px; bottom: 15px; width: 16px; height: 16px; color: var(--blue); }
.ph-carousel-controls { display: flex; justify-content: space-between; align-items: center; min-height: 32px; }
.ph-carousel-dots { display: flex; gap: 3px; }
.ph-carousel-dots button { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: transparent; }
.ph-carousel-dots span { width: 18px; height: 3px; background: #adb5b7; }
.ph-carousel-dots button[aria-pressed=true] span { background: var(--blue); }
.product_meta .sku_wrapper { display: none; }
.ph-category-card { grid-template-columns: minmax(0,1fr) 63px 16px; }
.ph-category-card strong { font-size: 21px; }
.ph-branding-art { justify-content: center; }
.ph-bulk-section { margin-bottom: 60px; padding: 37px 0; border-block: 1px solid var(--ink); display: grid; grid-template-columns: 1.3fr .7fr; gap: 55px; align-items: center; }
.ph-bulk-copy h2 { font-size: 42px; max-width: 650px; margin-bottom: 17px; }
.ph-bulk-copy p { color: var(--muted); font-size: 13px; max-width: 620px; line-height: 1.9; margin-bottom: 0; }
.ph-bulk-actions { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; padding-left: 35px; border-left: 1px solid var(--line); }
.ph-business-grid a { display: flex; align-items: center; min-height: 105px; padding-block: 22px; }
.ph-business-grid svg { position: static; margin-left: auto; flex-shrink: 0; }
.ph-business-grid h3 { padding-right: 13px; }
.ph-nav>.ph-container { gap: 24px; }
.ph-nav a { font-size: 10px; }
.ph-nav-branding { font-size: 10px !important; }
.ph-page article>h1 { font-size: 58px; text-transform: uppercase; margin: 8px 0 38px; padding-bottom: 25px; border-bottom: 1px solid var(--ink); }
.ph-contact-intro { max-width: 700px; margin-bottom: 40px; }
.ph-contact-intro p { font-size: 21px; line-height: 1.6; margin-bottom: 15px; }
.ph-contact-intro>a { font-size: 17px; color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.ph-location-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px; margin-bottom: 55px; }
.ph-location { padding-top: 21px; border-top: 3px solid var(--blue); min-width: 0; }
.ph-location h2 { font-size: 34px; margin-bottom: 12px; }
.ph-location address { font-style: normal; font-size: 14px; }
.ph-location-phone { font-size: 19px; color: var(--blue); display: inline-block; margin: 11px 0 20px; }
.ph-map { height: 240px; width: 100%; background: var(--cream); border: 1px solid var(--line); display: flex; justify-content: center; align-items: center; }
.ph-map-load { min-height: 46px; border: 1px solid var(--blue); color: var(--blue); background: transparent; padding: 10px 20px; font-size: 12px; }
.ph-map-load:hover { background: var(--blue); color: #fff; }
.ph-map iframe { width: 100%; height: 100%; border: 0; }
.ph-contact-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 75px; padding-top: 38px; border-top: 1px solid var(--ink); scroll-margin-top: 30px; }
.ph-contact-section h2, .ph-about h2, .ph-business-registration h2, .ph-business-intro h2 { font-size: 41px; margin-bottom: 20px; }
.ph-contact-section>div>p, .ph-business-registration>div>p, .ph-business-intro p { color: var(--muted); font-size: 14px; line-height: 1.9; max-width: 460px; }
.ph-contact-form p { margin-bottom: 21px; }
.ph-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.ph-contact-form label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 8px; }
.ph-contact-form input:not([type=checkbox]), .ph-contact-form select, .ph-contact-form textarea,
.ph-profile-fields select, .ph-business-register-form input.input-text { width: 100%; border: 1px solid #899ba5; padding: 12px; color: var(--ink); background: #fff; border-radius: 0; min-height: 46px; font-size: 14px; }
.ph-contact-form textarea { resize: vertical; min-height: 150px; }
.ph-contact-form input:focus, .ph-contact-form textarea:focus, .ph-contact-form select:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.ph-consent label { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); line-height: 1.7; font-size: 12px; font-weight: 400; }
.ph-consent input { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; accent-color: var(--blue); }
.ph-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ph-form-notice { border-left: 3px solid var(--blue); background: var(--cream); padding: 17px; margin-bottom: 23px; font-size: 13px; }
.ph-form-notice.is-error { border-color: #ac3225; }
.ph-about-lead { max-width: 850px; padding-bottom: 32px; }
.ph-about-lead>p { font-size: 19px; line-height: 1.9; color: var(--muted); }
.ph-about-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 60px; border-top: 1px solid var(--ink); padding-top: 32px; }
.ph-about-grid h2 { font-size: 32px; }
.ph-about-grid p { font-size: 14px; line-height: 1.9; color: var(--muted); }
.ph-business-registration { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: start; }
.ph-business-register-form { border: 1px solid var(--line); padding: 29px; background: #fff; }
.ph-business-register-form .ph-business-fields { border-top: 0; padding-top: 0; margin-top: 0; }
.ph-business-register-form .form-row { display: block; margin: 0 0 22px; }
.ph-business-register-form label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 7px; }
.ph-form-help { font-size: 11px; color: var(--muted); line-height: 1.8; }
.woocommerce-account .ph-page article>h1 { font-size: 47px; margin-bottom: 30px; }
.woocommerce-account.logged-in .ph-page article>.woocommerce { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 30px; align-items: start; }
.woocommerce-account.logged-in .ph-page article>.woocommerce:before, .woocommerce-account.logged-in .ph-page article>.woocommerce:after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; background: var(--cream); border-top: 3px solid var(--blue); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 13px 14px; font-size: 12px; border: 0; min-height: 46px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--blue); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; border: 1px solid var(--line); border-top: 3px solid var(--blue); padding: 28px; min-width: 0; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content>p { font-size: 13px; line-height: 1.9; color: var(--muted); }
.woocommerce-account .woocommerce-MyAccount-content>p a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; width: 100%; }
.woocommerce-account .woocommerce-Addresses:before, .woocommerce-account .woocommerce-Addresses:after { display: none; }
.woocommerce-account .woocommerce-Address { width: auto !important; float: none !important; padding: 23px; border: 1px solid var(--line); margin-top: 17px; }
.woocommerce-account .woocommerce-Address-title { display: block; margin-bottom: 17px; }
.woocommerce-account .woocommerce-Address-title:after, .woocommerce-account .woocommerce-Address-title:before { display: none; }
.woocommerce-account .woocommerce-Address-title h2 { float: none; font-size: 26px; line-height: 1.15; margin-bottom: 14px; }
.woocommerce-account .woocommerce-Address-title a.edit { float: none; display: inline-block; min-height: 37px; padding: 8px 11px; background: var(--cream); color: var(--blue); font-size: 10px; line-height: 1.6; }
.woocommerce-account .woocommerce-Address address { font-style: normal; font-size: 12px; line-height: 1.9; margin-bottom: 0; color: var(--muted); }
.woocommerce-account .woocommerce-MyAccount-content form h2, .woocommerce-account .woocommerce-MyAccount-content form h3 { font-size: 29px; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid var(--line); padding: 24px; margin-block: 25px; }
.woocommerce-account .woocommerce-EditAccountForm legend { font-family: var(--display); font-size: 24px; padding-inline: 7px; }
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row { margin-bottom: 19px; }
.woocommerce-account .woocommerce-EditAccountForm em { font-style: normal; font-size: 11px; color: var(--muted); }
.woocommerce-account .woocommerce-MyAccount-content form .form-row label { font-weight: 500; line-height: 1.6; margin-bottom: 7px; font-size: 12px; }
.woocommerce-account .woocommerce-MyAccount-content form input.input-text { font-size: 14px; }
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-error { margin-bottom: 24px; padding: 20px 20px 20px 47px; font-size: 12px; line-height: 1.9; }
.woocommerce-account .woocommerce-info .button { float: none; display: inline-flex; margin: 0 13px 10px 0; }
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { padding: 20px 22px; border: 1px solid var(--line); border-left: 3px solid var(--blue); background: #fff; font-size: 13px; line-height: 1.8; }
.woocommerce-account .woocommerce-info:before, .woocommerce-account .woocommerce-info:after, .woocommerce-account .woocommerce-message:before, .woocommerce-account .woocommerce-message:after { display: none; }
.woocommerce-account .ph-notice-with-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.woocommerce-account .ph-notice-message { flex: 1; min-width: 0; }
.woocommerce-account .ph-notice-with-action .button { float: none; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin: 0; padding: 12px 17px; min-height: 44px; font-size: 11px; }
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px; }
.woocommerce-account #customer_login:before, .woocommerce-account #customer_login:after { display: none; }
.woocommerce-account #customer_login>.u-column1, .woocommerce-account #customer_login>.u-column2 { width: auto; float: none; min-width: 0; }
.woocommerce-account #customer_login h2 { font-size: 33px; }
.woocommerce-account form.login, .woocommerce-account form.register { border: 1px solid var(--line); max-width: none; padding: 27px; margin-top: 20px; }
.woocommerce-account form.register { border-radius: 0; }
.woocommerce-account .woocommerce-form-register .form-row label, .woocommerce-account .woocommerce-form-login .form-row label { font-weight: 500; margin-bottom: 6px; }
.woocommerce-account .woocommerce-form-register input.input-text, .woocommerce-account .woocommerce-form-login input.input-text { font-size: 14px; }
.ph-business-fields { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.ph-profile-fields { clear: both; padding-top: 5px; }
.ph-profile-fields select { font-size: 13px; }
.woocommerce-account .select2-container { max-width: 100%; }
.woocommerce-account .select2-selection--single { border: 1px solid #899ba5; border-radius: 0; min-height: 46px; padding: 8px; }
.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 8px; }
.ph-account-tools { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 27px; }
.ph-account-tools a { border-top: 2px solid var(--blue); background: var(--cream); padding: 17px; font-size: 12px; line-height: 1.7; }
.ph-account-tools strong { display: block; font-family: var(--display); font-size: 22px; margin-bottom: 8px; }
@media(max-width:1150px) {
    .ph-hero h1 { font-size: 5.6vw; }
    .ph-hero-products { padding: 18px; }
    .ph-flip-grid { gap: 12px; }
    .ph-flip-card { min-height: 250px; }
    .ph-flip-face { padding: 13px; }
    .ph-nav>.ph-container { gap: 19px; }
    .ph-category-card { grid-template-columns: minmax(0,1fr) 50px 12px; }
    .ph-category-card strong { font-size: 20px; }
    .ph-bulk-copy h2 { font-size: 37px; }
    .ph-contact-section, .ph-business-registration { gap: 45px; }
}
@media(max-width:900px) {
    .ph-hero-copy { padding: 32px 24px; }
    .ph-hero h1 { font-size: 5.8vw; }
    .ph-hero-description { font-size: 12px; }
    .ph-flip-card { min-height: 245px; }
    .ph-flip-face img { height: 115px; padding: 7px; }
    .ph-flip-name { font-size: 10px; }
    .ph-nav>.ph-container { gap: 15px; }
    .ph-category-card { grid-template-columns: minmax(0,1fr) 64px 14px; }
    .ph-contact-section, .ph-business-registration { gap: 30px; }
    .ph-contact-section h2, .ph-about h2, .ph-business-registration h2 { font-size: 34px; }
    .woocommerce-account.logged-in .ph-page article>.woocommerce { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 22px; }
    .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; gap: 0; }
    .ph-account-tools { grid-template-columns: 1fr; gap: 10px; }
}
@media(max-width:760px) {
    .ph-nav>.ph-container { gap: 0; }
    .ph-nav a, .ph-nav-branding { font-size: 12px !important; }
    .ph-hero-copy { padding: 38px 25px; }
    .ph-hero h1 { font-size: clamp(38px,10.7vw,68px); line-height: 1.05; margin-bottom: 23px; }
    .ph-hero-description { font-size: 13px; }
    .ph-hero-products { padding: 18px; }
    .ph-flip-grid { gap: 12px; }
    .ph-flip-card { min-height: 238px; }
    .ph-flip-face { padding: 13px; }
    .ph-flip-face img { height: 119px; margin-bottom: 12px; }
    .ph-flip-name { font-size: 10px; }
    .ph-carousel-controls { min-height: 37px; }
    .ph-category-card, .ph-category-card:nth-child(3n) { grid-template-columns: minmax(0,1fr) 64px 16px; }
    .ph-category-card strong { font-size: 23px; }
    .ph-bulk-section { grid-template-columns: 1fr; gap: 25px; margin-bottom: 38px; padding-block: 28px; }
    .ph-bulk-copy h2 { font-size: 34px; }
    .ph-bulk-copy p { font-size: 12px; }
    .ph-bulk-actions { padding: 0; border: 0; gap: 9px; }
    .ph-business-grid a { min-height: 100px; }
    .ph-page article>h1, .woocommerce-account .ph-page article>h1 { font-size: 39px; padding-bottom: 20px; margin-bottom: 27px; }
    .ph-contact-intro p { font-size: 17px; }
    .ph-contact-intro>a { font-size: 15px; }
    .ph-location-grid { grid-template-columns: 1fr; gap: 30px; margin-bottom: 35px; }
    .ph-location h2 { font-size: 31px; }
    .ph-map { height: 220px; }
    .ph-contact-section, .ph-business-registration { grid-template-columns: 1fr; gap: 25px; }
    .ph-contact-section { padding-top: 27px; }
    .ph-form-grid { grid-template-columns: 1fr; gap: 0; }
    .ph-contact-section h2, .ph-about h2, .ph-business-registration h2 { font-size: 33px; }
    .ph-about-lead>p { font-size: 16px; }
    .ph-about-grid { grid-template-columns: 1fr; gap: 25px; padding-top: 25px; }
    .ph-about-grid h2 { font-size: 29px; }
    .ph-business-register-form { padding: 22px; }
    .woocommerce-account.logged-in .ph-page article>.woocommerce { display: block; }
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 23px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 3px; padding: 9px; }
    .woocommerce-account .woocommerce-MyAccount-navigation a { font-size: 10px; padding: 10px 12px; min-height: 40px; }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 21px; }
    .woocommerce-account .woocommerce-Address { padding: 19px; }
    .woocommerce-account .woocommerce-Address-title h2 { font-size: 25px; }
    .woocommerce-account .woocommerce-EditAccountForm fieldset { padding: 18px; }
    .woocommerce-account #customer_login { grid-template-columns: 1fr; gap: 20px; }
    .woocommerce-account form.login, .woocommerce-account form.register { padding: 21px; }
    .woocommerce-account .woocommerce-info .button { display: flex; width: fit-content; max-width: 100%; margin-bottom: 13px; font-size: 11px; }
    .woocommerce-account .ph-notice-with-action { flex-direction: column; align-items: flex-start; gap: 16px; }
    .woocommerce-account .ph-notice-with-action .button { margin: 0; max-width: 100%; white-space: normal; text-align: center; }
}
@media(max-width:380px) {
    .ph-hero-copy { padding-inline: 20px; }
    .ph-hero h1 { font-size: 10.8vw; }
    .ph-hero-products { padding: 14px; }
    .ph-flip-grid { gap: 10px; }
    .ph-flip-card { min-height: 248px; }
    .ph-flip-face img { height: 103px; }
    .ph-flip-face { padding: 11px; }
    .ph-flip-name { font-size: 10px; }
    .ph-category-card strong { font-size: 21px; }
}
@media(prefers-reduced-motion:reduce) {
    .ph-flip-inner { transition: none !important; }
}
