/*
 Theme Name:   WP Bootstrap RepairShop
 Description:  Child theme of WP Bootstrap
 Template:     wp-bootstrap-starter
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  wp-bootstrap-repairlift
*/

/* fonts */

@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap')

body {
    
	font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    color: #1f1c19;
}

:root {
 font-size: 16px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Nunito', sans-serif;
    color: #1f1c19;
}
#main-nav {font-family: 'Nunito', sans-serif;}
p {font-family: 'Nunito', sans-serif;}
figcaption {font-family: 'Nunito', sans-serif;}
.gb-block-post-grid header .gb-block-post-grid-title  {font-family: 'Nunito', sans-serif;}
.btn , .gb-block-cta, .gb-button{font-family: 'Nunito', sans-serif;}

/*widget text font*/
.widget_text , .widget , .widget_custom_html , .textwidget p{
 font-family: 'Nunito', sans-serif;}

/* gutenberg full-width blocks*/
.entry-content .alignwide {
        margin-left  : -80px;
        margin-right : -80px;
    }
    .entry-content .alignfull {
        margin-left  : calc( -100vw / 2 + 100% / 2 );
        margin-right : calc( -100vw / 2 + 100% / 2 );
        max-width    : 100vw;
    }
    .alignfull img {
        width: 100vw;
    }


/* layout */

div.home #content.site-content {
    padding-top: 0px;
    padding-bottom: 65px;
}

.entry-content ul {
    padding-left: 24px;
}

.entry-content ul li {
    padding-bottom: 16px;
}
.post-thumbnail {
    margin: 32px 0 0 0;
}

.single-post #content.site-content {
    margin-top: 6.5%;
	margin-bottom: 5%;
} 

.entry-meta {display:none!important;}


/* nav - top bar */

header#masthead {
	padding: 15px 0;
    border: none;
    background-color: #fff;
	box-shadow: 0 1px 5px 0 rgba(0,0,0,.15);
}

.navbar-static-top .dropdown-menu {
    padding: 0;
}

.dropdown-menu .dropdown-item {
    padding: 8px 16px;
}

.navbar-brand img {
    max-width: 200px;
    position: relative;
    top: -2px;
    left: -5px;
}
.site-name {
    display: none;
}

/* top bar location info */
/*for 1 to 3 locations*/
.location-information {padding: 5px;}
.location-information .container{padding-left: 0;padding-right: 0;}
.location-information .locations {display: flex;justify-content: space-between;text-align:center;}
.location-information .location:nth-child(3),.location-information .location:nth-child(2) {text-align: center;}
#custom_html-4 {width: 100%;}
/*dropdown for 4 or more locations*/
.dropdown {
  position: relative;
  display: inline-block;
  float: left;
}
.callus { float: left;padding-top: 1%;font-size: 16px;
font-weight: 600;}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 270px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  text-align:center;
	padding: 1%;
	margin-top: 12%;
}
.dropdown-content a {color: #333;padding: 2%;text-decoration: none!important;display: block;}
.dropdown-content a:hover {background-color: rgba(196,196,196,.2);}
.dropdown:hover .dropdown-content {display: block;}

.dropitem {
    display: flex;
	padding: 4%;
}

.dropitem .flex-child {
    flex: 1;
}  

.dropitem:first-child {
    margin-right: 2%;
} 
.loc, .tel {width: 50%;}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a {
    color: #333;
    font-size: 1rem;
	font-weight: 400;
}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a:hover,
body:not(.theme-preset-active) #masthead .navbar-nav>li.current_page_item>a {
    font-weight: 300;
}

.navbar-expand-xl .navbar-nav ul.dropdown-menu {
    border-radius: 0;
    border-color: rgba(31,28,25,.9);
    min-width: 200px;
    border-color: rgba(202, 202, 202, 0.9);
}

a.dropdown-item {
    font-size: 1rem;
}

.dropdown-menu a.dropdown-item:hover,
.dropdown-menu a.dropdown-item:focus {
    color: #fff;
	border-radius: 0;
	background-color: #333;
}

