/* ==========================================================================
   Padmira Cargo — section blocks (padmira/*) and section-style pages
   Loaded only where section blocks are present.
   ========================================================================== */

.entry-content--full > * { margin-block: 0; }

.pc-section { padding-block: clamp(2rem, 1.4rem + 2.4vw, 3.5rem); padding-inline: var(--pc-gutter); }
.pc-section--surface { background: var(--pc-surface); }
.pc-section__inner { max-width: var(--pc-container); margin-inline: auto; }

/* Section title with dotted rules */
.pc-section__title,
.is-style-pc-divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 2rem !important;
	color: var(--pc-heading);
	font-size: clamp(1.15rem, 1rem + .8vw, 1.6rem);
	text-align: center;
}

.pc-section__title::before,
.pc-section__title::after,
.is-style-pc-divider::before,
.is-style-pc-divider::after { content: ""; flex: 1; min-width: 1.5rem; border-top: 4px dotted var(--pc-primary); opacity: .55; }

.pc-button { margin-top: .25rem; }

/* Hero slider ------------------------------------------------------------ */

.pc-hero { position: relative; background: var(--pc-page-bg); }

.pc-slider-wrap { position: relative; }

.pc-slider {
	display: flex;
	overflow-x: auto;
	background: var(--pc-page-bg);
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.pc-slider::-webkit-scrollbar { display: none; }

.pc-slide {
	display: grid;
	flex: 0 0 100%;
	place-items: center;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: var(--pc-page-bg);
	scroll-snap-align: start;
}
.pc-slide > a,
.pc-slide picture { display: block; width: 100%; }
.pc-slide img { display: block; width: 100%; height: auto; object-fit: contain; background: var(--pc-page-bg); }

.pc-slider__btn {
	position: absolute;
	top: 50%;
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--pc-primary);
	box-shadow: var(--pc-shadow);
	transform: translateY(-50%);
	cursor: pointer;
}

.pc-slider__btn--prev { inset-inline-start: 1rem; }
.pc-slider__btn--next { inset-inline-end: 1rem; }

@media (min-width: 768px) { .pc-slider__btn { display: grid; } }

