/**
 * American Flooring Pro brand tokens & overrides
 * Palette from redesign mockup: navy + red CTAs
 */

:root {
  --afp-navy: #0a1d37;
  --afp-navy-rgb: 10, 29, 55;
  --afp-red: #e84141;
  --afp-red-rgb: 232, 65, 65;
  --afp-red-hover: #d13232;
  --afp-white: #ffffff;
  --afp-gray-light: #f5f6f8;
  --afp-text: #5a6270;

  /* Remap Floens design tokens to AFP brand */
  --floens-base: var(--afp-red);
  --floens-base-rgb: var(--afp-red-rgb);
  --floens-base2: var(--afp-navy);
  --floens-base2-rgb: var(--afp-navy-rgb);
  --floens-black2: var(--afp-navy);
  --floens-black2-rgb: var(--afp-navy-rgb);
  --floens-black4: #06101f;
  --floens-black4-rgb: 6, 16, 31;
  --floens-text: var(--afp-text);
  --floens-white2: var(--afp-gray-light);
  --floens-white4: var(--afp-gray-light);
}

/* Buttons */
.floens-btn,
.thm-btn,
a.floens-btn,
button.floens-btn,
.wp-block-button__link {
  border-radius: 8px;
}

.floens-btn--base,
.floens-btn.floens-btn--base,
.thm-btn {
  background-color: var(--afp-red);
  border-color: var(--afp-red);
}

.floens-btn--base:hover,
.floens-btn.floens-btn--base:hover,
.thm-btn:hover {
  background-color: var(--afp-red-hover);
  border-color: var(--afp-red-hover);
}

/* Header / topbar accents */
.main-header,
.default-header {
  background-color: var(--afp-white);
}

.topbar-one__social svg {
  fill: white;
  width: 14px;
  height: auto;
}

/* Contact / footer social icons (migrated from parent style.css) */
.contact-one__info__content .topbar-one__social svg {
  fill: white;
  width: 22px;
  height: auto;
}

.contact-one__info__content .topbar-one__social {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 25px;
}

.contact-one__info__icon svg {
  fill: white;
  max-width: 20px;
}

/* Contact page "Free Estimate" box (dark red #8e1b1d from Floens).
   Navy brand tokens made the title unreadable and the number field rendered
   as a tiny blank box — give every field the same light-on-red treatment. */
.contact-one__form__title {
  color: #fff;
}

.contact-one__form__title::before {
  background-color: #fff;
}

.contact-one__form .wpforms-field {
  padding: 0 0 0.9rem !important;
}

.contact-one__form .wpforms-field-label {
  color: #fff !important;
}

.contact-one__form input[type="text"],
.contact-one__form input[type="email"],
.contact-one__form input[type="number"],
.contact-one__form input[type="tel"],
.contact-one__form textarea,
.contact-one__form select {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 50px;
  padding: 0.85rem 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}

.contact-one__form input[type="number"]::-webkit-outer-spin-button,
.contact-one__form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.contact-one__form textarea {
  min-height: 120px;
  resize: vertical;
}

.contact-one__form input:focus,
.contact-one__form textarea:focus {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  outline: none;
}

.contact-one__form input::placeholder,
.contact-one__form textarea::placeholder {
  color: rgba(255, 255, 255, 0.75) !important;
  opacity: 1;
}

.contact-one__form .wpforms-error,
.contact-one__form label.wpforms-error {
  color: #ffd5d5 !important;
}

.contact-one__form .wpforms-submit {
  width: 100%;
  padding: 1rem 1.25rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #8e1b1d !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contact-one__form .wpforms-submit:hover,
.contact-one__form .wpforms-submit:focus {
  background: var(--afp-navy) !important;
  color: #fff !important;
}

/* Contact info card: solid navy (the Elementor bg image is a demo file on an
   external host), red icons, plain white text instead of grey chips. */
.contact-one__info {
  border-radius: 12px;
}

.contact-one__info__bg {
  display: none;
}

.contact-one__info__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: var(--afp-red);
}

.contact-one__info__text {
  padding: 0 0 0 14px;
  background: transparent;
  font-size: 16px;
  font-weight: 600;
}

/* Never leave an empty dark square if a contact item has no icon set. */
.contact-one__info__icon:empty::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #fff;
}

.footer-widget__info svg {
  fill: white;
  max-width: 20px;
  height: 20px;
  margin-right: 15px;
}

/* WhatsApp on product pages */
.product #qlwapp {
  display: inline-block !important;
  width: auto !important;
}

.product #qlwapp.qlwapp-button .qlwapp-toggle {
  margin: 0;
}

/* Headings lean on existing Floens font stack; navy for strong titles.
   Do not restyle .page-header__title — it sits on a dark banner and must stay white. */
.sec-title__title,
.banner-one__title,
.main-slider__title {
  color: var(--afp-navy);
}

.page-header__title {
  color: #fff;
}

/* Links / accents */
a:hover {
  color: var(--afp-red);
}