/* instant quote menu item*/
#menu-item-8432 .btn-primary {font-size: 1rem;padding: 0.5rem;}
#menu-item-8432 .button-group {padding-bottom: 0;}

/*instant quote widget */
iframe {
	margin-top: 2%;
	border-radius: 0px;
	box-shadow: 0 0 10px #b3b3b3;
}

/* header */

body:not(.theme-preset-active) #page-sub-header {
    padding-top: 0;
}

body:not(.theme-preset-active) #page-sub-header h1 {
    color: #fff;
    font-size: 4rem;
    line-height: 1.25;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, .5);
    margin-bottom: 32px;
    font-weight: 400;
}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a:after {
    display: none;
}



/* footer */

div#footer-widget {
    padding: 60px 0 35px 0;
    background-color: rgba(0, 0, 0, .025) !important;
}
div#footer-widget .col-md-8 {text-align:left; padding-bottom: 2%;}

#custom_html-48, #custom_html-49 {margin-bottom: 10%;}

body:not(.theme-preset-active) #page-sub-header p {
    color: #fff;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, .5);
    font-size: 1.5rem;
}

.page-scroller i {
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 0px rgba(0, 0, 0, .5);
    font-size: 2rem;
	display:none;
}

.page-scroller i:hover {
    color: #3c6fff;
}

a.page-scroller {
    margin-top: 0;
}

a.page-scroller:hover {
    text-decoration: none;
}

a.page-scroller:hover i {
    color: #3c6fff;
}

/* header content */

div#page-sub-header {
    background-repeat: no-repeat;
    background-size: cover;
}

.header-container.wrapper {
    padding: 7% 2%;
    width: 100%;
    background-color: rgba(0, 0, 0, .4);
}

.header-container.wrapper>.container {
    text-align: left;
}
.single-post .entry-header {
    padding-bottom: 5%;
}

/* vendor logos */

.vendor-logos.wrapper {
    background-color: rgba(31,28,25,.9);
	  width: 100%;
}

ul.vendor-logos {
    list-style: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
}

ul.vendor-logos li {
    flex: 1 1 auto;
    margin: 0 2%;
}

ul.vendor-logos li img {
    max-height: 110px;
    opacity: .5;
    cursor: pointer;
}

ul.vendor-logos li img:hover {
    opacity: 1;
}

/*leading text section*/
.lead-contact {background-color: #1f1c19; margin-bottom: 8%; align-content:center;padding-top: 3%;}
.lead-contact .wp-block-column:first-child {flex-basis: 95% !important;}
.lead-contact .wp-block-column {flex-grow: 1;}
#text-3 .textwidget {color: #fff; font-size: 32px; margin-top: -20px;}
#text-3 .textwidget p {font-size: 2rem;}
#text-14 .textwidget p {font-size: 1.6rem;}
#text-34 .textwidget p {font-size: 1.6rem;}

/* site branding - headers */

div.navbar-brand a,
#page-sub-header h1 {
    letter-spacing: .025rem;
    font-weight: 100;
}
.single-post h1.entry-title {display:initial;}

h1.entry-title {
    font-size: 2rem;
    font-weight: 500;
    border-bottom: 0;
    margin-bottom: 20px;
    padding-bottom: 0;
	display: none;
}

.entry-content {
    margin-top: 0;
}

div.navbar-brand a {
    font-weight: 100;
    font-size: 1.5rem;
    color: #212529;
}

.single-post .entry-content p:first-child {
    margin-bottom: 6%;
}


/* buttons and links */

.btn , .gb-block-cta, .gb-button{
    text-shadow: none;
    border-radius: 0!important;
}
.btn-primary,
#footer-widget .btn-primary,
header .button-group .btn:first-child,
header .button-group .btn:hover,
div.cta-button button {
    font-size: 1.25rem;
    color: #fff!important;
    border-radius: 0px;
    line-height: 1.5;
    padding: .5rem 1rem;
    border: none;
	box-shadow: 0 0 4px #888;
}

