/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability.
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: twentytwentyfive
*/

/* ------------------------------------------------------
   Bootstrap dropdown fix (ensure WP styles don't break it)
------------------------------------------------------ */
.navbar .dropdown-menu {
  display: none;
}
.navbar .dropdown-menu.show {
  display: block !important;
}
.navbar .dropdown-toggle::after {
  display: inline-block;
}
.navbar .nav-item.dropdown {
  position: relative;
}
.collapse:not(.show) {
  display: none;
}
.collapse.show {
  display: block !important;
}
.navbar-collapse.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

/* ------------------------------------------------------
   Core WordPress / Accessibility fixes (KEEP)
------------------------------------------------------ */

a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: .1em;
}

:where(.wp-site-blocks *:focus) {
  outline-width: 2px;
  outline-style: solid;
}

.wp-block-navigation .wp-block-navigation-submenu
.wp-block-navigation-item:not(:last-child) {
  margin-bottom: 3px;
}

.wp-block-navigation
.wp-block-navigation-item__content {
  outline-offset: 4px;
}

.wp-block-navigation
.wp-block-navigation-item ul.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
  outline-offset: 0;
}

h1, h2, h3, h4, h5, h6,
blockquote, caption, figcaption, p {
  text-wrap: pretty;
}

.more-link {
  display: block;
}


.wp-site-blocks {
  max-width: none;
  padding: 0;
} 

body {
  background: #f3f3f3;
}

/* ------------------------------------------------------
   Layout Shell (SINGLE SOURCE OF TRUTH)
------------------------------------------------------ */

.site-wrap {
  background: #f3f3f3;
  padding: 40px 0;
}

.content-wrap {
  max-width: 1100px;
  margin: 0 auto;
  background: #ffffff;
  padding: 40px;
  border-radius: 12px;
}

/* Media safety */
.content-wrap img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ------------------------------------------------------
   Editor parity (CRITICAL)
------------------------------------------------------ */

.editor-styles-wrapper {
  background: #ffffff;
  padding: 20px;
}
.editor-styles-wrapper .wp-block {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;

}


/* ======================================================
   WordPress post canvas override (legacy-safe)
   ====================================================== */

body.wp-post {
  background: #f3f3f3 !important;
}

/* Ensure our layout always wins */
body.wp-post .site-wrap {
  background: #f3f3f3 !important;
  padding: 40px 0 !important;
}

body.wp-post .content-wrap {
  max-width: 1140px !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  padding: 20px 15px 20px 15px !important;
  border-radius: 12px !important;
}


/* ------------------------------------------------------
   Post title above content card
------------------------------------------------------ */

.post-header {
  max-width: 1140px;
  margin: 0 auto 20px auto;
  padding: 0 15px;
}

.post-title {
  margin: 0;
  font-size: 2.2rem;
  line-height: 1.2;
  color: #1a1a1a;
}





/* ------------------------------------------------------
STYLES!!!!!!!!!!!!!!!!
------------------------------------------------------ */

body.wp-post,
.editor-styles-wrapper
{
	font-family: "Work Sans", system-ui, -apple-system,BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 93.75%; /* 15px base */
}

body.wp-post,
.editor-styles-wrapper {
  font-size: 93.75%; /* 15px base */
}

body.wp-post h1,
.editor-styles-wrapper h1
 {
	font-weight:normal;
	color: #dc3545;
	font-size:36px;
}

body.wp-post h2,
body.wp-post h3,
body.wp-post h4,
body.wp-post h5,
body.wp-post h6,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6
{
	font-weight:normal;
 	color: #4485e7; /* blue */
}


body.wp-post h2,
.editor-styles-wrapper h2
 {
	font-size:22px;
}

body.wp-post h3,
.editor-styles-wrapper h3
 {
	font-size:18px;
}

body.wp-post p,
.editor-styles-wrapper p {
  font-size: 1rem;        /* 16px base */
  line-height: 1.65;
  margin-bottom: 1.25rem;
  color: #111;
}


/* ------------------------------------------------------
   Lists
------------------------------------------------------ */

body.wp-post ul,
body.wp-post ol,
.editor-styles-wrapper ul,
.editor-styles-wrapper ol {
  margin: 1.25rem 0;
  padding-left: 1.25rem;
}

body.wp-post li,
.editor-styles-wrapper li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

/* Remove extra space after last item */
body.wp-post li:last-child,
.editor-styles-wrapper li:last-child {
  margin-bottom: 0;
}

body.wp-post ol,
.editor-styles-wrapper ol {
  padding-left: 1.5rem;
}

body.wp-post li ul,
body.wp-post li ol,
.editor-styles-wrapper li ul,
.editor-styles-wrapper li ol {
  margin-top: 0.5rem;
}



/* ------------------------------------------------------
   Tables
------------------------------------------------------ */

