/*------------------------------------*\
    Dione – Customizer homepage sections
    Recreates the spacing of the original page-builder layout so the
    sections look the same without WPBakery.
\*------------------------------------*/

.dione-section { position: relative; }
.dione-section-inner { position: relative; z-index: 2; width: 100%; }
.dione-section .patter_bg { z-index: 1; }
.dione-section-placeholder { display: none; }
.dione-has-bg { overflow: hidden; }

/* Background image + effects */
.dione-bg-layer {
	position: absolute; left: 0; top: 0; width: 100%; height: 100%;
	background-size: cover; background-position: center center; background-repeat: no-repeat;
	z-index: 0; pointer-events: none;
}
.dione-bg-layer.is-moving { height: 150%; will-change: transform; }
.dione-bg-layer.is-fixed { background-attachment: fixed; }
@media (hover: none) { .dione-bg-layer.is-fixed { background-attachment: scroll; } }

/* Heights (same as the page builder "full height, content middle" rows) */
.dione-full-height { min-height: 100vh; }
.dione-full-height,
.dione-min-height { display: flex; flex-wrap: wrap; align-items: center; }
.dione-full-height > .dione-section-inner,
.dione-min-height > .dione-section-inner { padding-top: 35px; }

/* Page-builder grid: 1200px row with 15px gutters inside the 1170px container */
.dione-row { margin-left: -30px; margin-right: -30px; }
@media (max-width: 767px) { .dione-row { margin-left: -15px; margin-right: -15px; } }
.dione-flush-row { width: 100%; }
.dione-flush-row .dione-flush-col { padding-left: 0; padding-right: 0; }

/* Default spacing per section (override in each section's "Section style") */
.dione-sec-about,
.dione-sec-schedule,
.dione-sec-hotels,
.dione-sec-faq,
.dione-sec-tickets,
.dione-sec-sponsors,
.dione-sec-register,
.dione-sec-contact { padding-top: 135px; padding-bottom: 135px; }
.dione-sec-speakers { padding-top: 135px; }
.dione-sec-milestones { padding-top: 140px; padding-bottom: 105px; }
.dione-sec-register { padding-top: 170px; }
.dione-sec-register + .dione-sec-contact { padding-top: 170px; }
.dione-sec-custom { padding-top: 100px; padding-bottom: 100px; }
.dione-sec-venue.dione-has-map { min-height: 100vh; }