.cta {padding: 0;}
.cta a {color:#fff!important;}
.cta a:hover {color:#fff!important;}
.cta, .cta:hover {
	font-size: 1.25rem;
    color: #fff;
    line-height: 1.5;
    border: none;
	box-shadow: 0 0 4px #888;}

#footer-widget .btn-primary:hover,
.btn-primary.focus, 
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active,
div.cta-button button:hover,
div.cta-button button:focus {
    border: none;
	border-radius: 0px;
	box-shadow: 0 0 4px #888;
}
.gb-button, .gb-button:hover {box-shadow: 0 0 4px #888;}
.call-button, .call-button:hover {box-shadow: 0 0 4px #888; border-radius: 0px;}

#cta-contact-us button {
    background-image: none !important;
}

a {
    color: #cc0000;
}

a:hover {
    color: #aa0000;
    text-decoration: none;
}

.button-group {
    padding-bottom: 48px;
    border-radius: 0;
}
.header-container.wrapper .button-group {
    padding: 48px 0 0;
}

.wp-block-buttons > .wp-block-button {
  margin: 0 2% 4% 0;
}

/*buysellbuttons*/
.buysellbuttons .gb-button {background-color:#ebebeb!important;}
.buysellbuttons .gb-button:hover {background-color:#dcdcdc!important;}
	
/*buyback page*/
.bringup {margin-bottom:0;}

/* device columns styling*/
.device-columns .wp-block-image figcaption {color: #919191; font-size: 16px;text-align:center;font-weight: 100;}
.device-columns figure {width: 150px;}

.repairservices .repaircolumn {margin-bottom:2%;}

/*post grid*/
.gb-block-post-grid-title {
    font-size: 14px!important;
	font-weight: 100;
    text-align: center!important;
}
.gb-block-post-grid-title a{
	color:#919191;
}
.gb-post-grid-item {
	border: 1px solid #efefef;
	border-radius: 8px;
	padding: 3%;
	box-shadow: 0 0 10px #efefef;
	margin-bottom:2%!important;
	height: 95%;
}
.blogposts .gb-post-grid-item {height:100%;}

/*font awesome*/
.fa, .far, .fas {
    width: 50px;
}

/*nav links*/
.nav-links {display:none;}

/*homepage cta blocks*/
.gb-block-cta {border-radius: 0px;}

/*headings*/
.headings {margin:8% 0 2% 0;}

/*separators*/
hr {border-top: 3px solid #efefef; width: 30%;}

/* why us section*/
.why_us_columns .wp-block-column {border: 1px solid #efefef; padding: 5%; box-shadow: 0 0 4px #7d7d7d;margin-bottom:3%;}

/* testimonial carousel*/
.slide {
opacity: 1;
height: 100%;
background-color: #ffffffde;
border: 1px solid #fff;
border-radius: 0px;
padding: 4%;
box-shadow: 0 0 6px aliceblue;
}

.slide .textwidget {font-size: 1.2rem;}

.carousel-inner {color:#000;}
.carousel-indicators .active {background-color: #353535;}
.carousel-indicators li {background-color: #353535;}
.col-md-8 {padding-bottom: 12%;text-align: center;}
.carousel-indicators {bottom: -10%;}

/* social media */

section#simple-social-icons-3.simple-social-icons ul {
    padding-bottom: 16px !important;
}

section#simple-social-icons-3.simple-social-icons ul li {
    margin: 0 !important;
    margin-right: 16px !important;
}

section#simple-social-icons-3.simple-social-icons ul li a {
    padding: 0 !important;
}

/*subpage headings*/
.subpage-separator {float: left; width: 40%;}

/*call us buttons*/
.call-button {text-align: center;background-color: #1f1b19; padding: 1.5%;width: 60%; margin: 5% 20%;}
.call-button a {color: #fff;font-weight:400;font-size:18px;}
.call-button a:hover {color: #fff!important;}
.call-button .textwidget a {color: #fff;}
@media (max-width: 260px){
.call-button {width: 100%; margin: 5% 0;}
}

/* sidebar menu */

h3.widget-title {
    margin-bottom: 20px;
}

.menu-devices-container>ul li a {
    padding-left: 0;
    font-size: 1rem;
}

.menu-devices-container>ul li a:hover {
    background-color: transparent;
    color: #24292e;
}


#secondary {
  border-left: 2px solid #f0f0f0;
}

#custom_html-34{
background-color: #f7f7f7;
padding: 4%;
border-radius: 0px;
box-shadow: 0 0 4px #d5d5d5;
margin-bottom:15%;
}

/* footer  */

body:not(.theme-preset-active) footer#colophon {
    color: #c8c8c8 !important;
    background-color: #484848 !important;
}

section#simple-social-icons-3.simple-social-icons ul,
section#simple-social-icons-3.simple-social-icons ul li {
    float: right;
}

#footer-widget p {margin-bottom: 35px;}
#footer-widget .btn-primary {box-shadow: 0 0 4px #888;}
#footer-widget .button-group {padding: 4% 0 6%;}


#nav_menu-2 {width: 50%;margin-top: 5%;}
#nav_menu-2 .widget-title {display: inherit;}
#nav_menu-2 .nav-link {display: block; padding: .5rem 0;}
	
.entry-footer {
    display: none;
}

/*lead contact buttons*/
.lead-contact .wp-block-column:first-child {flex-basis: 65%;}
.lead-contact .wp-block-column {padding-top: 3%;}

/* COUNTERS*/
.counters {padding: 2%; background-color: #f7f7f7;}
.count-title { font-size: 40px; font-weight: bold;  margin-top: 10px; margin-bottom: 0; text-align: center; }

/*flipbox*/
.flip-box {
  background-color: transparent;
  width: 100%;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px;
  box-shadow: 0 0 6px #efefef;	
	border-radius: 0px;
}
.flip-box2 {
  background-color: transparent;
  width: 100%;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px;
  box-shadow: 0 0 6px #efefef;
	border-radius: 0px;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

.flip-box2:hover .flip-box-inner {
  transform: rotateY(180deg);
}


.flip-box-front, .flip-box-front2, .flip-box-front3, .flip-box-front4, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
	border-radius: 0px;
}

.flip-box-front {
   background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),url("/wp-content/uploads/2018/09/banner-samsung-button.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.flip-box-front2 {
   background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),url("/wp-content/uploads/2018/09/banner-ipad-button.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.flip-box-front3 {
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),url("/wp-content/uploads/2018/09/banner-android-button.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.flip-box-front4 {
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),url("/wp-content/uploads/2018/09/banner-otherdevices-button.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.flip-box-back {
  background-color: #1d1d1d;
  transform: rotateY(180deg);
}
.flip-box-front h3, .flip-box-front2 h3, .flip-box-front3 h3, .flip-box-front4 h3 {color: #fff; margin-top: 5vw;padding: 0 5%;font-size: 24px;}
.flip-box-back h3 {color: #fff; margin-top: 12%;padding: 0 5%;font-size: 24px;}
.flipboxtext{
font-size: 2.5rem!important;
margin-top: 3vw!important;
} 

/* DISABLE WIDGET TITLES */
.widgettitle { display: none; }
.widget-title { display: none; }


/* Format Content for Regular Pages */
.reg-pg-content{font-size:16px;line-height:1.5;color:#212529;}

/* Location Page titles */
.loc-labels{margin-bottom:0px!important;}
.p-loc-labels{margin-bottom:0px!important;}

/* Address, Phone, Hours, Shortname formatting */
.addresswidget,.phonewidget,.hourswidget,.emailwidget{font-size:16px;display:inline;}

.addresswidget2,.phonewidget2,.emailwidget2{font-size:16px;display:inline-block;}

.location-page-class p{font-size:28px;font-weight:500;}

/* Header Formatting - Size of the Storename*/
.location-header-storename p{margin-bottom:0px;font-size:.75rem;}

/* Header Formatting - fix hours margin on bottom*/
.hours p{margin-bottom:0px;}

.maps_location_page{width:600px; height:400px;}

/* Footer Formatting */
.footerstuff{margin-bottom:0px!important;}
	#footer-widget p{font-size:14px!important;margin:1px 0 1px 0!important;}
	.widget{margin:0px;}

.wpb_posts_slider .flex-caption{background-color:#ffffff;border:0px;border-color:#fff;box-shadow:none;font-size:20px;font-weight:400;text-align:center;-webkit-box-shadow: none;}
	.flexslider{box-shadow:none!important;-webkit-box-shadow: none;}
.testimonial_page p{font-size:20px;}

/* model pages customization*/
.model-warranty, .model-time {
background-color: #f7f7f7;
padding: 4%;
border-radius: 0px;
box-shadow: 0 0 4px #d5d5d5;
margin-bottom:15%;
}
#repairform {margin-top: 4%;}
#custom_html-35 {margin-bottom:4%;}
.problems .gb-block-layout-column-inner {
	height: 95%; 
	margin-bottom:4%;
	border-radius: 0px;
	box-shadow: 0 0 10px #d5d5d5;
}
.problems h4 {margin-bottom: 1rem;font-size: 1.4rem;}

.page-cta {margin-top: -6%;}
.model-image-column img{width:255px;}

.headerbtn {margin-left:5%;}


/**device sales and sell your device**/
.alignfull {
    width: 100vw !important;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
}
.lp-header-col {
    padding: 4% 6%;
}
.form-title {
    font-size: 2rem;
    text-align: center;
}


.lp2-header-title {line-height:1.2;}


/* screen-reader */

.skip-link.screen-reader-text {
    display: none;
}

/*media queries*/
@media only screen and (max-width: 1366px) {
    body #primary main article,
    nav.navigation.post-navigation,
    aside.widget-area {
        margin: auto;
    }
}

@media only screen and (max-width: 1199px) {
    body:not(.theme-preset-active) #masthead .navbar-nav>li>a {
        font-size: 1rem;
    }
    #main-nav.navbar-collapse {
        margin-bottom: 16px;
    }
    #main-nav.navbar-collapse .dropdown-menu .dropdown-item {
        font-size: 1rem;
        margin-bottom: 24px;
    }
    #main-nav.navbar-collapse .dropdown-menu a.dropdown-item:hover {
        color: #cc0000;
    }
	.dropdown-menu .dropdown-item {
        padding: 0 16px;
    }
    .dropdown-menu a.dropdown-item:hover,
    .dropdown-menu a.dropdown-item:focus {
        background-color: transparent;
    }
}

@media only screen and (max-width: 1024px) {
    .navbar-brand img {
        max-width: 200px;
        left: 0;
    }
    .header-container.wrapper {
        padding-top: 10%;
        padding-bottom: 3%;
    }
}

@media only screen and (max-width: 768px) {
    body:not(.theme-preset-active) #page-sub-header h1 {
        font-size: 2.5rem;
    }
    body:not(.theme-preset-active) #page-sub-header p {
        font-size: 1rem;
    }
    .header-container.wrapper {
        background-color: rgba(0, 0, 0, .5);
        padding: 7% 0 2.5% 0;
    }
	.device-columns .wp-block-column {flex-basis: 25%; flex-grow: 1;}
	.flipboxtext {font-size: 2rem!important;}
	#footer-widget .button-group {padding: 30px 0;}
	.gb-block-post-grid .is-grid {grid-gap: 0 .2em!important;}
}

@media only screen and (max-width: 599px){
body:not(.theme-preset-active) #page-sub-header h1 {font-size: 2rem;}
.buysellbuttons .wp-block-column {flex-basis: 40%!important;}
.buysellbuttons .wp-block-column:first-child {margin-right: 5%;}
.device-columns .wp-block-column {flex-basis: 40%!important; flex-grow: 1;}
.gb-block-post-grid div[class*="columns"].is-grid {grid-template-columns: 1fr 1fr;}
.blogposts .is-grid {grid-template-columns: 1fr!important;}
.sub-device-columns .wp-block-column {flex-basis: 40%; flex-grow: 1; padding:5px;}
.model-warranty, .model-time {margin-bottom:10%;}
.model-image-column img{width:50%;}
#custom_html-35 {margin-bottom:10%;}
.withIQW .button-group {padding-bottom: 30px;}
}


@media only screen and (max-width: 480px) {
    .header-container .button-group {
        padding: 16px 0;   
    }
	.slide .textwidget {font-size: 1rem;}
}

@media only screen and (max-width: 411px) {
    body:not(.theme-preset-active) #page-sub-header h1 {
        margin-bottom: 10%;
		font-size: 2.4rem;
    }
    #page-sub-header .button-group {
        padding: 5% 0;
    }
	.headerbtn {margin-top: 12%!important; margin-left: 1%!important;}
}

@media only screen and (max-width: 375px) {
    div.navbar-brand a {
        font-size: 1.25rem
    }
    .navbar-brand img {
        max-width: 45px;
    }
    .page-scroller i {
        max-width: 25px;
    }
}

@media only screen and (max-width: 320px) {
    body #primary main article,
    nav.navigation.post-navigation,
	.repair-columns .wp-block-column:first-child .gb-block-post-grid div[class*="columns"].is-grid {grid-template-columns: 1fr 1fr;}
}

@media (min-width: 600px){
.sub-device-columns .wp-block-column {flex-basis: 15%; flex-grow: 1;}
.why_us_columns .wp-block-column {flex-grow: 1;}
.why_us_columns .wp-block-column {padding: 2%;}
}



/* ==========================================================================
   ESTILOS DEFINITIVOS PARA EL COTIZADOR NEWBERRY v2.0
   ========================================================================== */

.cotizador-container {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Nunito', sans-serif;
}

/* --- Contenedores de los Pasos --- */
.cotizador-step { display: none; }
.cotizador-step.active-step { display: block; animation: fadeIn 0.5s; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.cotizador-step h2 {
    text-align: center;
    margin-bottom: 30px;
    font-weight: 700;
    color: #333;
}

/* --- LA PARTE IMPORTANTE: LA REJILLA DE OPCIONES --- */
.options-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Siempre 2 columnas en escritorio */
    gap: 25px; /* Espacio entre los cuadros */
}

/* --- LOS CUADROS DE SELECCIÓN --- */
.selectable-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 25px 20px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    background-color: #fff;
    height: 180px; /* Altura fija para simetría */
}
.selectable-box:hover {
    border-color: #007bff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    transform: translateY(-4px);
}
.selectable-box.selected {
    border-width: 2px;
    border-color: #004d40; /* Borde verde oscuro al seleccionar */
    background-color: #f5fbf9;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.selectable-box img {
    max-height: 100px; /* Controla la altura máxima de la imagen */
    width: 100%; /* Asegura que la imagen no se salga del cuadro */
    object-fit: contain; /* Mantiene la proporción sin deformar la imagen */
    margin-bottom: 15px;
}
.selectable-box span {
    font-weight: 600;
    font-size: 1.1rem;
    color: #333;
}

/* --- BOTONES DE NAVEGACIÓN --- */
.cotizador-step .prev-step,
.cotizador-step .next-step {
    margin-top: -1rem;
    font-size: large;
}
/* Igualar estilo del botón submit al resto */
.cotizador-container button[type="submit"],
.cotizador-container input[type="submit"] {
    background-color: #cc0000; /* el mismo color rojo de tus botones "Next" */
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 25px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0,0,0,0.2);
    transition: background-color 0.3s ease, transform 0.2s ease;
    position: relative;
    top: 0; /* 🔽 evita que se vea "levantado" */
    margin-top: 30px; /* ajusta el espacio superior */
}

/* Hover (igual al de los demás botones) */
.cotizador-container button[type="submit"]:hover,
.cotizador-container input[type="submit"]:hover {
    background-color: #a80000; /* tono más oscuro */
    transform: translateY(-2px);
}

.input-otro input {
  width: 100%;
  max-width: 300px;
  padding: 8px;
}

.otro-opcion {
  border: 2px dashed #aaa;
  background: #f9f9f9;
  cursor: pointer;
}
/* Contenedor en dos columnas */
#bloque-resumen-ghl {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 40px; /* filas / columnas */
    padding: 20px;
    background: #f7f7f7;
    border-radius: 10px;
}

/* Asegurar que cada form-group no se expanda demasiado */
#bloque-resumen-ghl .form-group {
    width: 100%;
}

/* Inputs del resumen */
#bloque-resumen-ghl input {
    width: 100%;
}
@media (max-width: 768px) {
    #bloque-resumen-ghl {
        grid-template-columns: 1fr; /* una sola columna */
    }
}