body.wp-post table,
.editor-styles-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.95rem;
}

/* Table headers */
body.wp-post thead th,
.editor-styles-wrapper thead th {
  text-align: left;
  font-weight: 600;
  color: #1a1a1a;
  background: #f5f7fa;
  border-bottom: 2px solid #dce1e7;
  padding: 0.75rem 0.75rem;
}

/* Table body cells */
body.wp-post tbody td,
.editor-styles-wrapper tbody td {
  padding: 0.75rem 0.75rem;
  border-bottom: 1px solid #e6e9ef;
  vertical-align: top;
}

/* Footer (optional but supported) */
body.wp-post tfoot td,
.editor-styles-wrapper tfoot td {
  padding: 0.75rem 0.75rem;
  font-weight: 500;
  background: #fafbfc;
  border-top: 2px solid #dce1e7;
}

body.wp-post tbody tr:nth-child(even),
.editor-styles-wrapper tbody tr:nth-child(even) {
  background: #fafafa;
}


body.wp-post td.is-numeric,
.editor-styles-wrapper td.is-numeric {
  text-align: right;
}








/* ======================================================
   Buttons
   Tip:
Use Gutenberg Button → Additional CSS classes
pg-btn pg-btn-primary
====================================================== */

body.wp-post .pg-btn,
.editor-styles-wrapper .pg-btn {
  display: inline-block;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

/* Primary */
body.wp-post .pg-btn-primary,
.editor-styles-wrapper .pg-btn-primary {
  background: #dc3545;
  color: #fff;
}

body.wp-post .pg-btn-primary:hover,
.editor-styles-wrapper .pg-btn-primary:hover {
  background: #bb2d3b;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0,0,0,.15);
}

/* Secondary */
body.wp-post .pg-btn-secondary,
.editor-styles-wrapper .pg-btn-secondary {
  background: #6c757d;
  color: #fff;
}




/* ======================================================
   Cards
====================================================== */

body.wp-post .pg-card,
.editor-styles-wrapper .pg-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}

body.wp-post .pg-card:hover,
.editor-styles-wrapper .pg-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.08);
}



/* ======================================================
   Section Backgrounds
====================================================== */

body.wp-post .pg-bg-soft-blue,
.editor-styles-wrapper .pg-bg-soft-blue {
  background: #f2f7ff;
}

body.wp-post .pg-bg-soft-grey,
.editor-styles-wrapper .pg-bg-soft-grey {
  background: #f7f7f7;
}

body.wp-post .pg-bg-soft-green,
.editor-styles-wrapper .pg-bg-soft-green {
  background: #d4edda;
}



/* ======================================================
   Feature Rows
====================================================== */

body.wp-post .pg-feature,
.editor-styles-wrapper .pg-feature {
  display: flex;
  gap: 14px;
  background: #fff;
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

body.wp-post .pg-feature-icon,
.editor-styles-wrapper .pg-feature-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(220,53,69,.12);
  color: #dc3545;
  flex-shrink: 0;
}



/* ======================================================
   Accordion / FAQ
====================================================== */

body.wp-post .pg-faq-item,
.editor-styles-wrapper .pg-faq-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  margin-bottom: 12px;
  overflow: hidden;
}

body.wp-post .pg-faq-q,
.editor-styles-wrapper .pg-faq-q {
  width: 100%;
  padding: 16px 18px;
  font-weight: 700;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
}

body.wp-post .pg-faq-a,
.editor-styles-wrapper .pg-faq-a {
  padding: 0 18px 16px;
}



/* ======================================================
   Columns
====================================================== */

body.wp-post .wp-block-columns,
.editor-styles-wrapper .wp-block-columns {
  gap: 1.5rem;
}




/* ======================================================
   Table of Contents
====================================================== */

body.wp-post .pg-toc,
.editor-styles-wrapper .pg-toc {
  background: #f7f7f7;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}

body.wp-post .pg-toc h4,
.editor-styles-wrapper .pg-toc h4 {
  margin-top: 0;
  font-size: 1.1rem;
}

body.wp-post .pg-toc ul,
.editor-styles-wrapper .pg-toc ul {
  margin: 0;
  padding-left: 1.25rem;
}

body.wp-post .pg-toc a,
.editor-styles-wrapper .pg-toc a {
  text-decoration: underline;
}




/* ======================================================
   Product Category / Template Showcase
====================================================== */

body.wp-post .pg-template-grid,
.editor-styles-wrapper .pg-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  margin: 2rem 0;
}

body.wp-post .pg-template-card,
.editor-styles-wrapper .pg-template-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}

body.wp-post .pg-template-card:hover,
.editor-styles-wrapper .pg-template-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.08);
}

body.wp-post .pg-template-card img,
.editor-styles-wrapper .pg-template-card img {
  display: block;
  width: 100%;
  height: auto;
}



















































































