/*
Theme Name: Ocean Orthodontics
Author: Dancing Badger
Description: Lightweight block theme for WordPress.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: db-block
*/

/* Base fallbacks (the rest is handled via theme.json) */

body {
  margin: 0;
  padding-top: 84px;
}

body a {
    text-decoration: none;
}

.wp-block-post-content ul:not(.wp-block-post-template):not([data-block-name="woocommerce/product-template"]),
.wp-block-post-content ol {
  margin: 0;
  padding: 0 0 30px 30px;
}
.wp-block-uagb-container.uagb-is-root-container .uagb-block-9a4abcb8{
  margin: auto;
}

.wp-block-post-content blockquote {
  margin: 0 0 30px;
  padding: 0 0 0 30px;
}

/* Mobile block groups */

:where(.wp-site-blocks) > * {
    margin-block-start: auto;
    margin-block-end: 0;
}

/* Header */

header.wp-block-template-part {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.1), 0 15px 12px rgba(0, 0, 0, 0.02);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

body.admin-bar header.wp-block-template-part {
  top: 32px;
}

/* Footer */

footer.wp-block-template-part ul {
  list-style: none;
  padding: 0;
}

/* Buttons */

:root :where(.wp-element-button, .wp-block-button__link) {
  text-transform: normal !important;
}

/* Hero */

.do-hero::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 280px;
    height: 280px;
    background: rgba(0, 0, 0, 0.2);
    opacity: .14;
    border-radius: 50%;
}

/* CTA */

.do-final-cta::before {
    content: '';
    position: absolute;
    left: -120px;
    top: -140px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.2), transparent 70%);
}

/* Badges */

.do-hero-badges {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 10px;
    margin: 0;
    padding: 0;
    position: relative;
}

.do-hero-badges li {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(0, 0, 0, 0.4);
    color: #a7f0c4    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 100px;
    letter-spacing: .02em;
}

/* Loctions */

.do-town-pills {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.do-town-pills li {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.4);
    border-radius: 100px;
    padding: 7px 15px;
    font-size: 13px;
    font-weight: 600;
    color: var(--do-forest);
}

.entry-content{
  padding: 24px;
}

.wp-block-uagb-container.uagb-is-root-container .uagb-block-0dc24aa1,
.wp-block-uagb-container.uagb-is-root-container .uagb-block-f2be64a4 {
    max-width: 1500px !important;
    width: 100%;
}

/* Clinic cards container */
.uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 32px !important;
	/* width: 100% !important; */
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
	box-sizing: border-box;
	align-items: stretch;
  
}

/* Individual cards */
.uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap >
.wp-block-uagb-container {
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* Keep logo area consistent */
.uagb-block-cfdcd1fa figure.wp-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 90px;
	margin-inline: auto;
}

.uagb-block-cfdcd1fa figure.wp-block-image img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: 64px !important;
	object-fit: contain;
}

/* Let descriptions fill the available card height */
.uagb-block-cfdcd1fa .wp-block-paragraph {
	flex-grow: 1;
	overflow-wrap: anywhere;
}

/* Keep buttons at the bottom */
.uagb-block-cfdcd1fa .wp-block-uagb-buttons {
	margin-top: auto;
	width: 100%;
}

.uagb-block-cfdcd1fa .uagb-buttons__wrap {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	width: 100%;
}

.uagb-block-cfdcd1fa .wp-block-uagb-buttons-child {
	flex: 1 1 120px;
	min-width: 0;
}

.uagb-block-cfdcd1fa .uagb-button__wrapper,
.uagb-block-cfdcd1fa .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
}

.wpforms-container input.wpforms-field-medium, 
   .wpforms-container select.wpforms-field-medium, 
   .wpforms-container .wpforms-field-row.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container input.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container select.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container 
   .wpforms-field-row.wpforms-field-medium{
      max-width: 100%;
   }

/* Feature cards: 4 desktop, 2 tablet, 1 mobile */
.four-feature-cards {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--s);
}

/* Individual cards */
.four-feature-cards > .wp-block-column {
	display: flex;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box;
}

/* Icon and text layout inside each card */
.four-feature-cards > .wp-block-column >
.wp-block-columns.is-not-stacked-on-mobile {
	display: grid !important;
	grid-template-columns: 26px minmax(0, 1fr);
	align-items: start;
	gap: 16px;
	width: 100%;
}