/* --- RESPONSIVE PARA MÓVILES --- */
@media (max-width: 1024px) {
    .options-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .options-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .options-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1024px) {
    /* Inputs */
    .cotizador-step input[type="text"],
    .cotizador-step input[type="email"],
    .cotizador-step input[type="tel"],
    .cotizador-step input[type="number"],
    .cotizador-step select,
    .cotizador-step textarea {
        width: 90% !important;
        max-width: 780px !important;
        margin: 0 auto;
        display: block;
    }

    /* Labels */
    .cotizador-step label {
        width: 90% !important;
        max-width: 780px !important;
        text-align: left;
        margin: 0 auto 5px auto; /* Centra el label y deja un pequeño espacio abajo */
        display: block;
    }
}

@media (max-width: 768px) {
    /* Inputs */
    .cotizador-step input[type="text"],
    .cotizador-step input[type="email"],
    .cotizador-step input[type="tel"],
    .cotizador-step input[type="number"],
    .cotizador-step select,
    .cotizador-step textarea {
        width: 90% !important;
        max-width: 500px !important;
        margin: 0 auto;
        display: block;
    }

    /* Labels */
    .cotizador-step label {
        width: 90% !important;
        max-width: 500px !important;
        text-align: left;
        margin: 0 auto 5px auto; /* Centra el label y deja un pequeño espacio abajo */
        display: block;
    }
    .cotizador-step .prev-step,
    .cotizador-step .next-ste{
        margin-left: 1rem;
    }
}