/* ======================================================
   Button Block Styles
====================================================== */

body.wp-post .is-style-pg-primary .wp-block-button__link,
.editor-styles-wrapper .is-style-pg-primary .wp-block-button__link {
  background: #dc3545;
  color: #fff;
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 600;
}

body.wp-post .is-style-pg-primary .wp-block-button__link:hover,
.editor-styles-wrapper .is-style-pg-primary .wp-block-button__link:hover {
  background: #bb2d3b;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0,0,0,.15);
}

body.wp-post .is-style-pg-secondary .wp-block-button__link,
.editor-styles-wrapper .is-style-pg-secondary .wp-block-button__link {
  background: #6c757d;
  color: #fff;
  border-radius: 999px;
}



/* ======================================================
   Group Block Styles
====================================================== */

body.wp-post .is-style-pg-card,
.editor-styles-wrapper .is-style-pg-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

body.wp-post .is-style-pg-soft-blue,
.editor-styles-wrapper .is-style-pg-soft-blue {
  background: #f2f7ff;
  padding: 15px;
  border-radius: 12px;
}

body.wp-post .is-style-pg-soft-grey,
.editor-styles-wrapper .is-style-pg-soft-grey {
  background: #f7f7f7;
  padding: 15px;
  border-radius: 12px;
}

body.wp-post .is-style-pg-soft-green,
.editor-styles-wrapper .is-style-pg-soft-green {
  background: #d4edda;
  padding: 15px;
  border-radius: 12px;
}



/* ======================================================
   FAQ / Accordion (Details Block)
====================================================== */

body.wp-post .is-style-pg-faq,
.editor-styles-wrapper .is-style-pg-faq {
  border-radius: 12px;
  background: #fff;
  padding: 1rem 1.25rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

body.wp-post .is-style-pg-faq summary,
.editor-styles-wrapper .is-style-pg-faq summary {
  font-weight: 700;
  cursor: pointer;
}



/* ======================================================
   Table of Contents
====================================================== */

body.wp-post .is-style-pg-toc,
.editor-styles-wrapper .is-style-pg-toc {
  background: #f7f7f7;
  padding: 1.25rem 1.5rem;
  border-radius: 12px;
}




/* ------------------------------------------------------
   Column padding parity (editor + live)
------------------------------------------------------ */

/* Front end */
body.wp-post .wp-block-column > .wp-block-group {
  padding: 1.25rem;
}

/* Editor */
.editor-styles-wrapper .wp-block-column > .wp-block-group {
  padding: 1.25rem;
}


/* Force equal-width Gutenberg columns (2, 3, 4+) */
@media (min-width: 782px) {
  .wp-block-columns.is-layout-flex {
    display: flex;
  }

  .wp-block-columns.is-layout-flex > .wp-block-column {
    flex: 1 1 0;
    max-width: 100%;
  }
}


/* Force Gutenberg tables to behave predictably */
.wp-block-table table {
  width: 100%;
  table-layout: fixed;
}

/* Equal-width columns */
.wp-block-table td,
.wp-block-table th {
  width: auto;
}



/* Fix Gutenberg Buttons alignment */
.wp-block-buttons.is-content-justification-center {
  display: flex;
  justify-content: center;
}
.wp-block-buttons.is-content-justification-left {
  display: flex;
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-right {
  display: flex;
  justify-content: flex-end;
}


/* Gutenberg spacing scale (25 / 50 / 75 / 100) */
:root {
  --wp--preset--spacing--25: 0.5rem;
  --wp--preset--spacing--50: 1rem;
  --wp--preset--spacing--75: 2rem;
  --wp--preset--spacing--100: 3rem;
}

/* Fix Gutenberg Buttons alignment */
.wp-block-buttons.is-content-justification-center {
  display: flex;
  justify-content: center;
}
.wp-block-buttons.is-content-justification-left {
  display: flex;
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-right {
  display: flex;
  justify-content: flex-end;
}









/* Allow Gutenberg button wrappers to stretch */
.wp-block-buttons {
  display: flex;
  width: 100%;
}

/* Allow individual buttons to grow */
/* Only stretch buttons that use width controls */
.wp-block-button.has-custom-width {
  width: 100%;
}


/* Make width presets actually work */
.wp-block-button.has-custom-width > .wp-element-button {
  display: block;
}

.wp-block-button__width-25  > .wp-element-button { width: 25%; }
.wp-block-button__width-50  > .wp-element-button { width: 50%; }
.wp-block-button__width-75  > .wp-element-button { width: 75%; }
.wp-block-button__width-100 > .wp-element-button { width: 100%; }


@media (max-width: 781px) {
  .wp-block-button.has-custom-width > .wp-element-button {
    width: 100%;
  }
}