/* Remove Gutenberg column width interference */
.four-feature-cards
.wp-block-columns.is-not-stacked-on-mobile >
.wp-block-column {
	flex-basis: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* Keep icons consistent */
.four-feature-cards figure.wp-block-image {
	width: 26px;
	margin: 0;
}

.four-feature-cards figure.wp-block-image img {
	display: block;
	width: 26px !important;
	height: 26px !important;
	object-fit: contain;
}

/* Allow long text to wrap safely */
.four-feature-cards p {
	overflow-wrap: anywhere;
}

.uagb-buttons-repeater.wp-block-button__link{
    padding: 20px 14px !important;
}

.wp-block-uagb-container.uagb-block-3181d6a7 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}


/* Navigation */

@media (min-width: 600px) {

  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container, 
  .wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container, 
  .wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container, 
  .wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
    background: var(--wp--preset--color--primary);
    border: 0;
    left: 50%;
    padding: 7px 5px;
    transform: translateX(-50%);
    min-width: 220px;
  }

  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container a {
    color: #fff;
  }

}


@media (max-width:1025px){
  .uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
   .page-id-26 .wp-container-core-columns-is-layout-d38cf046{
      display: flex;
      flex-direction: column-reverse;
   /* }
   .wpforms-container input.wpforms-field-medium, 
   .wpforms-container select.wpforms-field-medium, 
   .wpforms-container .wpforms-field-row.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container input.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container select.wpforms-field-medium, 
   .wp-core-ui div.wpforms-container 
   .wpforms-field-row.wpforms-field-medium{
      max-width: 100%;
   } */
   }
}


/* Tablet: 2 cards */
@media only screen and (max-width: 991px) {
	.uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		padding-inline: 20px;
	}
}


/* Tablet: 2 cards */
@media only screen and (max-width: 991px) {
	.four-feature-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


@media (max-width: 991px){
  .wp-block-uagb-container.uagb-block-cfdcd1fa .uagb-container-inner-blocks-wrap .wp-block-uagb-container {
    padding: 24px !important;

  }
  .entry-content {
    padding: 15px;
  }
  .page-id-26 .entry-content{
    padding-top: 90px;
  }
}


@media (max-width: 847px){
  .wp-block-uagb-container.uagb-block-c14a8f11{
    padding-top: 150px !important;
  }
}


@media (max-width: 847px){
  .wp-block-uagb-container.uagb-block-d5a37f44{
    padding-top: 166px !important;
  }
}


@media (max-width: 824px){
  .wp-block-uagb-container.uagb-block-581a7944{
    padding: 24px !important; 
  }
}


@media (max-width: 781px) {

  :root :where(.wp-block-group) {
    padding-bottom: var(--wp--preset--spacing--m);
    padding-top: var(--wp--preset--spacing--m);
  }

}


@media (max-width: 768px){
  h1{
    font-size: 36px !important;
  }
  h2{
    font-size: 28px !important;
  }
  .wp-block-uagb-container.uagb-block-cfdcd1fa{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  a.uagb-buttons-repeater.wp-block-button__link{
    padding: 10px !important;
  }
  .wp-block-uagb-buttons-child{
    flex: 1 1 30px !important;
  }
}


/* Slider */

@media (max-width: 767px) {
    /* .wp-block-uagb-buttons.uagb-buttons__outer-wrap .uagb-buttons__wrap{
    flex-direction: row !important;
  } */
    .uagb-slider-container .swiper-button-prev,
    .uagb-slider-container .swiper-button-next {
        display: none !important;
    }
}


/* Mobile: 1 card */
@media only screen and (max-width: 600px) {
	.uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding-inline: 16px;
	}

	.uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap >
	.wp-block-uagb-container {
		width: 100% !important;
	}

	.uagb-block-cfdcd1fa .wp-block-uagb-buttons-child {
		flex: 1 1 130px;
	}
}


/* Mobile: 1 card */
@media only screen and (max-width: 600px) {
	.four-feature-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}


@media (max-width: 600px){
  .wp-block-uagb-container.uagb-block-c14a8f11 {
    padding-top: 30px !important;
  }
  .uagb-block-cfdcd1fa > .uagb-container-inner-blocks-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  

}


@media (max-width: 600px){
  .wp-block-uagb-container.uagb-block-d5a37f44 {
    padding-top: 50px !important;
  }
}


@media (max-width: 599px) {
  .page-id-26 .entry-content{
    padding-top: 15px !important;
  }
  .custom-logo {
    max-height: 50px;
    width: auto;
  }

}


@media (max-width: 599px) {

  .wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
    padding: 24px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
    align-items: flex-start !important;
    width: 100% !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
      padding: 40px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding-top: 7px !important;
  }

  .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: 3px 0 !important;
  }

}


@media (max-width: 599px){
  #modal-1-content ul{
    position: fixed !important;
    inset: 0 !important;
    padding: 24px !important;
    padding-top: 110px !important;
  }
}