/* Hero */
.dione-hero .ova_static_bg { width: 100%; }
.dione-hero .ova_static_bg > .display-table-cell { display: block !important; width: 100%; }
.dione-hero-label { margin-bottom: 18px; }
.dione-hero-text { margin: 25px auto 0; max-width: 720px; }
.dione-hero-text p { font-size: 16px; line-height: 1.75; margin: 0 0 10px; }
.text-left .dione-hero-text { margin-left: 0; }
.dione-hero-buttons .btn + .btn { margin-left: 12px; }
.dione-hero-social { margin-top: 35px; }
.dione-hero-social li { padding: 0 12px; }
.dione-hero-social a { color: #ffffff; }
.dione-hero-social a:hover { opacity: .8; }
.dione-hero-slides .ova_slideshow_two { padding: 0; }
@media (max-width: 767px) { .dione-hero .container { padding-left: 30px; padding-right: 30px; } }

/* Countdown */
.dione-countdown-overlap { margin-top: -50px; padding-top: 35px; }
.dione-sec-countdown:not(.dione-countdown-overlap) { padding-top: 80px; padding-bottom: 80px; }
.dione-sec-countdown:not(.dione-countdown-overlap) .countdown { top: 0; }
.dione-countdown-center .countdown.ova_clock,
.dione-countdown-center .ova_clock { float: none; text-align: center; }

/* About / hotels / sponsors spacing (the builder added these per column) */
.dione-about-box-col { padding-bottom: 30px; }
.dione-hotel-col { padding-bottom: 35px; }
.dione-sponsor { margin-bottom: 35px; text-align: center; }
.dione-sponsor img { display: inline-block; max-width: 100%; height: auto; }

/* Speakers without a photo yet */
.dione-speaker-placeholder { position: relative; padding-top: 100%; background: #e9e9e9; }
.dione-speaker-placeholder i { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 64px; color: #c4c4c4; }

/* FAQ (stacked tabs + accordions) */
.dione-faq .nav-stacked > li + li { margin-top: 0; }
.dione-faq-tabs { margin-bottom: 30px; }
.dione-faq-tabs > li > a { font-size: 11px; line-height: 20px; border: 1px solid #efefef; margin-top: -1px; }
.dione-faq-tabs > li.active > a { border-color: transparent; }
.dione-faq .panel-group .panel { border-radius: 5px; }
.dione-faq .panel:not(.active) > .panel-heading { background-color: #ffffff; }
.dione-faq .panel-title { font-size: 11px; line-height: 20px; margin: 0; }
.dione-faq .panel-body { font-size: 14px; }

/* Tickets */
.dione-tickets-intro .testimonial { margin-left: auto; margin-right: auto; text-align: left; }
.dione-tickets-intro .separator-line-extra-thick-long { margin-left: auto !important; margin-right: auto !important; display: block; }
.dione-plans-row { margin-top: 60px; }
.dione-plan-col { margin-bottom: 30px; }

/* Register / contact */
.dione-register-btn { padding-top: 40px; }
.dione-contact-link { display: block; color: inherit; }
.dione-contact-form { margin-top: 40px; }

/* Custom content */
.dione-custom-content > *:last-child { margin-bottom: 0; }
.dione-custom-content img { max-width: 100%; height: auto; }
.dione-text-light,
.dione-text-light h1, .dione-text-light h2, .dione-text-light h3, .dione-text-light h4,
.dione-text-light p, .dione-text-light a, .dione-text-light .text-gray-dark-2 { color: #ffffff; }

/* Venue map */
.dione-venue-map { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; }
.dione-venue-map iframe { width: 100%; height: 100%; border: 0; }
.dione-has-map .dione-section-inner { pointer-events: none; }
.dione-has-map .dione-section-inner .bg-white { pointer-events: auto; }

/* Keep the footer identical when the companion plugin is switched off */
.footer .widget { margin-bottom: 0; }
.footer-logo img { width: 120px; }

/* Header menu button */
.navbar .navbar-nav > li.dione-menu-cta > a,
.ovatheme_header_default nav.navbar li.dione-menu-cta > a {
	padding: 8px 18px; border-radius: 2px; color: #ffffff !important; opacity: 1;
}
.navbar .navbar-nav > li.dione-menu-cta { padding-top: 4px; }
.navbar .navbar-nav > li.dione-menu-cta > a:before { display: none !important; }
@media (max-width: 767px) {
	.navbar .navbar-nav > li.dione-menu-cta { padding: 10px 0 15px; }
	.navbar .navbar-nav > li.dione-menu-cta > a { display: inline-block; }
}

/* Header options */
.dione-v1-offset .page-section { padding-top: 110px; }
.dione-sticky-default .ovatheme_header_default.fixed + .page-section { padding-top: 0; }

/* Community – WhatsApp QR */
.dione-sec-community { padding-top: 135px; padding-bottom: 135px; }
.icpo-community-row { display: flex; flex-wrap: wrap; align-items: center; }
.icpo-community-label { margin-bottom: 18px; }
.icpo-community-label .fa { font-size: 16px; margin-right: 4px; }
.icpo-community-text p { margin: 0 0 24px; line-height: 1.6; }
.icpo-community-points { margin: 0 0 34px; padding: 0; }
.icpo-community-points li { position: relative; padding-left: 30px; margin-bottom: 12px; }
.icpo-community-points li .fa { position: absolute; left: 0; top: 3px; font-size: 18px; }
.icpo-community-btn .fa { font-size: 16px; margin-right: 6px; vertical-align: -1px; }
.icpo-qr-card { display: inline-block; padding: 18px 18px 20px; max-width: 100%; }
.icpo-qr-card img { display: block; width: 100%; height: auto; margin: 0 auto; }
.icpo-qr-link { display: block; }
.icpo-qr-note { margin-top: 16px; }
.icpo-qr-note .fa { margin-right: 4px; }
.icpo-community-center-text { margin: 30px auto 24px; max-width: 620px; }
@media (max-width: 767px) {
	.icpo-community-row { display: block; }
	.icpo-community-text { margin-bottom: 40px; }
	.icpo-community-points { display: inline-block; text-align: left; }
	.icpo-qr-card { padding: 16px; }
}

/* Areas of Focus – icon cards */
.dione-sec-focus { padding-top: 135px; padding-bottom: 105px; }
.icpo-focus-grid { display: flex; flex-wrap: wrap; }
.icpo-focus-grid:before, .icpo-focus-grid:after { display: none; }
.icpo-focus-col { display: flex; margin-bottom: 30px; }
.icpo-focus-card { width: 100%; padding: 40px 36px 34px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.icpo-focus-plain { padding: 10px 0 0; }
.icpo-focus-shadow:hover { transform: translateY(-4px); box-shadow: 5px 12px 40px rgba(0, 0, 0, .09); border-color: var(--icpo-main, #33cb98) !important; }
.icpo-focus-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--icpo-main, #33cb98); margin-bottom: 26px; font-size: 26px; }
.icpo-icon-square,
.icpo-icon-circle { width: 64px; height: 60px; background: #eaf7f3; background: color-mix(in srgb, var(--icpo-main, #33cb98) 12%, #ffffff); border-radius: 6px; }
.icpo-icon-circle { width: 64px; height: 64px; border-radius: 50%; }
.icpo-icon-plain { font-size: 34px; }
.icpo-focus-title { font-size: 16px; line-height: 1.35; color: #272727; margin: 0 0 16px; }
.icpo-focus-title a { color: inherit; }
.icpo-focus-title a:hover { color: var(--icpo-main, #33cb98); }
.icpo-focus-text { margin: 0; line-height: 1.75; }
@media (max-width: 767px) {
	.icpo-focus-col { display: block; }
	.icpo-focus-card { padding: 30px 24px 26px; }
}

/* Workshops & Hands-On Training */
.dione-sec-workshops { padding-top: 135px; padding-bottom: 135px; }
.icpo-workshops-head { padding-bottom: 60px !important; }
.icpo-workshops-card { padding: 55px 60px 60px; }
.icpo-workshops-intro { max-width: 900px; margin: 0 auto 36px; line-height: 1.6; }
.icpo-workshops-lists { margin-bottom: 14px; }
.icpo-workshops-list { margin: 0; padding: 0; }
.icpo-workshops-list li { position: relative; padding-left: 36px; margin-bottom: 20px; line-height: 1.5; }
.icpo-workshops-list li .fa { position: absolute; left: 0; top: 1px; font-size: 22px; }
.icpo-workshops-closing { max-width: 900px; margin: 10px auto 40px; line-height: 1.75; }
.icpo-workshops-cta { padding: 36px 40px 40px; border-left: 3px solid var(--icpo-main, #33cb98); background-color: #f5f6f7 !important; }
.icpo-workshops-cta p { margin: 0 auto 24px; max-width: 820px; line-height: 1.55; color: #272727; }
.icpo-workshops-cta p strong { font-weight: 700; }
@media (max-width: 767px) {
	.dione-sec-workshops { padding-top: 90px; padding-bottom: 90px; }
	.icpo-workshops-head { padding-bottom: 40px !important; }
	.icpo-workshops-card { padding: 30px 20px 26px; }
	.icpo-workshops-list li { margin-bottom: 14px; }
	.icpo-workshops-cta { padding: 26px 18px 28px; }
}

/* ------------------------------------------------ Organisers (2.5.0) */
.icpo-organizers .icpo-org-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 30px var(--org-gap, 70px); }
.icpo-org { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; flex: 0 1 auto; min-width: 180px; max-width: calc(var(--org-w, 280px) + 60px); position: relative; }
.icpo-org-link { display: flex; flex-direction: column; align-items: center; color: inherit; text-decoration: none !important; }
.icpo-org-role { display: block; margin-bottom: 16px; font-size: var(--org-role, 11px); font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--org-role-c, var(--icpo-main, #33cb98)); }
.icpo-org-logo { display: flex; align-items: center; justify-content: center; height: var(--org-h, 90px); }
.icpo-org-logo img { max-height: 100%; max-width: var(--org-w, 280px); width: auto; height: auto; object-fit: contain; transition: filter .3s, opacity .3s, transform .3s; }
.icpo-org-link:hover .icpo-org-logo img { transform: scale(1.03); }
.icpo-org-name { display: block; margin-top: 14px; max-width: var(--org-w, 280px); font-size: var(--org-name, 14px); font-weight: 600; line-height: 1.5; color: var(--org-name-c, #3a3a3a); }
.icpo-org--upper .icpo-org-name { text-transform: uppercase; letter-spacing: 1.5px; }
.icpo-org-name.is-only { margin-top: 0; font-size: calc(var(--org-name, 14px) + 3px); font-weight: 700; }
.icpo-org-empty { width: min(var(--org-w, 280px), 220px); border: 2px dashed #d5d5d5; color: #999; font-size: 12px; padding: 0 12px; }
.icpo-org--gray .icpo-org-logo img { filter: grayscale(1); opacity: .75; }
.icpo-org--gray .icpo-org:hover .icpo-org-logo img { filter: none; opacity: 1; }
.icpo-org--divider .icpo-org + .icpo-org::before { content: ""; position: absolute; top: 10%; bottom: 10%; left: calc(var(--org-gap, 70px) / -2); border-left: 1px solid #e2e2e2; }
.icpo-org--box .icpo-org { background: #fff; border: 1px solid #ededed; border-radius: 3px; box-shadow: 0 5px 20px rgba(0, 0, 0, .06); padding: 28px 30px; }
@media (max-width: 767px) {
	.icpo-organizers .icpo-org-list { flex-direction: column; align-items: center; gap: 36px; }
	.icpo-org-logo { height: var(--org-h-m, 64px); }
	.icpo-org--divider .icpo-org + .icpo-org::before { left: 20%; right: 20%; top: -18px; bottom: auto; border-left: 0; border-top: 1px solid #e2e2e2; }
	.icpo-org { min-width: 0; width: 100%; }
}
/* Countdown set to "overlap the hero" but Organisers now sits between them: stack normally. */
.dione-sec-organizers + .dione-countdown-overlap { margin-top: 0; padding-top: 10px; }
.dione-sec-organizers + .dione-countdown-overlap .countdown { top: 0; }

/* ------------------------------------------ Partnerships / Sponsorships (2.7.0) */
.icpo-lg { display: flex; flex-direction: column; gap: var(--lg-gap, 60px); }
.icpo-lg-title { margin: 0 0 26px; text-align: center; font-size: var(--lg-title, 13px); font-weight: 700; line-height: 1.4; color: var(--lg-title-c, var(--icpo-main, #33cb98)); }
.icpo-lg--upper .icpo-lg-title { text-transform: uppercase; letter-spacing: 2px; }
.icpo-lg-t--lines .icpo-lg-title { display: flex; align-items: center; gap: 18px; }
.icpo-lg-t--lines .icpo-lg-title::before, .icpo-lg-t--lines .icpo-lg-title::after { content: ""; flex: 1; border-top: 1px solid #e3e3e3; }
.icpo-lg-t--heading .icpo-lg-title { color: var(--lg-title-c, #232323); font-size: calc(var(--lg-title, 13px) + 5px); }
.icpo-lg-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.icpo-lg-item {
	flex: 0 0 calc((100% - (var(--lg-cols, 5) - 1) * 20px) / var(--lg-cols, 5));
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 18px 16px; text-align: center; color: inherit; text-decoration: none !important; transition: box-shadow .25s, border-color .25s, transform .25s;
}
.icpo-lg--box .icpo-lg-item { background: #fff; border: 1px solid #ebebeb; border-radius: 3px; }
.icpo-lg--shadow .icpo-lg-item { background: #fff; border-radius: 3px; box-shadow: 0 4px 18px rgba(0, 0, 0, .07); }
.icpo-lg--box a.icpo-lg-item:hover { border-color: var(--icpo-main, #33cb98); }
.icpo-lg--shadow a.icpo-lg-item:hover { box-shadow: 0 8px 26px rgba(0, 0, 0, .12); transform: translateY(-2px); }
.icpo-lg--plain .icpo-lg-item { padding: 8px; }
.icpo-lg-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: var(--lg-h, 80px); }
.icpo-lg-logo img { max-height: 100%; max-width: min(100%, var(--lg-w, 220px)); width: auto; height: auto; object-fit: contain; transition: filter .3s, opacity .3s; }
.icpo-lg--gray .icpo-lg-logo img { filter: grayscale(1); opacity: .7; }
.icpo-lg--gray .icpo-lg-item:hover .icpo-lg-logo img { filter: none; opacity: 1; }
.icpo-lg-textlogo { font-weight: 700; font-size: 14px; letter-spacing: 1px; color: #3a3a3a; line-height: 1.4; }
.icpo-lg-name { display: block; margin-top: 10px; font-size: var(--lg-name, 12px); font-weight: 600; color: #555; line-height: 1.4; }
.icpo-lg-empty { border-style: dashed !important; border-color: #d8d8d8 !important; background: transparent !important; box-shadow: none !important; }
.icpo-lg-empty .icpo-lg-textlogo { color: #aaa; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; }
.icpo-lg--plain .icpo-lg-empty { border: 1px dashed #d8d8d8; }
.icpo-lg-cta { margin-top: 50px; }
@media (max-width: 991px) {
	.icpo-lg-item { flex-basis: calc((100% - (min(var(--lg-cols, 5), 4) - 1) * 20px) / min(var(--lg-cols, 5), 4)); }
}
@media (max-width: 767px) {
	.icpo-lg-grid { gap: 12px; }
	.icpo-lg-item { flex-basis: calc((100% - (var(--lg-mcols, 2) - 1) * 12px) / var(--lg-mcols, 2)); padding: 12px 10px; }
	.icpo-lg-logo { height: min(var(--lg-h, 80px), 70px); }
	.icpo-lg-t--lines .icpo-lg-title { gap: 10px; }
}
.dione-sec-partners, .dione-sec-sponsorship { padding-top: 120px; padding-bottom: 120px; }
@media (max-width: 767px) { .dione-sec-partners, .dione-sec-sponsorship { padding-top: 80px; padding-bottom: 80px; } }
