/*
Theme Name: Digital Place
Theme URI: https://webteria.com.br/themes/ddigitalplace/
Author: Webteria
Author URI: https://webteria.com.br
Description: Tema personalizado para atender as necessidades da Digital Place.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 8.2
Version: 1.0
Text Domain: ddigitalplace
*/

:root {
    --bs-primary: #FFC704;
    --bs-primary-rgb: 255, 199, 4;

    --bs-secondary: #262626;
    --bs-secondary-rgb: 38, 38, 38;

	--bs-warning: #D8A30F ;
	--bs-warning-rgb: 216, 163, 15 ;

	--bs-info: #6D6D6D ;
	--bs-info-rgb: 109, 109, 109 ;

    --bs-light: #E6E6E6;
    --bs-light-rgb: 230, 230, 230 ;

    --bs-dark: #161516;
    --bs-dark-rgb: 22, 21, 22;

    --bs-link-color: #FFC704;
    --bs-link-color-rgb: 255, 199, 4;

    --bs-link-hover-color: #B8880C;
    --bs-link-hover-color-rgb: 184, 136, 12;

    --bs-body-font-family: Inter, sans-serif;
}

a {
	color: var(--bs-primary);
	transition: .2s All;
}
a:hover {
	color: var(--bs-secondary);
	text-decoration: none;
}

a.white-link {
	color: White;
	text-decoration: none;
}
a:hover.white-link {
	color: var(--bs-primary);
	text-decoration: none;
}

b, strong {
    font-weight: 500;
}

.pagination {
    --bs-pagination-active-color: rgb(255, 185, 29);
    --bs-pagination-active-bg: rgb(75, 61, 30);
    --bs-pagination-active-border-color: rgb(75, 61, 30);
}

#top_menu {
	background-color: var(--bs-dark);
    border-bottom: 1px solid var(--bs-warning);		
	transition: .2s All;
	color: White;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
	padding: 8px 0;
}

#top_menu .navbar-brand {
	height: 32px;
	width: 32px;
	background-size: 220px;
    background-repeat: no-repeat;
	transition: .2s All;
}

#top_menu a.nav-link {
	color: var(--bs-light);
	text-decoration: none;
	font-weight: 400;
	font-size: 14px;
}
#top_menu a.nav-link:hover,
#top_menu a.nav-link.active {
	color: White;
	text-decoration: none ;
}

.nav-item-primary .nav-link {
	border: 1px solid var(--bs-primary) ;
	border-radius: 8px ;
	background-color: var(--bs-primary) ;
	color: white ;
	font-weight: 700 !important;
}
.nav-item-primary .nav-link:hover,
.nav-item-primary .nav-link.active {
	border: 1px solid var(--bs-secondary) ;
	background-color: var(--bs-secondary) !important;
	color: var(--bs-primary) !important;
}

.nav-item-outline-primary .nav-link {
	border: 1px solid var(--bs-primary) ;
	border-radius: 8px ;
	background-color: transparent ;
	color: white ;
	font-weight: 700 !important;
}
.nav-item-outline-primary .nav-link:hover {
	border: 1px solid var(--bs-primary) !important;
	background-color: White !important;
	color: var(--bs-primary) !important;
}



footer {
    font-size: 12px;
    background: var(--bs-dark) ;
    color: var(--bs-info);
}

footer a {
    color: var(--bs-info);
	text-decoration: none;
}
footer a:hover {
    color: White;
}

footer a.nav-link {
    color: var(--bs-info);
    font-size: 16px;
    border-bottom: 1px solid rgba( var(--bs-primary), 0 );
    text-decoration: none;
    margin: 0 12px 2px 12px;
    padding: 4px 0px 1px 0px;
}
footer a.nav-link:hover,
footer a.nav-link.active {
    color: White;
    border-bottom: 1px solid rgba( var(--bs-primary), 2 );
}

.social-icons {
    text-align: center;
}
.social-icons a {
    display: inline-block;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    text-align: center;
    background: var(--bs-warning);
    color: Black;
    transition: .4s all;
    font-size: 24px;
    padding-top: 6px;
    margin: 0 3px;
}
.social-icons a:hover {
    background: var(--bs-primary);
}

