/* Home sections extracted styles: slogan, slogan-2col, features, products, and common banner spacing */

/* Common banner spacing for pages using page header */
.page-header--banner{ margin-top: var(--df-sticky-top, 84px); }
body.admin-bar .page-header--banner{ margin-top: calc(var(--df-sticky-top, 84px) + 32px); }

/* Default page template adjustments when banner disabled */
.page-top-offset{ margin-top: var(--df-sticky-top, 84px); }
body.admin-bar .page-top-offset{ margin-top: calc(var(--df-sticky-top, 84px) + 32px); }
body.page-template-default .widget-area,
body.page-template-default .sidebar{ top: 0 !important; }
body.page-template-default .widget-area{ position: sticky; }
body.page-template-default .sidebar{ position: static; }
@media (max-width: 768px){ body.page-template-default .widget-area{ position: static; } }
.page-top-offset .widget-area,
.page-top-offset .sidebar{ top: 0 !important; }

/* Single/Archive helpers */
.breadcrumb-bar.is-above{ margin-top: var(--pd-top-spacing, 40px); }
.page-spacer{ height: var(--pd-top-spacing, 40px); }
.page-header__overlay{ opacity: var(--overlay-opacity, .3); }
.banner-promo{ text-align: var(--promo-align, left); }
.banner-promo-title{ font-size: var(--promo-h1-size, 28px); line-height:1.25; font-weight:700; margin:.25rem 0; }