.pc-slider__dots { position: absolute; inset-block-end: .5rem; inset-inline: 0; display: flex; justify-content: center; gap: .1rem; }
.pc-slider__dots button { position: relative; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.pc-slider__dots button::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: rgba(255, 255, 255, .7); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.pc-slider__dots button[aria-current="true"]::before { background: var(--pc-primary); }

/* Intro (why Padmira) ---------------------------------------------------- */

.pc-why__grid { display: grid; gap: 2rem 3.5rem; align-items: center; }

@media (min-width: 900px) {
	.pc-why__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
	.pc-why__grid--single { grid-template-columns: minmax(0, 1fr); }
}

.pc-why__title { margin-bottom: .5rem; font-size: clamp(1.4rem, 1.1rem + 1.3vw, 2.1rem); }
.pc-why__title mark { background: none; color: var(--pc-sky); }
.pc-why__subtitle { margin: 0 0 1rem; color: var(--pc-primary); font-size: clamp(1.1rem, 1rem + .6vw, 1.45rem); font-weight: 700; line-height: 1.6; }
.pc-why__text p { text-align: justify; }

.pc-features { display: grid; gap: 1rem 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.5rem 0 0; padding: 0; list-style: none; }
@media (min-width: 1200px) { .pc-features { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.pc-feature { display: flex; align-items: center; gap: .75rem; color: var(--pc-navy); font-weight: 700; line-height: 1.6; }
.pc-feature img { flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }

.pc-why__media img { width: 100%; height: auto; border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); }

/* Countries -------------------------------------------------------------- */

.pc-country {
	display: grid;
	gap: 1.5rem 2.5rem;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	background: #fff;
	border-radius: var(--pc-radius-lg);
	box-shadow: var(--pc-shadow);
}

@media (min-width: 768px) {
	.pc-country { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.pc-country--reverse { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
	.pc-country--reverse .pc-country__media { order: 2; }
	.pc-country--no-media { grid-template-columns: minmax(0, 1fr); }
}

.pc-country__media img { width: 100%; height: auto; border-radius: var(--pc-radius); }
.pc-country__title { margin: 0 0 .5rem; color: var(--pc-primary); font-size: 1.3rem; }
.pc-country__text p { text-align: justify; }

.pc-cities { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; padding: 0; list-style: none; }
.pc-cities li { padding: .3rem .95rem; border-radius: var(--pc-radius); background: var(--pc-primary); color: #fff; font-size: .9rem; }

.pc-flags { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2rem 0 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .pc-flags { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.pc-flag { background: #fff; border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); text-align: center; }
.pc-flag > a, .pc-flag { color: var(--pc-heading); }
.pc-flag > a { display: block; height: 100%; text-decoration: none; }
.pc-flag > a, .pc-flag:not(:has(> a)) { padding: 1rem .5rem; }
.pc-flag img { display: block; width: 64px; height: 64px; margin: 0 auto .5rem; border-radius: 50%; object-fit: cover; }
.pc-flag span { display: block; font-size: .85rem; font-weight: 700; line-height: 1.6; }

/* Services --------------------------------------------------------------- */

.pc-services { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .pc-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pc-services { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pc-service {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.5rem 1.25rem;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius-lg);
	text-align: center;
	transition: box-shadow .2s, transform .2s;
}

.pc-service:hover { box-shadow: var(--pc-shadow); transform: translateY(-3px); }
.pc-service__icon img { width: 72px; height: 72px; margin-bottom: .75rem; object-fit: contain; }
.pc-service__title { margin: 0 0 .5rem; color: var(--pc-primary-dark); font-size: 1.1rem; }
.pc-service__text { flex: 1; font-size: .9rem; text-align: justify; }

/* Banner ----------------------------------------------------------------- */

.pc-banner { position: relative; isolation: isolate; overflow: hidden; padding: clamp(1.5rem, 1rem + 3vw, 3rem); border-radius: var(--pc-radius-lg); background: var(--pc-primary-dark); }
.pc-banner__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pc-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1, 83, 165, .92), rgba(11, 69, 127, .82)); }
.pc-banner__text, .pc-banner__text * { color: #fff; }
.pc-banner__text p { margin: 0 0 .75rem; line-height: 2.1; text-align: justify; }
.pc-banner__text p:last-child { margin-bottom: 0; }
.pc-banner__text a { text-decoration: underline; }

/* Videos ----------------------------------------------------------------- */

.pc-videos { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .pc-videos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pc-video { margin: 0; }
.pc-video video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: contain; background: #0b1c33; border-radius: var(--pc-radius-lg); }
.pc-video figcaption { margin-top: .4rem; font-size: .85rem; text-align: center; }

/* Process + FAQ ---------------------------------------------------------- */

.pc-process__text p { text-align: justify; }
.pc-process__text h3 { color: var(--pc-primary); }
.pc-accordion { margin-top: 1.25rem; }

.pc-details__body { padding: .85rem 1rem; }
.pc-details__body p:last-child { margin-bottom: 0; }

.pc-faq-layout__grid { display: grid; gap: 2rem 3rem; align-items: center; }
@media (min-width: 900px) {
	.pc-faq-layout__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
	.pc-faq-layout__grid--single { grid-template-columns: minmax(0, 1fr); }
}
.pc-faq-media img { width: 100%; height: auto; border-radius: var(--pc-radius-lg); }

/* Latest posts ----------------------------------------------------------- */

.pc-latest-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pc-more { margin: 1.75rem 0 0; text-align: center; }

/* Query Loop listings (e.g. /blog-2/) ----------------------------------- */

.pc-latest .wp-block-post-template { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 0; padding: 0; list-style: none; }
.pc-latest .wp-block-post { display: flex; flex-direction: column; margin: 0; overflow: hidden; background: #fff; border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); }
.pc-latest .wp-block-post-featured-image { margin: 0; }
.pc-latest .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; }
.pc-latest .wp-block-post-date { padding: .75rem 1rem 0; color: var(--pc-muted); font-size: .8rem; }
.pc-latest .wp-block-post-title { margin: .25rem 0 .5rem; padding: 0 1rem; font-size: 1rem; line-height: 1.7; }
.pc-latest .wp-block-post-title a { color: var(--pc-heading); text-decoration: none; }
.pc-latest .wp-block-read-more { margin-top: auto; padding: 0 1rem 1rem; font-size: .9rem; font-weight: 700; text-decoration: none; }
.pc-latest .wp-block-query-pagination { margin-top: 2rem; gap: .4rem; }