.go-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    display: block;
    width: 48px;
    height: 48px;
    background-color: rgba(0, 0, 0, .3);
    border-radius: 50%;
    font-size: 32px;
    text-align: center;
    color: white;
}
.go-top:hover {
    background-color: var(--bs-primary);
    color: white;
}


@media (min-width: 992px) {

	#top_menu {
		padding: 0;
	}

	#top_menu .navbar-brand {
		height: 35px;
		width: 259px;
		background-size: 259px;
	}
	
	#top_menu .nav-item {
		padding: 16px 0;
	}
	
	#top_menu a.nav-link {
		position: relative;
		padding: 12px 2px 2px 2px;
		margin: 0 1rem .5rem 1rem;
	}

	#top_menu .navbar-nav > .nav-item > a.nav-link::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0px;
		display: block;
		width: 0px;
		height: 2px;
		background-color: var(--bs-primary);
		transition: .2s All;
	}
	#top_menu .navbar-nav > .nav-item > a.nav-link.active::after,
	#top_menu .navbar-nav > .nav-item > a.nav-link:hover::after {
		left: 0;
		width: 100%;
		height: 2px;
	}

	#top_menu .nav-item.nav-item-primary,
	#top_menu .nav-item.nav-item-outline-primary {
		padding: 0 0;
	}
	#top_menu .navbar-nav > .nav-item.nav-item-primary > a.nav-link::after,
	#top_menu .navbar-nav > .nav-item.nav-item-outline-primary > a.nav-link::after {
		content:none;
	}

	.nav-item-primary .nav-link,
	.nav-item-outline-primary .nav-link {
		padding: 11px 16px 11px 16px !important;
		margin-top: 1rem !important;
	}

	.social-icons {
		text-align: right;
	}
}

@media (min-width: 1200px) {


}

