.guardafoto-tool,
.guardafoto-tool * {
	box-sizing: border-box;
}

.guardafoto-tool {
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	color: #1c1a17;
	font-family: inherit;
	margin: 1.5em 0;
	max-width: 760px;
	padding: 20px;
}

.guardafoto-tool .guardafoto-form {
	margin: 0;
}

.guardafoto-tool .guardafoto-label {
	display: block;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

.guardafoto-tool .guardafoto-controls {
	align-items: stretch;
	display: flex;
	gap: 10px;
}

.guardafoto-tool .guardafoto-input {
	background: #fff;
	border: 1px solid #a8a29e;
	border-radius: 6px;
	color: #1c1a17;
	flex: 1 1 auto;
	font: inherit;
	line-height: 1.4;
	margin: 0;
	min-width: 0;
	padding: 11px 12px;
	width: 100%;
}

.guardafoto-tool .guardafoto-input:focus {
	border-color: #1c1a17;
	outline: 3px solid rgba(255, 184, 0, 0.35);
	outline-offset: 1px;
}

.guardafoto-tool .guardafoto-button {
	background: #ffb800;
	border: 1px solid #1c1a17;
	border-radius: 6px;
	box-shadow: 2px 2px 0 #1c1a17;
	color: #1c1a17;
	cursor: pointer;
	flex: 0 0 auto;
	font: inherit;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	padding: 11px 18px;
}

.guardafoto-tool .guardafoto-button:hover,
.guardafoto-tool .guardafoto-button:focus {
	background: #ffc21a;
}

.guardafoto-tool .guardafoto-button:disabled,
.guardafoto-tool .guardafoto-input:disabled {
	cursor: wait;
	opacity: 0.65;
}

.guardafoto-tool .guardafoto-hint {
	color: #57534e;
	font-size: 0.92em;
	line-height: 1.5;
	margin: 10px 0 0;
}

.guardafoto-tool .guardafoto-status {
	background: #fff8db;
	border: 1px solid #e3c878;
	border-radius: 6px;
	line-height: 1.5;
	margin-top: 16px;
	padding: 10px 12px;
}

.guardafoto-tool .guardafoto-error {
	background: #fff1f2;
	border: 1px solid #fda4af;
	border-radius: 6px;
	color: #881337;
	line-height: 1.5;
	margin-top: 16px;
	padding: 10px 12px;
}

.guardafoto-tool .guardafoto-result {
	border-top: 1px solid #e7e5e4;
	margin-top: 20px;
	padding-top: 20px;
}

.guardafoto-tool .guardafoto-result-header {
	align-items: center;
	display: flex;
	gap: 16px;
}

.guardafoto-tool .guardafoto-preview {
	background: #f5f5f4;
	border: 1px solid #d6d3d1;
	border-radius: 6px;
	flex: 0 0 auto;
	height: 96px;
	object-fit: cover;
	width: 96px;
}

.guardafoto-tool .guardafoto-result-copy {
	min-width: 0;
}

.guardafoto-tool .guardafoto-name {
	font-size: 1.25em;
	line-height: 1.3;
	margin: 0 0 5px;
	overflow-wrap: anywhere;
}

.guardafoto-tool .guardafoto-meta {
	color: #57534e;
	line-height: 1.4;
	margin: 0;
}

.guardafoto-tool .guardafoto-table-wrap {
	margin-top: 16px;
	overflow-x: auto;
}

.guardafoto-tool .guardafoto-table {
	border-collapse: collapse;
	margin: 0;
	min-width: 480px;
	width: 100%;
}

.guardafoto-tool .guardafoto-table th,
.guardafoto-tool .guardafoto-table td {
	border-bottom: 1px solid #e7e5e4;
	line-height: 1.4;
	padding: 10px 8px;
	text-align: left;
	vertical-align: middle;
}

.guardafoto-tool .guardafoto-table th {
	font-size: 0.88em;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.guardafoto-tool .guardafoto-size {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.guardafoto-tool .guardafoto-download {
	background: #1c1a17;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	line-height: 1.3;
	padding: 7px 11px;
	text-decoration: none;
	white-space: nowrap;
}

.guardafoto-tool .guardafoto-download:hover,
.guardafoto-tool .guardafoto-download:focus {
	background: #33302a;
	color: #fff;
	text-decoration: none;
}

.guardafoto-tool .guardafoto-videos {
	margin-top: 18px;
}

.guardafoto-tool .guardafoto-videos-title {
	font-size: 1.05em;
	line-height: 1.3;
	margin: 0;
}

@media (max-width: 560px) {
	.guardafoto-tool {
		padding: 16px;
	}

	.guardafoto-tool .guardafoto-controls,
	.guardafoto-tool .guardafoto-result-header {
		align-items: stretch;
		flex-direction: column;
	}

	.guardafoto-tool .guardafoto-button {
		width: 100%;
	}

	.guardafoto-tool .guardafoto-preview {
		height: auto;
		max-height: 220px;
		width: 100%;
	}
}