@media (max-width: 480px) {
    /* Inputs */
    .cotizador-step input[type="text"],
    .cotizador-step input[type="email"],
    .cotizador-step input[type="tel"],
    .cotizador-step input[type="number"],
    .cotizador-step select,
    .cotizador-step textarea {
        width: 90% !important;
        max-width: 260px !important;
        margin: 0 auto;
        display: block;
    }

    /* Labels */
    .cotizador-step label {
        width: 90% !important;
        max-width: 260px !important;
        text-align: left;
        margin: 0 auto 5px auto; /* Centra el label y deja un pequeño espacio abajo */
        display: block;
    }
}
@media (max-width: 480px) {
    /* Inputs */
    .cotizador-step input[type="text"],
    .cotizador-step input[type="email"],
    .cotizador-step input[type="tel"],
    .cotizador-step input[type="number"],
    .cotizador-step select,
    .cotizador-step textarea {
        width: 90% !important;
        max-width: 260px !important;
        margin: 0 auto;
        display: block;
    }

    /* Labels */
    .cotizador-step label {
        width: 90% !important;
        max-width: 260px !important;
        text-align: left;
        margin: 0 auto 5px auto; /* Centra el label y deja un pequeño espacio abajo */
        display: block;
    }
    
    h4, p{
        text-align: center;
    }
}

/* iFrame responsivo */
#ghl-iframe-form {
    border: none;
    outline: none;
    border-radius: 0;
    width: 100%; /* Asegura que ocupe el ancho disponible */
    display: block;
}

/* Para Tablets */
@media (max-width: 768px) {
    #ghl-iframe-form {
        /* Aumentamos altura para evitar doble scroll en tablets */
        height: 800px !important; 
    }
}

/* Para Móviles */
@media (max-width: 480px) {
    #ghl-iframe-form {
        /* Aumentamos drásticamente la altura. 
           Los calendarios en móvil se hacen muy largos verticalmente */
        height: 1100px !important; 
    }
    
    /* Ajuste para que el contenedor no tenga padding extra que comprima el iframe */
    #ghl-iframe-container {
        padding: 0;
        margin: 0 -10px; /* Truco para ganar un poco de ancho en pantallas muy angostas */
    }
}