@media (min-width: 1400px) {


}







 :root {
    --gold:       #D8A30F;
    --gold-light: #FFC704;
    --dp-black:   #161516;
    --dp-dark:    #262626;
    --dp-gray:    #6D6D6D;
    --dp-light:   #C9C9C9;
    --dp-lightest:#E6E6E6;
    /* Override Bootstrap primary with gold */
    --bs-primary: #D8A30F;
    --bs-primary-rgb: 216,163,15;
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; color: var(--dp-dark); overflow-x: hidden; }

  /* ── NAVBAR ── */
  .dp-navbar {
    background: rgba(22,21,22,0.97) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(216,163,15,0.2);
    height: 68px;
  }
  .dp-navbar .navbar-nav .nav-link {
    color: var(--dp-light); font-size: 13px; font-weight: 400;
    padding: 0 0.85rem; height: 68px; line-height: 68px;
    position: relative; transition: color .2s;
  }
  .dp-navbar .navbar-nav .nav-link::after {
    content: ''; position: absolute; bottom: 0; left: 0.85rem; right: 0.85rem;
    height: 2px; background: var(--gold); transform: scaleX(0); transition: transform .2s;
  }
  .dp-navbar .navbar-nav .nav-link:hover { color: #fff; }
  .dp-navbar .navbar-nav .nav-link:hover::after { transform: scaleX(1); }
  .dp-navbar .navbar-toggler { border-color: rgba(255,255,255,.2); }
  .dp-navbar .navbar-toggler-icon { filter: invert(1); }
  @media (max-width: 991px) {
    .dp-navbar { height: auto; padding: .75rem 1.5rem; }
    .dp-navbar .navbar-nav .nav-link { height: auto; line-height: 1; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.06); }
    .dp-navbar .navbar-nav .nav-link::after { display: none; }
    .dp-navbar .navbar-collapse { padding: .5rem 0; }
  }

  /* ── BUTTONS ── */
  .btn-gold { background: var(--gold); color: var(--dp-black); font-weight: 700; border: none; border-radius: 4px; transition: background .2s, transform .15s; }
  .btn-gold:hover { background: var(--gold-light); color: var(--dp-black); transform: translateY(-1px); }
  .btn-outline-light-dp { border: 1.5px solid rgba(255,255,255,.25); color: #fff; font-weight: 500; border-radius: 4px; background: transparent; transition: border-color .2s, color .2s; }
  .btn-outline-light-dp:hover { border-color: var(--gold); color: var(--gold); }

  /* ── HERO ── */
  #inicio {
    background: var(--dp-black);
    min-height: 100vh;
    padding-top: 68px;
    position: relative;
    overflow: hidden;
  }
  .hero-grid-lines {
    position: absolute; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(216,163,15,.04) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(216,163,15,.04) 1px, transparent 1px);
    background-size: 48px 48px;
  }
  .hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(216,163,15,.12); border: 1px solid rgba(216,163,15,.3);
    color: var(--gold); font-size: 11px; font-weight: 600;
    letter-spacing: 2px; text-transform: uppercase;
    padding: 6px 14px; border-radius: 2px;
  }
  .hero-eyebrow span { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; display: inline-block; }
  .hero-stat .num { font-size: 28px; font-weight: 800; color: var(--gold); line-height: 1; }
  .hero-stat .lbl { font-size: 12px; color: var(--dp-gray); margin-top: 3px; }
  .hero-stats-row { border-top: 1px solid rgba(255,255,255,.08); }

  /* Float cards */
  .hero-float-card {
    background: rgba(38,38,38,.85); border: 1px solid rgba(216,163,15,.2);
    border-radius: 8px; padding: 1.1rem 1.25rem;
    backdrop-filter: blur(8px);
  }
  .hero-float-card.featured { border-color: rgba(216,163,15,.5); background: rgba(216,163,15,.08); }
  .float-icon {
    width: 40px; height: 40px; background: rgba(216,163,15,.15);
    border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  }
  .float-icon svg { width: 20px; height: 20px; stroke: var(--gold); fill: none; }
  .hero-float-card h4 { font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 2px; }
  .hero-float-card p { font-size: 12px; color: var(--dp-light); margin: 0; }

  /* ── EYEBROW LABEL ── */
  .section-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); }

  /* ── SOBRE ── */
  #sobre { background: var(--dp-black); padding: 0; }
  .sobre-img-wrap { position: relative; min-height: 480px; overflow: hidden; }
  .sobre-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(30%) brightness(.7); display: block; }
  .sobre-img-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, var(--dp-black) 100%); }
  .sobre-content { background: var(--dp-black); padding: 5rem 3rem 5rem 4rem; }
  @media (max-width: 991px) { .sobre-content { padding: 3rem 1.5rem; } .sobre-img-wrap { min-height: 280px; } .sobre-img-wrap::after { background: linear-gradient(0deg, var(--dp-black) 20%, transparent 100%); } }

  .pill-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(216,163,15,.1); border: 1px solid rgba(216,163,15,.25); color: var(--gold); font-size: 12px; font-weight: 500; padding: 6px 12px; border-radius: 2px; }
  .pill-badge svg { width: 13px; height: 13px; flex-shrink: 0; }

  .mvv-card { background: rgba(38,38,38,.8); border-top: 2px solid var(--gold); padding: 1.25rem; }
  .mvv-card h3 { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
  .mvv-card p { font-size: 13px; color: var(--dp-light); line-height: 1.7; margin: 0; }

  /* ── CERTIFICADOS ── */
  #certificados { background: #f9f8f6; }
  .cert-tabs .nav-link { font-size: 13px; font-weight: 600; color: var(--dp-gray); border: none; border-bottom: 2px solid transparent; border-radius: 0; padding: .875rem 1.1rem; transition: color .2s, border-color .2s; background: transparent; }
  .cert-tabs .nav-link.active { color: var(--dp-dark); border-bottom-color: var(--gold); }
  .cert-tabs .nav-link:hover { color: var(--dp-dark); }
  .cert-tabs { border-bottom: 2px solid var(--dp-lightest); }

  .cert-card { background: #fff; border: 1.5px solid var(--dp-lightest); border-radius: 8px; overflow: hidden; transition: border-color .2s, transform .2s; }
  .cert-card:hover { border-color: var(--gold); transform: translateY(-4px); }
  .cert-card-hdr { background: var(--dp-black); padding: 1.25rem 1.5rem; }
  .cert-badge { width: 46px; height: 46px; background: var(--gold); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 900; color: var(--dp-black); flex-shrink: 0; }
  .cert-card-hdr h3 { color: #fff; font-size: 15px; font-weight: 700; margin: 0; }
  .cert-card-hdr p { color: var(--dp-light); font-size: 12px; margin: 2px 0 0; }
  .cert-price { font-size: 28px; font-weight: 800; color: var(--dp-black); line-height: 1; }
  .cert-price sub { font-size: 14px; font-weight: 500; color: var(--dp-gray); }
  .cert-validity { font-size: 12px; color: var(--dp-gray); }
  .cert-features { list-style: none; padding: 0; margin: 0; }
  .cert-features li { font-size: 13px; color: var(--dp-dark); padding: 3px 0 3px 22px; position: relative; line-height: 1.5; }
  .cert-features li::before { content: ''; position: absolute; left: 0; top: 7px; width: 14px; height: 14px; background: var(--gold); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); mask-repeat: no-repeat; mask-size: contain; }

  /* A3 Cartão split */
  .cert-split { background: #fff; border: 1.5px solid var(--dp-lightest); border-radius: 8px; overflow: hidden; transition: border-color .2s, transform .2s; }
  .cert-split:hover { border-color: var(--gold); transform: translateY(-4px); }
  .split-hdr { background: var(--dp-black); padding: 1.1rem 1.25rem; }
  .split-hdr .modelo-label { font-size: 10px; color: var(--gold); font-weight: 600; letter-spacing: 1px; }
  .split-hdr .modelo-value { font-size: 13px; color: #fff; font-weight: 700; }
  .split-col { border-right: 1px solid var(--dp-lightest); }
  .split-col:last-child { border-right: none; }
  .split-val-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--dp-gray); }
  .cert-de { font-size: 12px; color: var(--dp-gray); text-decoration: line-through; }
  .cert-por { font-size: 22px; font-weight: 800; color: var(--dp-black); line-height: 1.1; }
  .cert-por sub { font-size: 11px; font-weight: 500; color: var(--dp-gray); }
  .cert-note { font-size: 11px; color: var(--dp-gray); font-style: italic; }

  /* Nuvem centrado */
  .nuvem-wrap { display: flex; justify-content: center; }
  .nuvem-wrap .cert-card { max-width: 480px; width: 100%; }

  /* ── COMO FUNCIONA ── */
  #como-funciona { background: #fff; }
  .step-num { width: 54px; height: 54px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; color: var(--dp-black); margin: 0 auto 1.25rem; position: relative; z-index: 1; }
  .steps-connector { position: absolute; top: 27px; left: calc(50% + 27px); right: calc(-50% + 27px); height: 1px; background: linear-gradient(90deg, var(--gold), var(--gold-light)); }
  .step-wrap { position: relative; }

  /* ── SUPORTE ── */
  #suporte { background: #f9f8f6; }
  .suporte-type-card { background: #fff; border: 1.5px solid var(--dp-lightest); border-radius: 8px; padding: 1.25rem; transition: border-color .2s; }
  .suporte-type-card:hover { border-color: var(--gold); }
  .suporte-ico { width: 38px; height: 38px; background: rgba(216,163,15,.1); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .suporte-ico svg { width: 19px; height: 19px; stroke: var(--gold); fill: none; }
  .suporte-type-card h3 { font-size: 13px; font-weight: 700; color: var(--dp-black); margin-bottom: 3px; }
  .suporte-type-card p { font-size: 12px; color: var(--dp-gray); line-height: 1.6; margin: 0; }
  .suporte-info-box { background: var(--dp-black); border-radius: 8px; }
  .horario-badge { background: rgba(216,163,15,.1); border: 1px solid rgba(216,163,15,.25); border-radius: 6px; }
  .horario-badge svg { width: 18px; height: 18px; stroke: var(--gold); flex-shrink: 0; fill: none; }
  .btn-whatsapp { background: #25D366; color: #fff; font-weight: 700; border: none; border-radius: 6px; display: inline-flex; align-items: center; gap: 8px; transition: background .2s; }
  .btn-whatsapp:hover { background: #1ebe5a; color: #fff; }
  .btn-whatsapp svg { width: 19px; height: 19px; fill: #fff; }

  /* ── PARCERIAS ── */
  #parcerias { background: var(--dp-black); position: relative; overflow: hidden; }
  .parcerias-bg { position: absolute; inset: 0; background-image: url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?w=1400&q=80&fit=crop'); background-size: cover; background-position: center; opacity: .08; pointer-events: none; }
  .parceiro-card { background: rgba(38,38,38,.7); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; transition: border-color .2s, background .2s; }
  .parceiro-card:hover { border-color: rgba(216,163,15,.4); background: rgba(216,163,15,.05); }
  .parceiro-ico { width: 42px; height: 42px; background: var(--gold); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .parceiro-ico svg { width: 21px; height: 21px; stroke: var(--dp-black); fill: none; stroke-width: 2; }
  .parceiro-card h3 { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 5px; }
  .parceiro-card p { font-size: 13px; color: var(--dp-light); line-height: 1.7; margin: 0; }
  .parcerias-cta { background: rgba(216,163,15,.08); border: 1px solid rgba(216,163,15,.25); border-radius: 8px; }
  .parcerias-cta h3 { font-size: 20px; font-weight: 800; color: #fff; }

  /* ── CONTATO ── */
  #contato { background: #f9f8f6; }
  .contato-ico { width: 42px; height: 42px; background: var(--dp-black); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .contato-ico svg { width: 19px; height: 19px; stroke: var(--gold); fill: none; stroke-width: 2; }
  .form-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--dp-dark); }
  .form-control, .form-select { border: 1.5px solid var(--dp-lightest); font-family: 'Inter', sans-serif; font-size: 14px; border-radius: 4px; }
  .form-control:focus, .form-select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(216,163,15,.15); }

  /* ── LOCALIZAÇÃO ── */
  #localizacao { background: #fff; }
  .local-card { border: 1.5px solid var(--dp-lightest); border-radius: 8px; overflow: hidden; transition: border-color .2s; }
  .local-card:hover { border-color: var(--gold); }
  .local-card-hdr { background: var(--dp-black); }
  .local-card-hdr svg { width: 17px; height: 17px; stroke: var(--gold); fill: none; flex-shrink: 0; }
  .local-map-link { font-size: 13px; font-weight: 600; color: var(--gold); text-decoration: none; }
  .local-map-link:hover { color: var(--gold-light); }

  /* ── FOOTER ── */
  footer { background: var(--dp-black); }
  footer .footer-divider { border-color: rgba(255,255,255,.08); }
  footer .footer-col-title { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); }
  footer .footer-link { font-size: 13px; color: var(--dp-gray); text-decoration: none; display: block; transition: color .2s; line-height: 1.8; }
  footer .footer-link:hover { color: #fff; }
  footer .footer-contact-ico { width: 15px; height: 15px; stroke: var(--gold); fill: none; flex-shrink: 0; margin-top: 2px; }
  footer .razao { font-size: 11.5px; color: var(--dp-gray); line-height: 1.7; }
  footer .legal { font-size: 12px; color: var(--dp-gray); }
  footer .legal a { color: var(--dp-gray); text-decoration: none; }
  footer .legal a:hover { color: #fff; }

  /* ── WHATSAPP FLOAT ── */
  .wa-float { position: fixed; bottom: 82px; right: 22px; z-index: 999; display: flex; align-items: center; }
  .wa-float-label { background: #fff; color: var(--dp-dark); font-size: 13px; font-weight: 600; padding: 9px 24px 9px 14px; border-radius: 24px 0 0 24px; white-space: nowrap; opacity: 0; transform: translateX(8px); transition: opacity .2s, transform .2s; pointer-events: none; box-shadow: 0 2px 8px rgba(0,0,0,.12); position: relative; right: -8px; z-index: -1; }
  .wa-float:hover .wa-float-label { opacity: 1; transform: translateX(0); }
  .wa-float-btn { width: 54px; height: 54px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 4px 12px rgba(37,211,102,.4); transition: transform .2s, background .2s; flex-shrink: 0; }
  .wa-float-btn:hover { background: #1ebe5a; transform: scale(1.08); }
  .wa-float-btn svg { width: 26px; height: 26px; fill: #fff; }
  @media (max-width: 576px) { .wa-float { bottom: 60px; right: 20px; } .wa-float-label { display: none; } }