/*
 * Corpus A Draudimas – Joomla template
 * Colours, fonts and proportions taken from the original abrokeris.lt CSS
 * (css.css, main.css, about.css, service.css, contact.css …):
 *   page background #F4F4F4, text #414341, Verdana / Tahoma
 *   blue #006699 (ssub, menu), green #0a8707 (csub, "plačiau"), orange #E17700 (dsub, side titles)
 *   sidebar #E3E2E2, divider #878586, active menu #DAD8D8, copyright #a4a4a4
 * Original 760px table → fluid, max 1100px; 255+250 | 5 | 250 → main | divider | sidebar.
 */

:root {
	--ca-bg: #F4F4F4;
	--ca-page: #FFFFFF;
	--ca-text: #414341;
	--ca-blue: #006699;
	--ca-green: #0a8707;
	--ca-orange: #E17700;
	--ca-side: #E3E2E2;
	--ca-line: #878586;
	--ca-active: #DAD8D8;
	--ca-muted: #8a8a8a;
	--ca-font: Verdana, Geneva, "DejaVu Sans", sans-serif;
	--ca-font-menu: Tahoma, Verdana, Geneva, "DejaVu Sans", sans-serif;
	--ca-max: 1100px;
	--ca-gap: 24px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--ca-bg);
	color: var(--ca-text);
	font: 15px/1.65 var(--ca-font);
}

img { max-width: 100%; height: auto; border: 0; }

a { color: var(--ca-blue); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--ca-orange); outline-offset: 2px; }

.ca-blue { color: var(--ca-blue); }
.ca-green { color: var(--ca-green); }
.ca-orange { color: var(--ca-orange); }

.ca-skip { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 100; }
.ca-skip:focus { left: 8px; }

/* ------------------------------------------------------------------ page */
.ca-page {
	max-width: var(--ca-max);
	margin: 0 auto;
	background: var(--ca-page);
	box-shadow: 0 0 0 1px #e6e6e6, 0 6px 30px rgba(0, 0, 0, .05);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* ---------------------------------------------------------------- header */
.ca-header {
	position: relative;
	padding: 18px var(--ca-gap) 0;
	border-bottom: 2px solid var(--ca-line);
}
.ca-header__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 14px;
}
.ca-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none !important; }
.ca-logo img { height: 80px; width: auto; }
.ca-logo__mark {
	display: inline-grid; place-items: center;
	width: 52px; height: 52px;
	border-radius: 6px;
	background: var(--ca-blue);
	color: #fff;
	font: bold 30px/1 var(--ca-font-menu);
	box-shadow: inset -6px -6px 0 rgba(0,0,0,.08);
	position: relative;
}
.ca-logo__mark::after {
	content: ""; position: absolute; right: -5px; bottom: -5px;
	width: 16px; height: 16px; border-radius: 3px; background: var(--ca-orange);
}
.ca-logo__text { display: flex; flex-direction: column; line-height: 1.15; }
.ca-logo__name { font: bold 24px/1.1 var(--ca-font-menu); letter-spacing: -.3px; }
.ca-logo__tag { font-size: 11px; color: var(--ca-muted); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 4px; }

.ca-header__contacts { display: flex; gap: 18px; font: bold 13px var(--ca-font-menu); }
.ca-header__contacts a { color: var(--ca-text); }
.ca-header__contacts a:first-child { color: var(--ca-orange); font-size: 15px; }

/* Menu – original: bold 9pt Tahoma #006699, hover black, active cell #DAD8D8 */
.ca-nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.ca-nav-button { display: none; }

