/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.1762846383
Updated: 2025-11-11 07:33:03
*/

/********************************************
 * PASSWORD PAGE – LAYOUT + STYLING
 ********************************************/

/* 1) Layout: fill viewport and center content on password pages (block-theme safe) */
body.post-password-required .wp-site-blocks {
  min-height: 100vh;
  min-height: 100dvh; /* better on mobile address-bar behavior */
  display: flex;
  flex-direction: column;
}

/* Keep header/footer natural height */
body.post-password-required .wp-site-blocks > * {
  flex: 0 0 auto;
}

/* In TT5 block themes, <main> is the reliable container */
body.post-password-required .wp-site-blocks > main {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ensure content inside main can be full width */
body.post-password-required .wp-site-blocks > main > * {
  width: 100%;
}

/********************************************
 * 2) PASSWORD BLOCK WRAPPER
 ********************************************/
.pw-password-wrapper {
  width: 100%;
}

.pw-password-wrapper .pw-inner {
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

/********************************************
 * 3) TYPOGRAPHY
 ********************************************/

.pw-error {
  color: #ffffff;
  margin: 0 0 1.3rem !important;
  text-align: center;
}

/********************************************
 * 4) PASSWORD INPUT
 ********************************************/
.pw-row {
  margin-top: 0 !important;
  margin-bottom: 20px;
}

.pw-input {
  width: 100%;
  max-width: 400px;
  box-sizing: border-box;

  border-radius: 10px;
  border: 1px #506680 solid;
  background: transparent !important;
  font-size: 16px; /* keeps iOS from zooming inputs */
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  color: #ffffff;

  padding: 12px 18px;
}

.pw-input:focus {
  outline: none;
  border-color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff;
}

/********************************************
 * 5) SUBMIT BUTTON
 ********************************************/
.pw-submit {
  display: block;
  width: min(100%, 400px);
  margin: 0 auto;
  box-sizing: border-box;

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

  color: #0b1f39 !important;
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-weight: 600;
  font-size: 20px;
  text-align: center;

  padding: 9px 20px !important;
  cursor: pointer;
  white-space: nowrap;

  position: relative; /* needed for overlay */
  overflow: hidden; /* clips overlay to pill */
}

/* the overlay */
.pw-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.05); /* <-- overlay strength */
  opacity: 0;
  transition: none;
  pointer-events: none;
}

/* show overlay on hover/focus/press */
.pw-submit:hover::before,
.pw-submit:focus-visible::before,
.pw-submit:active::before {
  opacity: 1;
}

/* optional: keep your white keyboard ring */
.pw-submit:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

/********************************************
 * 6) MOBILE TWEAKS
 ********************************************/
@media (max-width: 600px) {
  body.post-password-required .wp-site-blocks > main {
    padding-inline: 1rem;
  }

  .pw-password-wrapper .pw-inner {
    max-width: 100%;
  }
}

/********************************************
 * FOCUS RINGS (SAFE CROSS-BROWSER)
 ********************************************/
:where(button, [role="button"], a, input, textarea, select):focus {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  box-shadow: none;
}

@supports selector(:focus-visible) {
  :where(button, [role="button"], a, input, textarea, select):focus {
    outline: none;
  }

  :where(button, [role="button"], a, input, textarea, select):focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
  }
}

/********************************************
 * DRAWER MENU: CENTER CONTENT (NOT THE X)
 ********************************************/

/* Center the CONTENT WRAPPER (does not target the close button) */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important; /* centers the content column */
}

/* WP can output different list wrappers; center them all */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  :where(
    .wp-block-navigation__container,
    .wp-block-page-list,
    .wp-block-pages-list
  ) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

/* Center + width-control the clickable elements */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  :where(
    .wp-block-navigation-item__content,
    .wp-block-pages-list__item__link,
    .wp-block-button__link,
    .wp-element-button
  ) {
  width: clamp(250px, 90vw, 300px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  display: block !important;
}

/********************************************
 * DRAWER MENU: OVERLAY BACKGROUND + PANEL FIX
 ********************************************/
.wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(8, 27, 51, 0.9) !important; /* #081B33 @ 98% */
}