/* Slogan (one column) */
.slogan{ position:relative; background: var(--s1-bg); color: var(--s1-color); overflow:hidden; }
.slogan.has-divider{ box-shadow: inset 0 1px 0 rgba(17,24,39,.06); }
.slogan.grad-soft1{ background: linear-gradient(135deg,#f0f5ff 0%, #e6f7ff 100%); }
.slogan.grad-soft2{ background: linear-gradient(135deg,#f9fafb 0%, #eef2f7 100%); }
.slogan .s1-bg{ position:absolute; top:0; bottom:0; left:50%; width:100vw; margin-left:-50vw; z-index:0; background-image: var(--s1-bg-image); background-repeat:no-repeat; background-position: center var(--s1-bg-pos-y, center); background-size: var(--s1-bg-size, cover); background-attachment: var(--s1-bg-mode, scroll); opacity: var(--s1-bg-opacity, .15); pointer-events:none; }
.slogan > .container{ position:relative; z-index:1; padding: var(--s1-pad-y) var(--s1-pad-x); }
.slogan .slogan-title{ font-size: var(--s1-title-size, 2rem); margin:0 0 .5rem; font-weight:700; line-height:1.3; }
.slogan .slogan-desc{ margin:0; line-height:1.8; }

/* Slogan 2 columns */
.slogan-2col{ position:relative; background: var(--s2-bg); color: var(--s2-color); overflow: hidden; }
.slogan-2col > .container{ display:grid; gap:30px; align-items:center; grid-template-columns: 1fr auto; grid-template-areas: 'left right'; }
.slogan-2col .slogan2-left{ grid-area: left; }
.slogan-2col .slogan2-right{ grid-area: right; }
.slogan-2col.is-reverse > .container{ grid-template-columns: auto 1fr; grid-template-areas: 'right left'; }
.slogan-2col.grad-soft1{ background: linear-gradient(135deg,#f0f5ff 0%, #e6f7ff 100%); }
.slogan-2col.grad-soft2{ background: linear-gradient(135deg,#f9fafb 0%, #eef2f7 100%); }
.slogan-2col.has-divider{ box-shadow: inset 0 1px 0 rgba(17,24,39,.06); }
.slogan-2col .s2-bg{ position:absolute; top:0; bottom:0; left:50%; width:100vw; margin-left:-50vw; z-index:0; background-image: var(--s2-bg-image); background-repeat:no-repeat; background-position:center; background-size:cover; background-attachment: var(--s2-bg-mode, scroll); opacity: var(--s2-bg-opacity, .15); pointer-events:none; }
.slogan-2col > .container{ position:relative; z-index:1; }
.slogan-2col .slogan2-right{ width: var(--s2-img-w, auto); }
.slogan-2col .slogan2-right img{ object-fit: var(--s2-fit, contain); border-radius: var(--s2-radius, 8px); box-shadow: var(--s2-shadow, none); width:100%; max-width: var(--s2-img-w, 100%); height:auto; display:block; }
.slogan-2col.align-center .slogan2-left{ text-align:center; }
@media (max-width: 992px){ .slogan-2col.bp-992 .container{ display:block; } }
@media (max-width: 1200px){ .slogan-2col.bp-1200 .container{ display:block; } }
@media (max-width: 768px){ .slogan-2col.bp-768 .container{ display:block; } }

/* Features */
.features.section .feature-icon{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:8px; background:transparent !important; margin-right:10px; }
.features .feature-icon .dashicons{ font-size:24px; width:24px; height:24px; line-height:1; }
.features .feature-icon img{ max-width:24px; max-height:24px; display:block; }
.features .feature-head{ display:flex; align-items:center; gap:10px; }
.features .feature-title{ margin:0; font-size:1.1rem; }
.features .features-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.features .card{ padding:16px; border-radius:12px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.features.section.alt{ background:#fafbfc; }

/* Products (tabs) */
.products .tab-buttons{ display:flex; background-color:#f8f9fa; border-bottom:1px solid #e9ecef; }
.products .tab-button{ flex:1; padding:18px 20px; background:none; border:0; font-size:16px; font-weight:600; color:#6c757d; cursor:pointer; transition:all .3s ease; position:relative; overflow:hidden; }
.products .tab-button:hover{ background-color:rgba(0,123,255,.05); color:#495057; }
.products .tab-button.active{ color:#007bff; }
.products .tab-button.active::after{ content:''; position:absolute; bottom:0; left:0; width:100%; height:3px; background-color:#007bff; }
.products .tab-content{ display:none; padding:30px; opacity:0; transform:translateY(var(--df-tabs-shift,4px)); transition: opacity var(--df-tabs-duration,.28s) var(--df-tabs-ease,ease), transform var(--df-tabs-duration,.28s) var(--df-tabs-ease,ease); }
.products .tab-content.active{ display:flex; gap:30px; opacity:1; transform:translateY(0); }
@keyframes fadeIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
.products .tab-image{ flex:1; border-radius:0; overflow:hidden; box-shadow:none; background:transparent; }
.products .tab-image img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block; background:transparent; border-radius:0; }
.products .tab-image:hover img{ transform:scale(1.05); }
.products .tab-text{ flex:1; display:flex; flex-direction:column; justify-content:center; }
.products .tab-text h2{ font-size:28px; margin-bottom:15px; color:#343a40; }
.products .tab-text p{ font-size:16px; line-height:1.6; color:#6c757d; margin-bottom:25px; white-space: pre-line; }
.products .detail-btn{ display:inline-block; padding:12px 24px; color:#fff; text-decoration:none; border-radius:12px; font-weight:600; transition:all .25s ease; align-self:flex-end; margin-top:16px;
  background: linear-gradient(135deg, var(--primary, #6c63ff), var(--primary-700, #4e46e5));
  box-shadow: 0 8px 24px rgba(78,70,229,.25);
}
.products .detail-btn:hover{ transform:translateY(-2px); background: linear-gradient(135deg, var(--primary-700, #4e46e5), var(--primary-800, #4338ca)); box-shadow:0 10px 28px rgba(67,56,202,.30); }
@media (max-width:768px){ .products .tab-content.active{ flex-direction:column; } .products .tab-buttons{ flex-direction:column; } .products .tab-button.active::after{ width:3px; height:100%; top:0; left:0; } }

/* Unified homepage button style: force white text */
.slogan .btn,
.slogan-2col .btn,
.features.section .btn,
.products .detail-btn,
.why-us .btn,
.cta .btn{
  color: #fff !important;
  background-color: #007bff;
  border: none;
}
.slogan .btn:hover,
.slogan-2col .btn:hover,
.features.section .btn:hover,
.products .detail-btn:hover,
.why-us .btn:hover,
.cta .btn:hover{
  background-color:#0056b3;
}