.ca-menu ul { list-style: none; margin: 0; padding: 0; }
.ca-menu > ul,
.ca-menu .mod-menu {
	display: flex;
	flex-wrap: wrap;
}
.ca-menu li { position: relative; }
.ca-menu a,
.ca-menu .mod-menu__heading,
.ca-menu .nav-header {
	display: block;
	padding: 11px 16px 11px 26px;
	color: var(--ca-blue);
	font: bold 13px/1.2 var(--ca-font-menu);
	text-transform: uppercase;
	letter-spacing: .3px;
	text-decoration: none;
	position: relative;
}
/* original menu marker: small green square arrow (meniu_n.png) */
.ca-menu .mod-menu > li > a::before,
.ca-menu .mod-menu > li > span::before {
	content: "";
	position: absolute;
	left: 9px; top: 50%;
	width: 11px; height: 11px;
	margin-top: -5px;
	background: url("../images/ui/more-green.png") no-repeat;
}
.ca-menu a:hover { color: #000; text-decoration: none; }
.ca-menu li.active > a,
.ca-menu li.current > a { background: var(--ca-active); color: #000; }

/* drop-down */
.ca-menu .mod-menu ul {
	position: absolute;
	left: 0; top: 100%;
	min-width: 270px;
	background: #fff;
	border: 1px solid var(--ca-side);
	border-top: 3px solid var(--ca-orange);
	box-shadow: 0 10px 24px rgba(0,0,0,.08);
	display: none;
	z-index: 40;
}
.ca-menu .mod-menu li:hover > ul,
.ca-menu .mod-menu li:focus-within > ul { display: block; }
.ca-menu .mod-menu ul a { text-transform: none; font-weight: normal; padding: 9px 16px; letter-spacing: 0; }
.ca-menu .mod-menu ul a::before { display: none; }
.ca-menu .mod-menu ul li + li { border-top: 1px solid #efefef; }

/* ----------------------------------------------------------------- tiles */
/* Original: three 250px columns, gradient title bar + 250x160 photo with a 2px coloured frame.
   Gradients sampled from the original strips: green #0ea10b→#054c01, orange #f9cf0a→#f98e09, teal #017a99→#012a33 */
.ca-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding: 8px;
	background: var(--ca-page);
}
.ca-tile { display: flex; flex-direction: column; color: #fff; text-decoration: none !important; overflow: hidden; }
.ca-tile__head {
	display: flex; align-items: center; gap: 12px;
	padding: 11px 14px;
	font: 18px/1.2 var(--ca-font);
	text-transform: uppercase;
	letter-spacing: .5px;
	text-shadow: 0 1px 1px rgba(0,0,0,.25);
}
.ca-tile__head strong { font-weight: bold; }
.ca-tile__arrow { flex: none; }
.ca-tile--green .ca-tile__head { background: linear-gradient(90deg, #0ea10b, #0f850b 50%, #054c01); }
.ca-tile--orange .ca-tile__head { background: linear-gradient(90deg, #f9cf0a, #f9b911 50%, #f98e09); }
.ca-tile--teal .ca-tile__head { background: linear-gradient(90deg, #017a99, #055f75 50%, #012a33); }

.ca-tile__body {
	position: relative;
	display: flex; flex-direction: column; justify-content: flex-end;
	aspect-ratio: 250 / 160;
	max-height: 260px;
	padding: 12px 14px;
	background-size: cover;
	background-position: center;
	border: 2px solid;
	border-top: 0;
	transition: filter .2s ease;
}
.ca-tile--green .ca-tile__body { border-color: #0f850b; }
.ca-tile--orange .ca-tile__body { border-color: #f9b911; }
.ca-tile--teal .ca-tile__body { border-color: #055f75; }
.ca-tile__body::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.45));
}
.ca-tile__text, .ca-tile__more { position: relative; }
.ca-tile__text { font-size: 13px; line-height: 1.45; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.ca-tile__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font: bold 12px var(--ca-font); text-transform: uppercase; letter-spacing: .5px; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.ca-tile:hover .ca-tile__body { filter: brightness(1.08) saturate(1.05); }
.ca-tile:hover .ca-tile__more { text-decoration: underline; }

/* ---------------------------------------------------------------- banner */
/* "Sveiki atvykę į Corpus A draudimas" + team photo (left column of the original front page) */
.ca-banner {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	margin: 0 8px;
	padding: 18px 22px;
	background: linear-gradient(90deg, #f4f4f4, #fff);
	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
}
.ca-banner__box { max-width: 620px; border-left: 5px solid var(--ca-green); padding-left: 18px; }
.ca-banner__title { margin: 0; font: bold 22px/1.3 var(--ca-font); text-transform: uppercase; color: var(--ca-text); }
.ca-banner__text { margin: 6px 0 0; font-size: 14px; }
.ca-banner__photo { width: 330px; max-width: 40%; height: auto; border: 1px solid #ddd; box-shadow: 0 4px 14px rgba(0,0,0,.08); }

/* ----------------------------------------------------------- breadcrumbs */
.ca-breadcrumbs { padding: 10px var(--ca-gap); background: #fafafa; border-bottom: 1px solid #ececec; font-size: 12px; }
.ca-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.ca-breadcrumbs li + li::before { content: "»"; color: var(--ca-orange); margin-right: 4px; }
.ca-breadcrumbs .icon-location, .ca-breadcrumbs .divider { display: none; }

/* ------------------------------------------------------------------ body */
.ca-body { display: grid; grid-template-columns: 1fr; flex: 1; }
.has-sidebar .ca-body { grid-template-columns: minmax(0, 1fr) 5px 300px; }
.has-sidebar .ca-body::before {
	/* the 5px #878586 vertical divider (td.vertical) */
	content: ""; grid-column: 2; grid-row: 1; background: var(--ca-line);
}
.ca-main { padding: 22px var(--ca-gap) 40px; min-width: 0; grid-column: 1; grid-row: 1; }
.ca-side {
	grid-column: 3; grid-row: 1;
	background: var(--ca-side);
	padding: 18px 18px 30px;
	font-size: 13px;
}

/* headings: like div#title (bold, uppercase) + coloured subtitles */
.ca-main h1, .ca-main .page-header h1, .ca-main .page-header h2 {
	font: bold 22px/1.3 var(--ca-font);
	color: var(--ca-blue);
	text-transform: uppercase;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--ca-side);
}
.ca-main .page-header { margin: 0; }
.ca-main h2 { font: bold 18px/1.35 var(--ca-font); color: var(--ca-green); margin: 26px 0 8px; }
.ca-main h3 { font: bold 15px/1.4 var(--ca-font); color: var(--ca-orange); margin: 20px 0 6px; }
.ca-main p { margin: 0 0 12px; text-align: justify; }
.ca-main .lead { font-size: 16px; color: #2f312f; }
.ca-main ul, .ca-main ol { padding-left: 22px; }
.ca-main li { margin-bottom: 4px; }
.ca-main hr { border: 0; border-top: 1px dotted var(--ca-line); margin: 26px 0; }
.ca-main table { border-collapse: collapse; width: 100%; font-size: 13px; margin-bottom: 14px; }
.ca-main td, .ca-main th { border: 1px solid var(--ca-side); padding: 7px 10px; vertical-align: top; text-align: left; }
.ca-main tr:nth-child(odd) td { background: #f8f8f8; }

/* "PLAČIAU »" links – div#more: green, hover orange */
.ca-more { text-align: right; font-size: 12px; font-weight: bold; text-transform: uppercase; }
.ca-more a, a.ca-more { color: var(--ca-green); }
.ca-more a:hover, a.ca-more:hover { color: var(--ca-orange); }

/* orange square bullets */
.ca-list { list-style: none; padding-left: 0 !important; }
.ca-list li { position: relative; padding-left: 18px; }
.ca-list li::before {
	content: ""; position: absolute; left: 2px; top: .62em;
	width: 7px; height: 7px; background: var(--ca-orange); transform: rotate(45deg);
}

/* two columns (front page: 255px + 250px in the original) */
.ca-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ca-cols > div > h2:first-child { margin-top: 0; }
.ca-cols p, .ca-side p, .ca-box p { text-align: left; }

/* service link groups – div#url: orange label, blue links */
.ca-url { margin-bottom: 10px; }
.ca-url strong { display: block; color: var(--ca-orange); font-size: 12px; text-transform: uppercase; }
.ca-url a { display: inline-block; margin-right: 10px; }

/* photos in articles (original site images) */
.ca-photo { float: right; margin: 4px 0 14px 20px; border: 1px solid #ddd; padding: 3px; background: #fff; max-width: 45%; }
.ca-photo--wide { float: none; display: block; margin: 0 0 16px; max-width: 100%; }

/* partner logos */
.ca-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 10px 0 24px; padding: 0; list-style: none; }
.ca-logos li { display: grid; place-items: center; height: 96px; background: #fff; border: 1px solid var(--ca-side); padding: 10px; margin: 0; }
.ca-logos img { max-height: 70px; width: auto; filter: grayscale(.2); transition: filter .2s; }
.ca-logos li:hover img { filter: none; }

/* in-page navigation (old anchors kept) */
.ca-toc { background: #f6f6f6; border-left: 4px solid var(--ca-orange); padding: 10px 14px; font-size: 13px; margin-bottom: 18px; }

/* info box / call to action */
.ca-box { background: #f6f6f6; border: 1px solid var(--ca-side); padding: 16px 18px; margin: 18px 0; }
.ca-cta { background: var(--ca-blue); color: #fff; padding: 18px 20px; margin-top: 28px; display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ca-cta p { margin: 0; text-align: left; }
.ca-cta strong { font-size: 16px; }
.ca-cta a.ca-btn { background: var(--ca-orange); color: #fff; padding: 10px 18px; font: bold 13px var(--ca-font-menu); text-transform: uppercase; white-space: nowrap; }
.ca-cta a.ca-btn:hover { background: #c96a00; text-decoration: none; }

details { border: 1px solid var(--ca-side); padding: 9px 13px; margin: 8px 0; background: #fbfbfb; }
details summary { cursor: pointer; font-weight: bold; color: var(--ca-blue); }
details[open] summary { margin-bottom: 6px; }

/* Joomla article / blog chrome */
.ca-main .article-info, .ca-main dl.article-info { font-size: 11px; color: var(--ca-muted); margin: 0 0 8px; }
.ca-main .article-info dd { margin: 0; display: inline; }
.ca-main .blog-item { padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px dotted var(--ca-line); }
.ca-main .blog-item h2 { margin-top: 0; }
.ca-main .readmore a, .ca-main .readmore .btn { color: var(--ca-green); font-weight: bold; font-size: 12px; text-transform: uppercase; }
.ca-main .pagination { display: flex; gap: 6px; list-style: none; padding: 0; }
.ca-main .pagination .page-link { display: block; padding: 4px 10px; border: 1px solid var(--ca-side); }
.ca-main .pagination .active .page-link { background: var(--ca-blue); color: #fff; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.icon-calendar, .icon-eye, .icon-user, .icon-folder-open, .icon-chevron-right, .icon-location { display: none; }

/* ------------------------------------------------------------- sidebar */
/* td.side: titles orange bold, links #006699 */
.ca-side .moduletable + .moduletable { margin-top: 24px; }
.ca-side h3 {
	margin: 0 0 10px;
	font: bold 13px var(--ca-font-menu);
	color: var(--ca-orange);
	text-transform: uppercase;
	letter-spacing: .4px;
	padding-bottom: 6px;
	border-bottom: 1px solid #cfcdcd;
}
.ca-side ul { list-style: none; margin: 0; padding: 0; }
.ca-side li { padding: 5px 0 5px 14px; position: relative; border-bottom: 1px dotted #cbc9c9; }
.ca-side li::before { content: "»"; position: absolute; left: 0; color: var(--ca-orange); }
.ca-side li.current > a, .ca-side li.active > a { font-weight: bold; color: #000; }
.ca-side p { margin: 0 0 8px; }
.ca-side .mod-articles-items, .ca-side .mod-articleslatest { list-style: none; }

/* ---------------------------------------------------------- contact page */
.com-contact .contact-form, .ca-main .contact-form { background: #f7f7f7; border: 1px solid var(--ca-side); padding: 18px; margin-top: 18px; }
.ca-main fieldset { border: 0; padding: 0; margin: 0; }
.ca-main legend { font: bold 15px var(--ca-font); color: var(--ca-orange); margin-bottom: 10px; }
.ca-main .control-group { margin-bottom: 12px; }
.ca-main .control-label label, .ca-main label { display: block; font-size: 12px; font-weight: bold; margin-bottom: 4px; }
.ca-main input[type="text"], .ca-main input[type="email"], .ca-main input[type="tel"], .ca-main textarea, .ca-main select, .ca-main .form-control {
	width: 100%; max-width: 560px;
	padding: 8px 10px;
	font: 14px var(--ca-font);
	color: var(--ca-text);
	border: 1px dotted var(--ca-line);   /* the old textarea had a dotted border */
	background: #fff;
}
.ca-main textarea { min-height: 140px; }
.ca-main input:focus, .ca-main textarea:focus { outline: none; border: 1px solid var(--ca-blue); }
.ca-main .form-check { display: flex; gap: 8px; align-items: flex-start; }
.ca-main .form-check label { font-weight: normal; }
.ca-main .btn, .ca-main button[type="submit"] {
	cursor: pointer; border: 0;
	background: var(--ca-blue); color: #fff;
	padding: 10px 20px;
	font: bold 13px var(--ca-font-menu); text-transform: uppercase;
}
.ca-main .btn:hover, .ca-main button[type="submit"]:hover { background: var(--ca-orange); }
.ca-main .contact-address, .ca-main .com-contact__address { list-style: none; padding: 0; }
.ca-main .contact .page-header h2 { display: none; }
.ca-main .contact-address { display: grid; grid-template-columns: max-content 1fr; gap: 2px 14px; margin: 0 0 10px; }
.ca-main .contact-address dt { grid-column: 1; color: var(--ca-orange); font-weight: bold; font-size: 12px; text-transform: uppercase; padding-top: 3px; }
.ca-main .contact-address dt [class^="icon-"] { display: none; }
.ca-main .contact-address dt .visually-hidden { position: static !important; width: auto; height: auto; clip: auto; overflow: visible; }
.ca-main .contact-address dd { grid-column: 2; margin: 0; }
.ca-main .com-contact__container > h3:first-child { margin-top: 0; }
.ca-map iframe { width: 100%; height: 340px; border: 0; display: block; }
.ca-main .moduletable > h2 { margin-top: 28px; }
.ca-main .star { color: var(--ca-orange); }

/* system messages */
#system-message-container joomla-alert, .alert { display: block; padding: 12px 16px; margin-bottom: 16px; border-left: 4px solid var(--ca-blue); background: #eef6fa; }
.alert-success, joomla-alert[type="success"] { border-color: var(--ca-green) !important; background: #eef8ee !important; }
.alert-danger, .alert-error, joomla-alert[type="danger"] { border-color: #c0392b !important; background: #fdeeee !important; }

/* ---------------------------------------------------------------- footer */
/* td.line (2px #878586) + td.copy (#E3E2E2) + div#copyright (9px #a4a4a4) */
.ca-footer { border-top: 2px solid var(--ca-line); background: var(--ca-side); padding: 14px var(--ca-gap) 16px; font-size: 12px; text-align: center; }
.ca-footer__modules ul { list-style: none; margin: 0 0 8px; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 18px; }
.ca-footer__modules a { color: var(--ca-blue); font-family: var(--ca-font-menu); font-weight: bold; text-transform: uppercase; font-size: 11px; }
.ca-footer__info { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; color: #6d6d6d; }
.ca-footer__info a { color: #6d6d6d; }
.ca-footer__copy { margin-top: 6px; color: #9a9a9a; font-size: 11px; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 900px) {
	.has-sidebar .ca-body { grid-template-columns: 1fr; }
	.has-sidebar .ca-body::before { display: none; }
	.ca-side { grid-column: 1; grid-row: 2; border-top: 5px solid var(--ca-line); }
	.ca-cols { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	:root { --ca-gap: 16px; }
	body { font-size: 15px; }
	.ca-header { padding-top: 12px; }
	.ca-header__contacts { width: 100%; justify-content: flex-start; }
	.ca-logo__name { font-size: 20px; }

	.ca-nav-button {
		display: flex; align-items: center; gap: 10px;
		width: 100%;
		padding: 12px 0;
		border-top: 1px solid #ececec;
		cursor: pointer;
		font: bold 13px var(--ca-font-menu);
		text-transform: uppercase;
		color: var(--ca-blue);
	}
	.ca-burger, .ca-burger::before, .ca-burger::after {
		display: block; width: 20px; height: 2px; background: var(--ca-blue); position: relative; content: "";
	}
	.ca-burger::before { position: absolute; top: -6px; }
	.ca-burger::after { position: absolute; top: 6px; }
	.ca-menu { display: none; padding-bottom: 8px; }
	.ca-nav-toggle:checked ~ .ca-menu { display: block; }
	.ca-nav-toggle:focus-visible + .ca-nav-button { outline: 2px solid var(--ca-orange); }
	.ca-menu .mod-menu { flex-direction: column; }
	.ca-menu .mod-menu ul { position: static; display: block; box-shadow: none; border: 0; min-width: 0; padding-left: 18px; }
	.ca-menu .mod-menu ul li + li { border: 0; }

	.ca-tiles { grid-template-columns: 1fr; }
	.ca-tile__body { max-height: none; }
	.ca-banner { flex-direction: column; align-items: stretch; padding: 16px; }
	.ca-banner__photo { width: 100%; max-width: none; }
	.ca-banner__title { font-size: 18px; }
	.ca-logo img { height: 60px; }
	.ca-photo { float: none !important; margin: 0 0 14px !important; }
	.ca-main p { text-align: left; }
}

@media print {
	.ca-menu, .ca-nav-button, .ca-side, .ca-tiles, .ca-banner { display: none !important; }
	.ca-page { box-shadow: none; max-width: none; }
}
.ca-main .ca-logos { padding-left: 0; }

/* news sources list */
.ca-main p.ca-sources { margin: 22px 0 4px; font-size: 12px; color: var(--ca-muted); text-align: left; }
.ca-main ul.ca-sources { font-size: 12px; padding-left: 18px; margin: 0; }
.ca-main ul.ca-sources a { color: var(--ca-muted); }
.ca-main ul.ca-sources a:hover { color: var(--ca-blue); }

/* blog: "Read more" as a plain green link, hide "Details" label, tidy pagination */
.ca-main .readmore .btn, .ca-main .readmore a.btn {
	background: none !important; padding: 0; border: 0;
	color: var(--ca-green); font: bold 12px var(--ca-font); text-transform: uppercase;
}
.ca-main .readmore .btn:hover { color: var(--ca-orange); background: none !important; text-decoration: underline; }
.ca-main .readmore .btn [class^="icon-"] { display: none; }
.ca-main .readmore .btn::after { content: " »"; }
.ca-main .article-info-term { display: none; }
.ca-main .pagination .page-item.disabled { display: none; }
.ca-main .pagination [class^="icon-"] { display: none; }
