/*
 * ZOO markup of the reference (layouts L07–L10): the boxes with rounded frames, the 3-column item grid, the
 * teaser and full-item positions, the social buttons. Written from scratch on the computed styles of the
 * reference (Q25): the frames of the YOOtheme template are drawn with box.png sprites there and with CSS
 * borders and radii here (corner differences of a few pixels, explained in each QA). Loaded only on the ZOO
 * templates (inc/zoo.php).
 */

/* ---- Boxes: 1px frame #C8CBCD, white background, 10px strips top and bottom ------------------------ */

#yoo-zoo div.box-t1,
#yoo-zoo div.box-b1 {
	border: 1px solid #c8cbcd; /* transparent like the sprite of the reference; the page behind is white */
}

#yoo-zoo div.box-t1 {
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
}

#yoo-zoo div.box-b1 {
	border-top: 0;
	border-radius: 0 0 10px 10px;
}

#yoo-zoo div.box-t2,
#yoo-zoo div.box-b2 {
	padding: 0 10px;
}

#yoo-zoo div.box-t3,
#yoo-zoo div.box-b3 {
	height: 8px; /* 9px strips in the reference (box.png), here 1px border + 8px */
	background: var(--icf-color-white);
}

#yoo-zoo div.box-1 {
	border-left: 1px solid #c8cbcd;
	border-right: 1px solid #c8cbcd;
	background: var(--icf-color-white);
	overflow: hidden;
}

/* ---- ZOO reset (media/zoo/assets/css/reset.css) and the template rule for ZOO pages ---------------- */

/* Beats Bootstrap's .media-left { padding-right: 10px } and .row margins inside the ZOO markup, as on the reference. */
.yoo-zoo div {
	margin: 0;
	padding: 0;
}

.yoo-zoo p {
	margin: 10px 0 15px;
}

.yoo-zoo a:hover {
	text-decoration: underline; /* the ZOO reset underlines links on hover; the item titles override it below */
}

/* .com-zoo #sp-main-body of the template: every ZOO page keeps at least this height (short product pages). */
body.tpl-product-cat #sp-main-body,
body.tpl-product #sp-main-body,
body.tpl-news-cat #sp-main-body,
body.tpl-news #sp-main-body {
	min-height: 678px;
}

/* ---- Grid ------------------------------------------------------------------------------------------ */

#yoo-zoo .row,
#yoo-zoo .floatbox {
	overflow: hidden;
}

#yoo-zoo .row {
	margin-left: 0;
	margin-right: 0;
}

#yoo-zoo .width20 { float: left; width: 19.999%; }
#yoo-zoo .width25 { float: left; width: 24.999%; }
#yoo-zoo .width33 { float: left; width: 33.333%; }
#yoo-zoo .width50 { float: left; width: 49.999%; }

#yoo-zoo div.box-1 div.row {
	padding: 15px 5px;
	border-top: 1px solid #e6e7e8;
}

#yoo-zoo div.box-1 div.first-row {
	padding-top: 5px;
	border-top: none;
}

.yoo-zoo img {
	max-width: 100%;
	height: auto;
}

/* ---- Category details (title, description) --------------------------------------------------------- */

#yoo-zoo .details {
	margin: 0 0 20px;
}

#yoo-zoo .details div.box-1 {
	padding: 0 14px 4px;
}

#yoo-zoo .details h1.title {
	margin: 0 0 5px;
	font-size: 35px;
	font-weight: 400;
	line-height: 50px;
	letter-spacing: -1px;
	color: #505050;
}

#yoo-zoo .details div.description {
	overflow: hidden;
}

/* ---- Teasers ---------------------------------------------------------------------------------------- */

#yoo-zoo .items {
	position: relative;
}

#yoo-zoo .items div.teaser-item {
	padding: 0 10px;
	overflow: hidden;
}

#yoo-zoo .items div.media-left {
	margin-right: 15px;
	float: left;
}

#yoo-zoo .items div.media-right {
	margin-left: 15px;
	float: right;
}

#yoo-zoo .items div.media-center {
	text-align: center; /* the images stay block (template img rule), so they sit left as on the reference */
}

#yoo-zoo .items h2.pos-title {
	margin: 5px 0 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 16px;
}

#yoo-zoo .items h2.pos-title a {
	text-decoration: none;
}

#yoo-zoo .items div.pos-description .element {
	margin-top: 7px;
}

#yoo-zoo .items div.pos-description .element-textarea > * {
	margin: 0 0 7px;
}

#yoo-zoo .items div.pos-description .element-textarea *:last-child {
	margin-bottom: 0;
}

#yoo-zoo .items p.pos-links {
	margin: 7px 0 0;
}

#yoo-zoo .items p.pos-links span a:after {
	content: " »";
	font-size: 14px;
}

/* ---- Full item -------------------------------------------------------------------------------------- */

#yoo-zoo .item div.box-1 {
	padding: 4px 14px;
}

#yoo-zoo .item h3 {
	margin-top: 0;
	font-size: 21px;
	font-weight: 400;
	line-height: 18px; /* the ZOO reset keeps the 18px line-height under the template's 21px font size */
}

#yoo-zoo .item .element-textarea > * {
	margin: 0 0 10px;
}

#yoo-zoo .item .element-textarea *:last-child {
	margin-bottom: 0;
}

#yoo-zoo .item div.pos-top {
	margin-bottom: 20px;
	overflow: hidden;
}

#yoo-zoo .item div.pos-top .element {
	margin-bottom: 20px;
}

#yoo-zoo .item div.pos-top .element.last {
	margin-bottom: 0;
}

#yoo-zoo .item > div.floatbox {
	margin-bottom: 20px;
}

#yoo-zoo .item div.media-left {
	margin-right: 15px;
	float: left;
}

#yoo-zoo .item div.media-right {
	margin-left: 15px;
	float: right;
}

#yoo-zoo .item div.media-center {
	text-align: center;
}

#yoo-zoo .item div.pos-media .element {
	margin-bottom: 15px;
}

#yoo-zoo .item h1.pos-title {
	margin: 0;
	font-size: 21px;
	font-weight: 700;
	line-height: 32px;
	color: #505050;
}

#yoo-zoo .item div.pos-description .element {
	margin-top: 20px;
}

#yoo-zoo .item div.pos-bottom {
	overflow: hidden;
}

#yoo-zoo .item div.pos-bottom .element {
	margin-top: 20px;
}

/* ---- Social buttons (media/zoo/elements/socialbuttons) ----------------------------------------------- */

.yoo-zoo.socialbuttons {
	margin-top: 15px;
}

.yoo-zoo.socialbuttons > div {
	margin-right: 10px;
	float: left;
}

/* ---- Breakpoints of the ZOO template ---------------------------------------------------------------- */

@media (min-width: 480px) and (max-width: 959px) {
	#yoo-zoo .width20,
	#yoo-zoo .width25 {
		width: 50%;
	}

	#yoo-zoo .width50 .width50 {
		width: 100%;
	}
}

@media (max-width: 479px) {
	#yoo-zoo .width20,
	#yoo-zoo .width25,
	#yoo-zoo .width33,
	#yoo-zoo .width50 {
		width: 100%;
	}

	#yoo-zoo .details.alignment-left .image,
	#yoo-zoo .details.alignment-right .image {
		display: block;
		margin: 0 auto 10px;
		float: none;
	}

	#yoo-zoo .items div.media-left,
	#yoo-zoo .items div.media-right {
		margin: 0;
		float: none;
		text-align: center;
	}

	#yoo-zoo .item div.media-left,
	#yoo-zoo .item div.media-right {
		margin: 0 auto;
		float: none;
	}
}