/* Kill the white inner panel if it exists */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-dialog {
  background: transparent !important;
}

/* Drawer menu: make ONLY the close (X) button white */
.wp-block-navigation__responsive-container.is-menu-open
  :is(
    .wp-block-navigation__responsive-container-close,
    .wp-block-navigation__responsive-close
  ) {
  color: #ffffff !important; /* many icons use currentColor */
}

/* If the X is an SVG, force it white */
.wp-block-navigation__responsive-container.is-menu-open
  :is(
    .wp-block-navigation__responsive-container-close,
    .wp-block-navigation__responsive-close
  )
  svg {
  stroke: transparent !important;
  fill: #ffffff !important; /* some themes use fill, some stroke */
}

/* WPForms: remove the red required asterisk */
.wpforms-container .wpforms-required-label {
  display: none !important;
}

/* WPForms: submit button on the right */
.wpforms-container .wpforms-submit-container {
  display: flex;
  justify-content: center;
}

/* WPForms multi-page progress: hide the text line above the bar */
.wpforms-page-indicator.progress .wpforms-page-indicator-page-title,
.wpforms-page-indicator.progress .wpforms-page-indicator-page-title-sep,
.wpforms-page-indicator.progress .wpforms-page-indicator-steps {
  display: none !important;
}

/* Optional: remove leftover spacing above the bar (only if you still see a gap) */
.wpforms-page-indicator.progress {
  padding-top: 0 !important;
  margin-top: 0 !important;
  line-height: 0 !important;
}

/* Sticky footer for block themes (Twenty Twenty-Five etc.) */
html,
body {
  height: 100%;
}

.wp-site-blocks {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Make the main content area expand to fill leftover space */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:is(.alignfull, .alignwide),
.wp-site-blocks > .wp-block-group {
  flex: 1 0 auto;
}

/* Footer sits at the bottom when content is short */
footer,
.wp-site-blocks > footer {
  margin-top: auto;
}

/* 1) Make the site wrapper a full-height flex column (sticky footer base) */
.wp-site-blocks {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* 2) Make the content area expand to fill the gap above the footer */
.wp-site-blocks > .entry-content {
  flex: 1 0 auto;
}

/* 3) Ensure the *inner* post-content wrapper can stretch too */
.wp-site-blocks > .entry-content > .wp-block-post-content,
.wp-site-blocks > .entry-content.wp-block-post-content {
  flex: 1 0 auto;
  min-height: 100%;
}

/* 4) Keep footer pinned */
.wp-site-blocks > footer {
  margin-top: auto;
}

/* WPForms: snap instead of smooth scroll */
html {
  scroll-behavior: auto !important;
}

/* Extra: prevent WPForms/page transitions from animating */
.wpforms-container,
.wpforms-container * {
  scroll-behavior: auto !important;
}

/* WPForms File Upload (Form 13616, Field 77)
   Keep the icon, replace the helper text with "Upload an image" */

#wpforms-13616-field_77-container .dz-message svg {
  display: inline-block !important;
  opacity: 1 !important;
}

/* Hide the default hint line (optional) */
#wpforms-13616-field_77-container .dz-message .modern-hint {
  display: none !important;
}

/* Replace the title text */
#wpforms-13616-field_77-container .dz-message .modern-title {
  font-size: 0 !important; /* hides original words */
  line-height: 0 !important;
}

#wpforms-13616-field_77-container .dz-message .modern-title:after {
  content: "Upload an Image" !important;
  display: block !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  margin-top: 10px !important;
}

/* Make it feel clickable */
#wpforms-13616-field_77-container .wpforms-uploader {
  cursor: pointer;
}

/* WPForms Order Summary — Form 17291: remove Qty column (header + values) */
#wpforms-form-17291
  .wpforms-order-summary-preview
  th.wpforms-order-summary-item-quantity,
#wpforms-form-17291
  .wpforms-order-summary-preview
  td.wpforms-order-summary-item-quantity {
  display: none !important;
}
